渗透小白看了也能明白的SSRF
渗透小白看了也能明白的SSRF
原创 雷石安全实验室
1. 什么是SSRF
1.1. 含义
-
服务器端请求伪造(SSRF)是指攻击者能够从易受攻击的Web应用程序发送精心设计的请求的对其他网站进行攻击。(利用一个可发起网络请求的服务当作跳板来攻击其他服务)
-
攻击者能够利用目标帮助攻击者访问其他想要攻击的目标
-
攻击者要求服务器为他访问URL
1.2. 有道翻译就曾经出现过ssrf
导致内网地址被访问到
1.3. 翻译网站发生SSRF原理
1.3.1. 如何让翻译网站翻译某一个网站的页面
输入需要翻译的网址,则翻译该网站内容
1.3.2. 翻译网站翻译过程
翻译网站替我们访问需要翻译的站点,然后进行翻译
所以当翻译网站没有对输入地址做任何过滤时,内网就可能被访问到。
1.4. 将ip查询网址放入翻译网站进行翻译
1.4.1. 查询外网ip的网址
https://ip.cn/
1.4.2. 将https://ip.cn/输入到翻译口
可以看到地址发生改变,
是翻译网站ip所在地,
因为翻译网站替我们访问了ip.cn
1.5.当渗透测试过程中本机ip被禁时
可以挂一个代理
1.5.1. 去网页搜索免费代理,添加到SwichySharp
1.5.2. 访问ip.cn时ip发生变化
2.SSRF作用
2.1. 隐藏自己
2.2. 进入内网渗透
主流防御 -> 外网防护强,内网防护弱
2.3. 更好地对存在SSRF漏洞进行攻击
mysql默认不允许外部访问,但对于本地没有防护
2.4. 扫描内部网络
2.5. 向内部任意主机的任意端口发送精心构造的数据包
(payload)
2.6. DOS(请求大文件,始终保持连接Keep-Alive
Always)
2.7. 暴力穷举(users、files等)
3.虚拟机模拟
3.1. 将index.php放入网站根目录下的SSRF文件夹,
并放入读取ip的1.php:
<?php $ip = $_SERVER['REMOTE_ADDR']; echo "Your ip is ".$ip; ?>
3.2. 直接访问1.php
3.3. 访问
本文由“壹伴编辑器”提供技术支
http://192.168.139.132/SSRF/index.php?url=http://www.baidu.com
3.4. 访问
本文由“壹伴编辑器”提供技术支
http://192.168.139.132/SSRF/index.php?url=http://192.168.139.132/SSRF/1.php
3.5. 访问
本文由“壹伴编辑器”提供技术支持
http://192.168.139.132/SSRF/index.php?url=http://127.0.0.1/SSRF/1.php
4.协议
4.1. 字典协议(既能探测本机,又能探测外网)
dict://
可以探测端口
4.1.1. 80端口
http://192.168.139.132/SSRF/index.php?url=dict://127.0.0.1:80
4.1.2. 3306端口
4.2. ftp协议
文件传输协议
4.2.1. 在C盘放入一个txt文件
4.2.2. 不能直接读取
4.3. file协议
专门读取本机文件的协议
5. wuyun实例
实例:
-
http://www.anquan.us/static/bugs/wooyun-2016-0198176.html
-
http://www.anquan.us/static/bugs/wooyun-2016-0187550.html
5.1. 漏洞编号
wooyun-2016-0198176
wooyun-2016-0187550
6. 漏洞存在的地方
漏洞存在于传参里面存在文件后缀或者协议的地方等。
6.1. 出现协议
很可能可以发起请求
6.2. 出现文件后缀
有可能存在任意文件读取
Download=xxxx/xxx/xx