ASP代码审计之xss漏洞攻击

CracerCracer 2016-1-4 代码审计 670 0 2

 

概述:Cross-site scripting(XSS),是一种经常出现在Web应用中的计算机安全漏洞,它允许恶意Web用户将代码植入到提供给其它用户使用的页面中。比如,包括HTML代码和客户端脚本的页面。为不和层叠样式表(CSS)的缩写混淆,通常将跨站脚本缩写为XSS。攻击者一般会利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)或发起phishing攻击,网页挂马,cookie窃取等。Xss跨站攻击分为两种,一种反射型攻击,还有一种存储型攻击。反射型攻击和源码审计关系不大,在此略过,重点介绍下存储型攻击。

漏洞原理:存储型攻击就是将恶意代码通过交互页面植入数据库中,当管理员访问到调用恶意代码的页面时,攻击变产生了。例如在某系统留言反馈栏目中留言内容表单未经过安全处理,客户端可以任意提交恶意代码,导致了XSS跨站漏洞。

漏洞代码:

1
<% Content = "" For i = 1 To Request.Form("Content").Count Content = Content & Request.Form("Content")(i) Next ………… //省略部分代码 rs("Guest_ZIP")=HTMLEncode(Guest_ZIP) rs("Guest_TEL")=HTMLEncode(Guest_TEL) rs("Guest_FAX")=HTMLEncode(Guest_FAX) rs("Content")=Content rs.Update %>

上述代码中Request.Form方法获取的content值没有经过安全处理,造成可以XSS存储型攻击。

漏洞利用:

1

攻击者在留言内容框中输入上述代码后,当后台管理员查看了此条留言,则跨站攻击生效,这时候将管理员的COOKIES信息发送到 xxx域名下保存起来。cookies.asp文件功能是生成个文件保存管理员的COOKIES信息,代码如下:

2

漏洞修复:将“< ’ ” >”标签进行HTML编码。

转载请注明来自Cracer,本文标题:《ASP代码审计之xss漏洞攻击》

喜欢 (2) 发布评论
发表评论


Top