那些不寻常的XSS场景小总结

本文最后更新于 2024年10月22日 晚上

前言:挖掘xss漏洞时,我们常常关注的是搜索框,留言板,url参数等等。其实以下的场景有时也可以考虑测试一下,往往会有意想不到的收获……

登录时的警告信息

  1. 登录时,我尝试输入万能密码SQL注入,用户名:admin ‘ or 1=1 – +,密码:随意

image

  1. 结果出现了安全警告信息!前端返回了我输入的有恶意语句的用户名,那么显然这里就是一个可控点,尝试能不能XSS

image

  1. 用户名输入payload,密码随意,结果成功弹窗!
1
<script>alert("Hacked")</script>' or 1=1 -- +

image

文件名

上传文件时,当文件名被渲染到前端来,也可以试试文件名中插入js代码,看看能否执行

HTML

这想必已经是老生常谈了,文件上传时,如果可以上传html,那么就可以直接实现挂黑页,存储型XSS

SVG

矢量图svg中也可以插入js代码并执行

  1. 记事本写入,保存为 .svg
1
2
3
4
5
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" >
<script>alert('XSS')</script>
</svg>
  1. 成功执行js代码

image

PDF

pdfw文件中也可以插入js代码并执行。我习惯使用 adobe acrobat Pro DC 制作包含js代码的PDF文件

  1. 创建空白页面

image

  1. 选择javascript

image

  1. 选择文档级javascript,点击添加,输入”app.alert(‘XSS’);”,确定

image

  1. ctrl+s 保存为.pdf文件,本地打开,成功弹窗!

image

XML

xml中也可以插入js代码并执行

1
2
3
4
5
6
7
<html>
<head></head>
<body>
<something:script xmlns:something="http://www.w3.org/1999/xhtml"> alert('XSS');
</something:script>
</body>
</html>