攻略第十关后稍作休整,我们继续来看第十一关:
和上一关一样,提供给我们的仅有的参数是URL中的keyword,很明显,这个参数是无法利用的,我们查看页面源代码发现依然是有一个隐藏表单的存在,但是,我们发现表单中多了一个参数t_ref
即
<form id="search">
<input name="t_link" value="" type="hidden">
<input name="t_history" value="" type="hidden">
<input name="t_sort" value="" type="hidden">
<input name="t_ref" value="http://bc.mzfxshs.top/xss/level10.php?t_sort=%22onblur=%22alert(/xss/)%22%20type=%22text%22//" type="hidden">
</form>
我们发现t_ref参数似乎获取了上一关的URL,在不知道php源代码的前提下,我们可以大胆猜测一下网页的请求头中可能包含上一个网页的URL,让我们用Burp抓个包看一下:
果然,我们发现它的请求头中有一个参数Referer,它用来传入我们上一个页面的url,如果我们将其中的url换成我们构造好的payload,我们是不是就可以成功执行代码了呢?我们来试验一下:
注意:如果我们没有上一个界面,也就是第十一关的网页是你打开的第一个页面或者新建的页面,此时抓到的请求头中不含有Referer参数,此时我们只需要用Burp在请求中手动添加一个Referer参数即可
首先,我们利用前面学习的知识,构建一段payload:"οnblur="alert(/xss/)" type="text"//
接下来我们来重写请求:将请求发送到重写器中
接下来进入重写器进行编辑:
我们将方框中的URL修改为我们构造好的payload
修改好后我们按照图中的步骤将请求发送至浏览器:
我们点击复制按钮,复制这段URL,然后粘贴到浏览器打开,我们会发现我们的代码被成功执行了!
该关的难度较大,主要考察了我们对源代码的分析和合理的猜测,以及对burp等抓包工具的熟练使用。
大家在看到一些看似奇怪的参数时一定要小心再小心,突破口可能就在其中!!!
我们下一关再见!!!
标签:xss,请求,URL,labs,level11,参数,源代码,我们,页面 From: https://blog.csdn.net/godfish44/article/details/142307273