Low
先点个Select,静观其变
-
点击select以后url地址中多出来一个default=参数,尝试这个注入点。
- 输入payload <script>alert(1)</script> 并提交
Medium
1、先尝试<script>alert(1)</script>,并提交
-
这里不难看出,<script>已经被检测并替代了,所以不能够直接使用
-
我们来查看源代码,从这里可以看到它的代码结构,接下来我们可以尝试闭合
2、尝试闭合标签
- default=886</option></select><a href='javascript:alert(1)'>hahaha</a>
- 这里的 886</option></select>:这一段只是完成闭合 886 可以任意替换
- 前面完成闭合后,这个相当于另起一个标签 <a href='javascript:alert(1)'>hahaha</a>
- 效果如下,可以看到 a 标签已经逃出来了
- 单击 hahaha 通关
High
1、这里屁都放不进去,输入什么,都会被强制替换成这四个选项。应该是数据在服务器后台已经被系写死了4个选项。
思路——我们在向服务器传输数据的时候,不把前端的payload传向服务器。
使用 # 进行分割,将html语句留在前端。
2、所以payload这样写—— default=English"#<script>alert(1)</script>