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
当渗透测试过程中本机ip被禁时
可以挂一个代理
1.5.1.去网页搜索免费代理,添加到SwichySharp
访问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;
?>
直接访问1.php
访问
http://192.168.139.132/SSRF/index.php?url=http://www.baidu.com
访问
http://192.168.139.132/SSRF/index.php?url=http://192.168.139.132/SSRF/1.php
访问
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
3306端口
ftp协议
文件传输协议
4.2.1. 在C盘放入一个txt文件
不能直接读取
file协议
专门读取本机文件的协议
5. wuyun实例
http://www.anquan.us/static/bugs/wooyun-2016-0198176.htmlhttp://www.anquan.us/static/bugs/wooyun-2016-0187550.html
5.1. 漏洞编号
wooyun-2016-0198176wooyun-2016-0187550
6. 漏洞存在的地方
传参里面存在文件后缀或者协议的地方等
6.1. 出现协议
很可能可以发起请求
6.2. 出现文件后缀
有可能存在任意文件读取
Download=xxxx/xxx/xx
来源:freebuf.com 2020-08-20 15:46:28 by: 雷石安全实验室
请登录后发表评论
注册