靶场地址:http://www.whalwl.top:8033
解题准备:本题需要破解验证码,php和python脚本均可
解题思路:
1、注册,登录,出现两个链接
两个都点开看看,第一个是更新资料页面,尝试XSS弹窗
发现输入的代码原样显示,并没有起作用,此页面没有源代码,只能查看元素
发现一对可疑元素<textarea></textarea>包括了输入的代码。
于是先尝试闭合这个元素,点击更新,成功弹窗。
</textarea>aaa<script>alert("xss")</script>
说明这里存在XSS利用,联想到第二个链接,是一个提交bug页面的地方,说明两者结合就可以通过提前构建好XSS页面,BUG反馈提交给管理员,管理员查看BUG从而获取cookie
需要解决两个问题:
-
构建获取cookie的代码并成功提交,记录URL,从XSS平台复制代码,添加闭合</textarea>
解决问题1、需要用到我们在上一题使用的XSS平台,复制平台提供的XSS代码
成功提交,前往XSS平台查看是否有记录
捕获成功,说明方法可行
2、解密验证码函数
这个验证码的意思是,先将验证码进行MD5,然后取前六位告诉我们。
编写php脚本破解验证码
<?php
for($x=0; $x<=9999999; $x++){
if (substr(md5($x),0,6)=='282a70'){
echo $x;
}
}
?>
修改==' '中的6位字符串,计算这一次页面的验证码,将php文件放到自己搭建的网站根目录下,浏览器访问该php文件,即可进行计算。
算出来21位数,可能是出现了两次碰撞,取前7位尝试,成功提交
这里的 URL地址填写我们上一步复制好的URL
接下来的方法与上一题一样,等待1分钟后即可捕获管理员的cookie,登录后台找flag