什么是xss
XSS 攻击:全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)
的缩写混淆,故将跨站脚本攻击缩写为 XSS,XSS 是一种在 web 应用中的计算
机安全漏洞,它允许恶意 web 用户将代码植入到 web 网站里面,供给其它用户
访问,当用户访问到有恶意代码的网页就会产生 xss 攻击。
xss的攻击危害
1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马
7、控制受害者机器向其它网站发起攻击
xss的漏洞类型
反射型 XSS:
指应用程序通过 Web 请求获取不可信赖的数据,并在未检验数据是否存在恶意代码的情况下,将其发送给用户。反射型 XSS 一般可以由攻击者构造带有恶意代码参数的 URL 来实现,在构造的URL 地址被打开后,其中包含的恶意代码参数被浏览器解析和执行。这种攻击的特点是非持久化,必须用户点击包含恶意代码参数的链接时才会触发。
怎么检测存在反射性XSS:
一般是想办法让浏览器弹窗(alert) 最经典的弹窗语句,一般证明XSS是否存在,就是在正常页面传参然后构建参数让他弹窗就是存在XSS了。
存储性XSS:
持久化,代码是存储在服务器中的数据库里,如在个人信息或发表文章等地方,可以插入代码,如果插入的数据没有过滤或过滤不严,那么这些恶
意代码没有经过过滤将储存到数据库中,用户访问该页面的时候,没有进行编码
过滤输出到浏览器上,就会触发代码执行,造成 xss 攻击。
如何挖掘存储性XSS:
在有数据与管理员交互的地方,比如留言板等,可以尝试输入<a>123</a>提交留言,F12打开审查元素,来看我们输入的标签是否被过滤了,如果没有就上传成功了,每个测试点都可以尝试。
DOM型XSS:
DOM全称为文档对象模型,与反射型存储型xss的不同之处在于其不会经过服务端的处理,而是经过JavaScript dom的渲染构造完dom树后,浏览器解析时才会被js的解析引擎解析执行。
绕过waf的常用语句
<svg onload=alert(1)>
<a href=javascript:alert(1)>
<IMG SRC=javascript:alert('xss')>
<IMG SRC=JaVaScRiPt:alert('XSS')>
<IMG SRC="jav ascript:alert('XSS')">
xss 防御
对输入(和 URL 参数)进行过滤,对输出进行编码。
也就是对提交的所有内容进行过滤,对 url 中的参数进行过滤,过滤掉会导致脚
本执行的相关内容;然后对动态输出到页面的内容进行 html 编码,使脚本无法
在浏览器中执行。
原文始发于微信公众号(0到1渗透测试):一文学会常见xss漏洞利用
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论