Web安全分享 -公开版

2,717 views

Published on

http://piao2010.com

Published in: Technology, Design
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,717
On SlideShare
0
From Embeds
0
Number of Embeds
880
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Web安全分享 -公开版

  1. 1. Web Security 分享<br />--- XSS CSRF篇<br />整理:飘零<br />源于:Internet<br />
  2. 2. 目录<br />Web 1.0安全相关简介<br />Web 2.0安全简介<br />攻击对象<br />XSS<br />CSRF<br />Demo :网易博客Worm<br />
  3. 3. WEB1.0下的渗透测试<br />通过web服务器漏洞直接溢出得到cmdshell<br />iis60day.bin –t www.microsoft.com –p 80<br />通过web应用程序传统漏洞得到webshell<br />传统漏洞是指作用于web服务端语言的漏洞:上传、sql注射、文件包含等。<br />phpwind0day.php –t www.phpwind.com –p 80<br />主要特点<br />属于服务端攻击,攻击效果“直截了当”,还是目前主流的渗透测试方式,但是寻找漏洞成本越来越高,安全产品的应用使利用越来越困难!<br />
  4. 4. 关于WEB 2.0<br />Web2.0一种相对概念,提倡的是高亲和力的交互应用,主体是用户之间用户与网站之间的互动。<br />Web2.0的核心注重的不仅是技术,而更注重的设计思想。<br />AJAX技术的诞生标着web进入2.0时代,也是其核心技术<br />web2.0更注重互动的设计思想 如博客、wiki、sns网络等诞生<br />
  5. 5. 攻击的对象<br />与WEB1.0相比,WEB2.0渗透是针对客户端的攻击。<br />包括网站用户,网站的管理员,网站的运维、安全人员,还包括和你一样的“渗透者”。<br />
  6. 6. 主要的攻击方式—XSS<br />XSS在web1.0诞生,在web2.0时代出名。<br />1996年就有人提到了这类攻击。[Jeremiah Grossman说的]<br /> 1999年David Ross和GeorgiGuninski提出“Script injection”。<br />2000年apache官方一篇文档里正式取名“Cross Site Scripting”。<br />2005年samy worm诞生,标志着XSS进入web2.0时代,xss火了!<br />2007年出版的《XSS Attacks Book》提出:“XSS is the New Buffer Overflow, JavaScript Malware is the new shell code” <br />
  7. 7. 主要的攻击方式—XSS/CSS<br />XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。<br />它指的是恶意攻击者往Web页面里插入恶意html/js代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。<br />XSS属于被动式的攻击,因为其被动且不好利用,所以在web1.0时代一直未被重视,web2.0时代许多开发人员依然忽略其危害性。<br />
  8. 8. XSS漏洞的分类<br />1、本地利用 <br />2、反射式<br />3、存储式<br />
  9. 9. 主要的攻击方式—XSS/CSS<br />Demo <br />http://www.baixing.com/wo/myinfo/?query=%3Cscript%3Ealert(/xss/)%3C/script%3E&src=null<br />http://demo.piao2010.com/xss/demo.php?name=piaoling<script>alert(/xss/);</script><br />http://demo.piao2010.com/xss/demo.php?name=piaoling<script>window.location.href="http://taobao.com"</script><br />跳转到淘宝网<br />如果情况相反又如何?<br />From taobao.com to evil site 造成的危害是巨大的<br />
  10. 10. 主要的攻击方式—XSS/CSS<br />XSS的利用:<br />web1.0时代:弹筐[alert()]+收集cookie[document.cookie]<br /> web2.0时代:xss worm<br />这也是目前xss的主流利用!<br />XSS =/= 弹筐+收集cookie+worm<br />xss本质是在于执行脚本[javascript/html等],而一个javascript就足够让你黑遍这个世界!!!<br />
  11. 11. 主要的攻击方式—XSS/CSS<br />
  12. 12. 防御XSS/CSS<br />过滤(转义)一切有害字符,包括但不仅限于:< #&>” ‘<br />http://demo.piao2010.com/xss/demo2.php?name=piaoling%3Cscript%3Ealert(/xss/);%3C/script%3E<br />PHP htmlspecialchars函数<br />The translations performed are: <br />'&' (ampersand) becomes '&amp;' <br />'"' (double quote) becomes '&quot;' when ENT_NOQUOTES is not set. <br />''' (single quote) becomes ''' only when ENT_QUOTES is set. <br />'<' (less than) becomes '&lt;' <br />'>' (greater than) becomes '&gt;' <br />
  13. 13. 防御XSS/CSS<br />与其不断更新黑名单不如采用白名单,限定允许输入的字符。XSS Cheat Sheet<br />不仅在输入的时候要过滤,在输出(比如模板引擎)的时候还要进行一次过滤,防止二次XSS<br />任何输入都是有害的,包括http头里的cookie Referer等等<br />
  14. 14. 主要的攻击方式--CSRF<br />CSRF---Cross Site Request Forgery<br />又名XSRF<br />诞生于2000年,火于2007/2008年。<br /> 得益于XSS的光芒,及几大web2.0的应用 如gmail的CSRF漏洞。<br />直译为:“跨站请求伪造”。 CSRF的定义是强迫受害者的浏览器向一个易受攻击的Web应用程序发送请求,最后达到攻击者所需要的操作行为。<br />详见 80sec的 CSRF攻击原理解析<br />
  15. 15. 主要的攻击方式--CSRF<br />CSRF 攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在并未授权的情况下执行在权限保护之下的操作。<br />网站是通过cookie来识别用户的,当用户成功进行身份验证之后浏览器就会得到一个标识其身份的cookie,只要不关闭浏览器或者退出登录,以后访问这个网站会带上这个cookie。如果这期间浏览器被人控制着请求了这个网站的url,可能就会执行一些用户不想做的功能(比如修改个人资料)。因为这个不是用户真正想发出的请求,这就是所谓的请求伪造;因为这些请求也是可以从第三方网站提交的,所以前缀跨站二字。 <br />
  16. 16. 主要的攻击方式--CSRF<br />举个简单的例子,某个bbs可以贴图,在贴图的URL中写入退出登陆的链接,当用户阅读这个帖子之后就会logout了,因为用户以自己的身份访问了退出登陆链接,在用户看来是帖子里面有一张有问题的“图片”,而不是想要退出,但程序就会认为是用户要求退出登陆而销毁其会话。<br />这就是传说中的CSRF攻击了。<br />
  17. 17. 攻击成功后的效果<br />劫取你的隐私网站的普通用户<br />如常见的取得你ID、密码、cookie、联系等<br />劫取你的权限网站管理人员<br />如网站的后台,进一步通过后台得到网站的权限等<br />劫取你的系统所有用户<br />如利用浏览器的漏洞,或者通过跨协议利用你系统上其他服务的漏洞得到你的系统权限,或者取得本地系统上文件的读写能力等<br />劫取你的“内网” 公司成员,这个又因在内网的身份不同而不同,如分开发测试员、运维人员、内部网络管理人员、安全测试人员等等。<br />
  18. 18. 防御CSRF<br />验证 HTTP Referer字段<br />(成本最低,意义不大,直接构造http头绕过)<br />在请求地址中添加 token 并验证<br />(成本中等,效果不错。But !如果存在xss仍然悲剧)<br />在 HTTP 头中自定义属性并验证<br />(代码重构,代价过高)<br />
  19. 19. Demo<br />XSS + CSRF 网易博客worm的设计和实现<br />(详见我的博客http://www.piao2010.com)<br />典型的存储型XSS配合CSRF<br />编写思路:利用XSS引入JS文件(取得已登录用户的cookie),编码蠕虫核心文件(利用CSRF给用户添加一个自定义模块并植传播代码)从而让访问被感染页面的用户(已登录且开通了博客功能的访客)在不知情的情况下自动添加一个感染模块,从而实现一传十,十传百,蠕虫才能不断传播开来。<br />
  20. 20. Demo<br />
  21. 21. Demo<br />
  22. 22. Demo<br />
  23. 23. Demo<br />
  24. 24. Demo<br />
  25. 25. 近期热点问题<br />IE两大罪状:MHTML跨域,编码自动识别引发的安全漏洞<br />IE下MHTML协议带来的跨域危害<br />Hacking with mhtml protocol handler<br />utf7-BOM string injection<br />
  26. 26. 后续省略N张PPT,前面那张PPT里的链接应该够大家看好一会了。哈哈<br />
  27. 27. 总结<br />任何输入输出都是有害的<br />没有绝对的安全(0day,新的攻击方法层出不穷 know it then hack it)<br />安全是一种意识,黑客是一种精神<br />
  28. 28. 网站推荐<br />http://www.80sec.com/<br />http://ha.ckers.org/xss.html<br />http://www.wooyun.org/<br />http://www.procheckup.com/vulnerability_manager/<br />http://secunia.com/<br />And so on <br />Google reader<br />
  29. 29. 欢迎交流<br />E-mail: piao2010@gmail.com<br />Blog: http://piao2010.com<br />Twitter: piao_2010 http://t.sina.com.cn/1850637684<br />

×