存储型XSS的成因及挖掘方法USERID:Gainover(g_@live.com)GROUP:PKAVGroup2012-7-28www.pkav.net|www.wooyun.org|www.toolmao.com什么是XSS攻击?个人资料信息填写发表一篇日志发表一篇留言发表一篇评论提出一个问题回答一个问题…..地址栏参数Dom属性攻击者注入恶意代码输入过滤输出过滤输入输出代码缺陷查看他人资料查看一篇日志查看一条留言查看一个评论查看一个问题查看一个答案点开一个链接点开一个邮件……恶意代码执行受害者XSS模型当受害者变为攻击者时,下一轮受害者将更容易被攻击,威力更加明显!用户信息私密信息:日志,相片,邮件管理信息后台地址,管理员帐号信息甚至直接通过Ajax上传Shell客户端信息针对浏览器缺陷实施攻击突破浏览器的域限制360,傲游等浏览器的命令执行XSSXss蠕虫攻击DDoS攻击XSS攻击可以用来做什么?XSS的种类划分反射型XSSReflectedXSS存储型XSSStoredXSS恶意代码存放位置地址栏数据库恶意代码效果用户点击恶意链接打开时执行恶意代码,隐蔽性差http://www.wooyun.org用户浏览带有恶意代码的"正常页面"时触发,隐蔽性强http://pkav.netABCD12Non-persistentPersistent反射型XSSXSSFilter扫描器WAF产品但是危害越来越小….但是容易被扫….但是容易被干掉……XSS攻击的现状存储型XSS广泛存在存储型XSS的分类输出内容输出未过滤HTML-ContextJS-ContextCss-Context输出已过滤Dom-Based操作evalinnerHTMLsetTimeoutsetIntervaldocument.write根据输出内容所处的位置来分类。经常需要二次过滤,但程序员忽略掉了。会自动发生一些转义Flash-basedXSS其它/HTML文件HTML-Context存储型XSS及防御wooyun-2010-07831(random_)百度某分站存储型XSS恶意代码的输入恶意代码的输出恶意代码的执行<,>替换为<>判断存在<,>,禁止提交JS-Context存储型XSS及其防御wooyun-2010-09111(gainover)点点网存储型XSSJS-Context存储型XSS的利用方式:1.闭合当前脚本,然后输入自定义内容。2.根据JS上下文,构造正确的闭合。过滤<,>,/替换为’+’script>(网易邮箱)根据实际情况,进行过滤。通常输出是字符串,在’和"之间,过滤’,"即可wooyun-2010-02321(Clouds)百度贴吧存储型XSSJS-Context存储型XSS及其防御和