SSRF(服务器端请求伪造)漏洞是一种由攻击者构造形成由服务端发起请求的一个安全漏洞,话不多说,看文章。
0×01 环境搭建
Centos 靶机
Kali攻击机
Lnmp [文中会介绍安装]
Redis[文中会介绍安装]
Gopherus.py [https://github.com/tarunkant/Gopherus]
目标站点源码
1 <?php
2 $aa = @$_REQUEST['url'];
3 $ch = curl_init();
4 curl_setopt($ch,CURLOPT_URL,$aa);
5 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
6 curl_setopt($ch,CURLOPT_HEADER,0);
7 $output = curl_exec($ch);
8 echo $output;
9 if($output === FALSE ){
10 echo "CURL Error:".curl_error($ch);
11 }
12 curl_close($ch);?>
0x02 正文
我们先开始介绍下我们这篇文章的主角,gopher协议。Gopher 协议是 HTTP 协议出现之前,在 Internet 上常见且常用的一个协议。随着HTTP协议的壮大,Gopher协议已经慢慢的淡出了我们的视线,但是Gopher协议很多组件都支持并且可以做很多事,在SSRF中,Gopher协议可以对FTP、Telnet、Redis、Memca