xss-labs 11~20
level-11
同第十关一样,页面上只有一个显示位,再看看源码:
可以看到有隐藏表单,比第十关多了一个t_ref的<input>
标签。
而且t_ref的value值为上一关的地址链接值。那么我们可以通过抓包修改这个值来攻击,将referer内容修改为:
" type="text" onclick="alert(1)
成功插入,然后触发即可:
看源码:
$_SERVER[‘HTTP_REFERER’]: 得到链接到当前页面的前一页面的地址。
可以看到将我们前页面的地址进行了去<、>处理后插入到了t_ref中。t_sort接收的值进行了**htmlspecialchars()**处理。
level-12
先看看页面源码:
多了一个名字为t_ua的<input>
标签,而其value值看起来很像User-Agent头,而上一关是要抓包修改referer,所以我们可以联想到还是要burp抓包改包,先看看:
可以看到其value值确实为数据包中的User-Agent头的值。让我们修改它:
来看看后端源码:
可以看到, s t r 与 str与 str与str00分别接收了keyword和t_sort的值并将其用**htmlspecialchars()**函数处理后分别拼接到<h2>
和名字为t_sort的<input>
标签处。
$str11接收了请求中的User-Agent头的值,后去掉了其中的<、>后插入到了名字为t_ua的<input>
标签中,所以我们从这里入手。