赞
踩
目录
跨站脚本攻击,英文全称(Cross-Site Scripting),缩写为CSS(因为层叠样式表Cascading Style Sheets,缩写为CSS),所以就改为XSS了。
它也是代码注入的一种,XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
由于服务器对用户提交的数据过滤不严,导致用户将恶意Script代码插入到Web页面的HTML代码中,并被浏览器当成了JS代码并返回给客户端执行,进而实现对了客户端的攻击
(注:XSS跨站漏洞利用不仅仅限于JavaScript语言,还包括flash等其它的脚本语言)
现代网站为了提高用户体验往往会包含大量的动态内容,即Web应用程序根据用户环境和需要来输出相应的内容。
经常遭受跨站脚本攻击的典型应用有:邮件、论坛、即时通信、留言板、社交平台等。
浏览器URL地址中提交了参数的地方
留言、提交表单、订单……
1、成功在web页面中插入恶意代码
2、被插入的恶意代码能够被浏览器成功执行并返回给用户
3、等待或欺骗用户去访问含有XSS漏洞的页面
窃取cookies
读取用户未公开的资料
模拟GET、POST请求操作用户的浏览器。使用JavaScript模拟浏览器发包
钓鱼、挂马
通过CSS,来发现用户曾经访问过的网站
劫持浏览器会话,达到执行任意操作,如非法转账、发送电子邮件等
进行大量的客户端攻击,如DDoS攻击
获取用户电脑的真实IP
重定向页面
获取键盘记录
第一步:先判断是否可能存在XSS漏洞
就是进行上传一些特殊的数据字符等,查看是否上传成功(即检测是否存在过滤机制)
如果没有过滤机制,则说明可能存在XSS漏洞
第二步:构造漏洞利于语句
视情况而定,根据不同的XSS分类,进行区别对待
按漏洞成因:
分为反射型、存储型、DOM型。
输出点的不同:
输出在HTML属性中、输出在CSS代码中、输出在JavaScript中
是否存储在服务器中:反射型XSS、存储型XSS
第三类:DOM型XSS(基于DOM树)
3.2、反射型XSS(非持久型):
3.3、存储型XSS(持久型):
3.4、DOM型XSS:
【XSS跨站脚本】DOM型XSShttps://blog.csdn.net/qq_53079406/article/details/126486385?spm=1001.2014.3001.5501
4.1、输出在HTML标签中
XSS攻击Payload输出在HTML属性中时,攻击者需要在闭合相应的HTML属性后注入新
属性,或者在闭合标签后直接注入新标签eg:输入:" οnclick="alert(/xxs/)
原型:<input name="user" value="{{ your input }}"/>
输出:<input name="user" value="" οnclick="alert(/xss/)"/>
eg:输入:"><script>alert(/xss/)</script>
直接闭合input标签,注入新的script标签
输出:<input name="user" value=""><script>alert(/xss/)</script>"/>
4.2、输出在CSS代码中
XSS攻击Payload输出在CSS代码中时,攻击者需要闭合相应的CSS代码
eg:输入:#000; background-image: url('javascript:alert(/xss/)')
闭合前面的color属性,注入background-image属性
原型:
<style type="text/css">
body {
color: {{ your input }};
}
</style>
输出:
<style type="text/css">
body {
color: #000; background-image: url('javascript:alert(/xss/)');
}
</style>
4.3、输出在Javascript代码中
XSS攻击Payload输出在Javascript代码中时,攻击者需要闭合相应的Javascript代
码eg:输入:'+alert(/xss/)+'
闭合前面的单引号,注入攻击代码
原型:
<script>
var name='{{ your input }}';
</script>
输出:
<script>
var name=''+alert(/xss/)+'';
</script>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。