【CTFHUB】SSRF原理之简单运用(一)

一、漏洞原理

SSRF 服务端请求伪造
原理:在某些网站中提供了从其他服务器获取数据的功能,攻击者能通过构造恶意的URL参数,恶意利用后可作为代理攻击远程或本地的服务器。

二、SSRF的利用

1.对目标外网、内网进行端口扫描。
2.攻击内网或本地的程序或应用
3.利用file协议读取本地文件
4.利用get攻击外网或内网的web应用

三、防御方式

1.对提交的URL进行过滤,如过滤格式为127.0.0.1的ip
2.规定结尾的后缀
3.短链接
4.@符号
5.将十进制数改为其他进制
6.文件上传

四、常见协议利用

http:查看内网主机端口是否存在。
file:读取服务器本地文件,访问本地的静态资源
dict:协议探测端口和服务指纹,攻击redis,写入定时任务,进行反弹shell
gopher:发送POST或GET请求,用来攻击内网应用redis,mysql,fastCGI,smtp等

五、靶场实践

内网访问

提示信息:尝试访问位于127.0.0.1的flag.php吧

首先在网站页面构造一个Payload访问百度,结果是进入到了百度页面,那么说明此处存在SSRF漏洞

【CTFHUB】SSRF原理之简单运用(一)_第1张图片

根据提示信息,访问127.0.0.1下的flag.php文件

?url=http://127.0.0.1/flag.php

【CTFHUB】SSRF原理之简单运用(一)_第2张图片

伪协议读取文件

提示信息:尝试去读取一下Web目录下的flag.php吧
【CTFHUB】SSRF原理之简单运用(一)_第3张图片

/var/www/html目录是Web服务器(linux)的默认根目录,也被称为Web根目录

根据提示信息构造payload

?url=file:var/www/html/flag.php

【CTFHUB】SSRF原理之简单运用(一)_第4张图片

端口扫描

提示信息:来来来性感CTFHub在线扫端口,据说端口范围是8000-9000哦。

【CTFHUB】SSRF原理之简单运用(一)_第5张图片
**说明flag是在127.0.0.1网址某个端口下

构造payload

?url/http:127.0.0.1:xxxx #使用burp进行端口爆破,返回拒绝连接错误,说明端口存在

1
在此,根据长度的不同便可知知道此网站的正确的端口为8894

【CTFHUB】SSRF原理之简单运用(一)_第6张图片
最终payload

?url/http:127.0.0.1:8894

你可能感兴趣的:(CTF,Recording,#,漏洞基础,网络安全,web安全,笔记)