星云博创
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
01 判断SSRF是否存在
1. 访问http://www.badu.com网站。
2. dnslog平台收到回显,存在ssrf。
3. 尝试读取文件/etc/passwd,并返回内容,可以判断出是回显型ssrf。
4. 读取/etc/hosts文件,当前机器ip是172.72.23.21。
5. 尝试读取/etc/shadow 和/root/.bash_histor,发现无权限。
02 探测内网存活主机服务
使用dict协议对内网主机进行存活探测。
03 172.72.23.22—代码注入
1. 利用ssrf访问内网http://172.72.23.22,提示CodeExec。
2. 使用burp的Intruder模块对网站进行目录爆破,存在phpinfo.php和shell.php。注意:此处需要去除特殊字符编码。
3. 查看shell.php,可以直接穿参执行系统命令查看flag。
04 172.72.23.23—sql注入
访问http://172.72.23.23,提示是get型sql注入。
05 172.72.23.24—命令执行
1. 访问http://172.72.23.24,网站是一个网络测试功能接口。一般来说,这种会存在命令执行漏洞。但是系统也可能会过滤一些特殊字符,需要我们进行绕过。
2. 这里是post请求,需要利用gopher协议发送post请求。此处要求必须有4个参数为必要参数,用于传递Content-Type,Content-Length,host,post的参数。如果有多个参数,则参数之间的&也需要进行URL编码。
3. 将数据包进行两次url编码。
4. 利用gopher协议发送post请求,成功执行命令。
5. 执行命令查看flag,这里提示flag在/tmp目录,但是查看后发现flag并不存在此处。
06 172.72.23.25—xml
1. 访问http://172.72.23.24,跳转一个登录界面。
2. 成功读取文件。
3. 此处测试命令执行,结果显示无法执行。
07 172.72.23.26—Tomcat
1. 访问http://172.72.23.26:8080,地址是一个Tomcatyang li界面。构造PUT请求包,将数据包进行二次url编码。
2. 使用gopher协议发送请求,响应包返回201说明写入成功。
3. 利用ssrf,直接访问shell文件执行命令即可。
08 172.72.23.27—Redis
1. 172.72.23.27机器开放了6379端口,测试存在未授权,redis版本为5.0.5。
2. redis的shell一般可以用写入计划任务(Centos)、写入公钥、写webshell(知道网站物理路径)。因为这台机器没有开放web服务,可以先尝试写入计划任务。
3. 使用脚本。
4. 成功反弹shell。
5. 或者手工输入。
09 172.72.23.28—Redis
1. 前面通过探测服务,得知这台机器已开放80和6379端口。
2. 使用dict协议访问6379端口的服务,redis需要验证密码。如果在内网redis需要认证的情况下,我们可以使用dict或gopher协议对密码进行爆破。
3. 访问80端口存在文件包含,这里可以尝试读取redis的配置文件来获取密码。
4. 成功读取redis的密码。
5. 使用dict协议进行认证,可以确定读取的密码是正确的。
6. 使用Gopherus生成payload。
7. 将gopher://127.0.0.1:6379/_后面的payload进行url解码后,在上方添加验证密码并增加换行,然后进行两次url编码。
8. 发送数据包。
9.访问http://172.72.23.28/shell.php,成功执行命令。
10. 此外,大家也可以写入计划任务,方法和写shell一样——利用gophers生成脚本,进行url解码,并添加auth后,再进行两次url编码即可。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)