跨站攻防实训靶场学习笔记
level 1
刚开始还不知道要干什么,索性看了一下大佬的博客,发现貌似只要让它弹窗就行了,于是构造payload:
/?name=<script>alert('hello');</script>,然后就跳转到第二关了
level 2
这次多了一个输入框,于是测试一下回显位置
从源码中看到,只要将前后的尖括号闭合就行,中间就可以插入执行语句,于是构造
"><script>alert("xss");</script><"
搜索一下,就跳转到第三关了
还有一种方法,就是添加点击事件插入js代码来完成
构造参数为" onclick="alert("xss") 然后点击提交,不过不会立刻弹出,需要点击一下输入框,才会自动弹出
level 3
这题看起来和上题一样,但是用上题的方法已经不行了,查看源代码发现
它将双引号变成了单引号,进行了过滤,于是同理,只要把上题的双引号改成单引号就好了
' onmouseover='alert(/xss/)
然后鼠标滑过输入框,就成功了
或者也可以用上一题的方法' onclick='alert(/xss/) 但不能用'>闭合的那种方法,因为这题将<>转义了
level 4
我没看到和level2有什么不一样的,要不就是直接去掉了<>,但是对添加事件没有影响,因此倒是多了几种解法
1." onclick="alert(/xss/)
2." onmouseover="alert(/xss/)
3." onfocus="alert(/xss/)
level 5
尝试了几个上面的方法,发现过滤了on和script,但是没过滤尖括号,于是通过构造xss标签,如
"><a href="javascript:alert(/xss/)">xss</a>
得到
点击xss,就成功了
level 6
这次除了过滤了on,script外,还过滤了href,但是竟然可以使用大小写绕过
于是我试了试前面几关,发现前几关使用大小写过滤竟然行不通,笑死
ONclick,ONmouseover,ONfocus或者SCRipt都可,这关主要考察的就是大小写过滤
level 7
这题直接将on,script,href替换成空白了,但是没关系,可以使用拼接过滤
oonnclick, oonnmouseover, oonnfocus, scrscriptipt, hrhrefef都可以
level 8
这关把上面能用的都过滤了一遍,但这题关键在于它是以一个链接的形式出现的,源码里是将你输入的东西插入了一个链接标签中,可以直接用
但是发现它将script过滤了,大小写又不行,只好先进行unicode编码一下
javascript:alert(/xss/)
emmmm,但是前几题就不行
level 9
如果像上题一样,源码中就会显示
这关是要匹配http头,加上//注释符以免报错
javascript:alert(/xss/)//http://
本文来自博客园,作者:Athena-ydy,转载请注明原文链接:https://www.cnblogs.com/Athena-ydy/p/15252317.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效