我们试试看输入以下代码
<script>alert('xss')</script>
从界面上看确实只有一个输出点 但是不要被事物的表面所蒙蔽 我们的去更深层的源代码部分详究
从源代码层面上去看输出点 也只有一个输出点 不会吧 判断失误啦
应该不会 因为我从源代码看到了三个表单标签 而且还是设置隐藏属性的 我们得去判断以下哪个表单会回显输入
为了测试哪个表单能够回显输入 我们应该构造如下代码
t_link=" type="text&t_history=" type="text&t_sort=" type="text
但是记住你只写了三对键值对 你没有为keyword写对应的参数值 所以应该补上去 即
<script>alert('xss')</script>&t_link=" type="text&t_history=" type="text&t_sort=" type="text
界面出现了一个表单 但不知是谁的表单 只能说明一件事 那就是三个表单中只有一个能够将输入值插入到value属性中 从源代码上看 那个表单就是name为t_sort的表单
那么我们就可以将payload注入到刚才构造的代码之中 作为t_sort的一个属性 那么就构造如下
<script>alert('xss')</script>&t_sort=" type="text" onclick="alert('xss')
成功回弹 嗨嗨!!
去看看后台服务器代码
他将我们提交的参数中的keyword参数值赋值给str变量 然后将所提交的参数中的t_sort参数值赋值给了str11变量 然后将str11经过几次的替换操作 得到最终的str33变量 然后将str插入到第一个输出点 将str33插入到第二个输出点
版权声明:本文为m0_71299382原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。