0x00分析
测试过程中要注意GET请求与POST请求的不同,注意传入参数方式,其他部分与GET请求部分基本相同
0x01 LOW
源码:
没有进行过滤,随便测试一下
firstname输入
<script>alert(1)</script>
Last name随意输入
外连接:Last name随意输入,First name输入
<a href="http://www.baidu.com">111</a>
点击111即可完成跳转
0x02 Medium
源码:
函数中将<>替换为了字符实体,利用url编码绕过即可。此时不同于GET请求,POST请求的数据不会在url地址栏显示,也就是省略了一次的url转码过程,所以此时在输入框中输入一次url编码的结果即可。
First name输入:
%3Ca%20href%3Dwww.baidu.com%3E111%3C%2Fa%3E
Last name随意输入,之后点击111 即可实现跳转。
0x03 High
源码:
htmlspecialchars() 函数把特殊字符转换为 HTML 实体。这意味着 < 和 > 之类的 HTML 字符会被替换为 < 和 > 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用。 此时无法再进行HTML注入。