01-脚本攻击分类
其余web文章参考:web学习目录
XSS
XSS漏洞的验证
可以使用一段简单的代码, 验证和检测漏洞的存在, 这样的代码叫做POC(Proof of Concept)
alert(/xss/); 告警
confirm('xss'); 确定
prompt('xss');提示
<script>alert(/xss/);</script>
<script>confirm(/xss/);</script>
<script>confirm('xss');</script>
<script>prompt('xss');</script>
反射型XSS
还是以cms为例,在搜索框里输入的东西都会在页面显示,尝试输入一级标题,字体会变大变粗,说明<h1>
被浏览器执行
但是输入<h1>
不显示,可以在网站源代码看到,说明<h1>
被浏览器当做代码执行
可以出入JS代码<script>alert(/xss/)</script>
效果如下图所示
http://192.168.2.133/cms/search.php?keywords=%3Cscript%3Econfirm%28%2Fxss%2F%29%3C%2Fscript%3E&button=%E6%90%9C%E7%B4%A2
观察网页的URL注意到反射型XSS的代码出现在keywords参数中
反射型XSS容易被发现,利用难度高,很多漏洞平台不收XSS漏洞
存储型XSS
持久性跨站脚本。持久性体现在XSS 代码不是在某个参数(变量)中,而是写进数据库或文件等可以永久保存数据的介质中。存储型XSS 通常 发生在留言板等地方。可以在留言板位置进行留言,将恶意代码写进数据库中。危害面比较广,漏洞提交平台会接收此类漏洞。
留言只有管理员可以看到,如果管理员没有进行验证,直接通过留言
那么,这个XSS的告警,在每个用户进去后台留言的时候都能看到,只能由管理员进去后台删除该条留言
DOM型XSS
DOM型XSS属于反射型XSS
DOM文件下载链接:链接: https://pan.baidu.com/s/1lBU9Qu04qHOH_FCtI3w2DQ?pwd=cmgw 提取码: cmgw
先把DOM文件放在www
目录下,访问以下路径:
http://192.168.2.133/xss_Test/xssTest/DOM-XSS/
这时候查看网页源代码
- 意思是将一个变量a赋值为url,为a解码,将message=后面的内容写入到dom树中
<html>
<head>
<title>DOM-XSS</title>
<meta charset="utf-8">
</head>
<body>
<script>
var a = document.URL;
a = unescape(a);
document.write(a.substring(a.indexOf("message=")+8,a.length));
</script>
</body>
</html>
//indexof和substring的意思参考06-03JavaScript基础
- 通过浏览器访问该页面,由于message还没有赋值,结果将会以文本形式输出
- 修改参数为
message=<script>alert(/xss/)</script>
- 通过右键查看网页源代码,发现源代码并没有message=相关的代码
<html>
<head>
<title>DOM-XSS</title>
<meta charset="utf-8">
</head>
<body>
<script>
var a = document.URL;
a = unescape(a);
document.write(a.substring(a.indexOf("message=")+8,a.length));
</script>
</body>
</html>
- 通过F12审查网页元素,发现这里多了弹窗相关内容
- 这时候如果把url的问号拼接符换成#号,#在mysql中是注释,在URL中是锚点,锚点后面的内容是不会传递给服务器的,这也使得DOM型XSS难以检测
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码