XSS 不鸽的话可能会有
Posted gh-d
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS 不鸽的话可能会有相关的知识,希望对你有一定的参考价值。
xss
非持久型xss攻击:非持久型xss攻击是一次性的,仅对当次的页面访问产生影响。非持久型xss攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户游览器执行,从而达到攻击目的。
持久型xss攻击:持久型xss,会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在。
反射型、存储型、DOM型
常用测试代码:
onmouseover="alert(xss);"
<script>alert(xss);</script>
<a href="javascript:alert(xss);">xss</a>
<img onerror="alert(xss);" src=>
主要原理:闭合标签,构造恶意代码
输入用户可构造,比如搜索框,评论留言区,注册名字,联系方式等,同时页面里经常会有hidden属性的input,这时直接burp抓包改就可以了,隐藏属性不好点击,可用以下代码 不同浏览器实现的快捷键方式不同,并且可能和其它快捷方式冲突
accesskey="X" onclick="alert(xss)"
DOM XSS是在浏览器的解析中改变页面DOM树,且恶意代码并不在返回页面源码中回显
页面跳转通过JS跳转,使用location.href、location.replace()、location.assign(),可以通过javascript伪协议执行JS脚本
DOM XSS输入点
Location |
当前网页的URL地址 |
window.name |
当前网页 tab 的名字,它被不同的网站赋值,也就是说这个网页为window.name 赋值后再跳转到其它网站,window.name 的值依然不变 |
document.title |
是当前网页的标题,可以在搜索框输入控制它的内容 |
document.referer |
表示来路,表示从哪个网页URL访问过来的 |
postMessage |
是html5 的一种跨域机制,但很多时候开发者没有正确的做来源检测,会导致 DOM XSS 的发生 |
location |
它触发 JS 通常是以跳转到 JS URI 的方式执行 |
eval |
是JS 内置的动态JS执行器 |
innerHTML |
能为一个网页元素赋值 |
document.write |
可以输出一个页面流 |
Function |
能通过函数生成一个函数,可以传入动态JS代码 |
setTimeout |
会延时执行JS代码 |
setInterval |
表示循环执行 JS 代码 |
xss编码绕过
有时网站对输入字符进行了过滤,此时可以通过编码来进行绕过
原理:URL 请求时会对百分号等 URL 的编码方式进行转码;浏览器接收到页面数据后,会对 HTML 实体编码进行转码;执行 JS 时会对 JSUnicode 等 JS 支持的方式进行转码。
url编码 %+16进制数字 https://www.w3school.com.cn/tags/html_ref_urlencode.html
url base64编码 data:text/html;base64,PHNjcmlwdD5hbGVydCgveHNzLyk7PC9zY3JpcHQ+
html编码 '&' + '约定名称' + ';' 的形式,其实还有 '&#' + '十进制数字' + ';' 和 '&#x' + '十六进制数字' + ';' 十进制和十六进制后面的;可以省略
JS Unicode 编码
规则是 '\u' + '四位十六进制数字'
jsfuck https://www.bugku.com/tools/jsfuck/
在script标签钟插入一个空格或者是tab
<script >alert(1)</script>
<script >alert(1)</script>
也可以对tab,换行,回车进行编码来绕过
<script	>alert(1)</script>
<script
>alert(1)</script>
<script
>alert(1)</script>
对标签进行大小写
<ScRipT>alert(1)</sCriPt>
插入null字节,在xss payload的任何地方插入null字节,有时候可以绕过filter
<%00script>alert(1)</script>
<script>al%00ert(1)</script>
对于ie版本小于10的 html属性支持反引号` 可用其来闭合双引号,从而绕过htmlspecialchars()
参考来源:https://www.jianshu.com/p/13f0b9a15e46
以上是关于XSS 不鸽的话可能会有的主要内容,如果未能解决你的问题,请参考以下文章