Pikachu靶场——SSRF 服务端请求伪造

文章目录

  • 1 SSRF 服务端请求伪造
    • 1.1 SSRF(curl)
      • 1.1.1 漏洞防御
    • 1.2 SSRF(file_get_content)
      • 1.2.1 漏洞防御
      • 1.2.3 SSRF 防御

1 SSRF 服务端请求伪造

SSRF(Server-Side Request Forgery:服务器端请求伪造)

其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制,从而导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据。

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

根据后台使用的函数的不同,对应的影响和利用方法又有不一样。

PHP中下面函数的使用不当会导致SSRF:

file_get_contents()
fsockopen()
curl_exec()

如果一定要通过后台服务器远程去对用户指定(“或者预埋在前端的请求”)的地址进行资源请求,则请做好目标地址的过滤

1.1 SSRF(curl)

cURL用法:PHP: cURL - Manual。

点击链接,查看页面变化

http://192.168.188.183/pikachu/vul/ssrf/ssrf_curl.php

image-20230909165553429

发现页面的URL中多了一个url参数。

http://192.168.188.183/pikachu/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info1.php

image-20230909165618949

因为curl支持很多协议,就可以做以下尝试:

通过网址访问

比如说修改url为:url=http://www.baidu.com,访问百度页面:

image-20230909170414143

利用file协议查看本地文件

file协议:file://是一种在本地文件系统中读取或写入文件的协议。通过file://协议,可以使用Curl直接读取本地文件或将数据写入到本地文件。

修改url为:url=file:///c:/test/wuhu.txt,查看文件的内容:

image-20230909170606811

dict协议扫描内网主机开放端口

dict协议:dict://是一种用于在Curl命令中传递字典参数的协议。该协议通常用于向服务器发送包含键值对的数据。

使用dict协议可以获取内网主机开放端口相应服务的指纹信息,修改url为:url=dict://192.168.188.183:80

image-20230909170837808

1.1.1 漏洞防御

修改代码前,可以看到代码中没有做任何的过滤操作

image-20230916110534547

对代码做一些改动

echo $URL."<br \>";
$octet = explode(".",$URL);
echo $octet[1]."<br \>";
if($octet[1]!="php"){die("黑客!!!");
}

代码解析:

  • die:等同于 exit(),终止程序的执行。

  • explode: 使用一个字符串分割另一个字符串。

    explode(string $separator, string $string, int $limit = PHP_INT_MAX): array
    
    • 此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界点分割出来。

image-20230916142508506

这样我们就可以让页面访问的时候只能去访问info1.php和info2.php文件,这里以点作为分割,所以如果后缀名不为php的话那么就不允许通过。

页面访问

http://127.0.0.1/pikachu/vul/ssrf/ssrf_curl.php?url=http://localhost/pikachu/vul/ssrf/ssrf_info/info1.php

image-20230916142905667

如果访问其他的路径,例如访问本地文件

http://127.0.0.1/pikachu/vul/ssrf/ssrf_curl.php?url=file:///c:/test/wuhu.txt

image-20230916143015027

访问其他网站

127.0.0.1/pikachu/vul/ssrf/ssrf_curl.php?url=http://www.baidu.com

image-20230916143101802

1.2 SSRF(file_get_content)

点击链接,查看页面变化

image-20230909171408872

发现路径中的参数从url变成了file

image-20230909171453431

file_get_content使用方法。

file读取本地文件

修改file为:file=file:///../../../../../../../../windows/system32/drivers/etc/hosts

查看页面效果:

image-20230909171839757

http协议请求内网资源

为了演示效果,开启一台kali主机,并且开启一个http服务

python3 -m http.server 8888

image-20230909174834552

修改file为:file=http://192.168.188.185:8888

查看页面效果:

image-20230909174627165

1.2.1 漏洞防御

修改之前的代码

image-20230916143654508

修改后的代码

echo $filename."<br \>";
$octet = explode(".",$filename);
echo $octet[1]."<br \>";
if($octet[1]!="php"){die("黑客!!!");
}

image-20230916143715962

页面访问,读取本地文件

http://127.0.0.1/pikachu/vul/ssrf/ssrf_fgc.php?file=file://../../../../../../../../windows/system32/drivers/etc/hosts

image-20230916143819125

1.2.3 SSRF 防御

参看我写的另一篇博客:服务端请求伪造(SSRF)及漏洞复现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/89091.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

孤网双机并联逆变器下垂控制策略MATLAB仿真模型

微❤关注“电气仔推送”获得资料 主体模块&#xff1a; 建议使用MATLAB2021b及以上版本打开&#xff01; 功率计算模块、下垂控制模块、电压电流双环控制模块 系统输出有功功率: 系统输出无功功率&#xff1a; 系统频率变化曲线: 参考文献&#xff1a; 微电网并网运行模式下…

四川众佰诚:现在的抖音小店怎么注册

抖音小店是一种新的电子商务形式&#xff0c;它允许用户在抖音平台上直接销售商品。下面是一篇关于如何注册抖音小店的步骤说明&#xff1a; 下载并安装抖音App: 首先&#xff0c;你需要在手机上下载并安装最新版本的抖音App。你可以在苹果App Store或者安卓应用商店找到它。 创…

助力交叉学科应用型数据科学人才培养,和鲸科技携手华为发布联合解决方案

时代高速发展&#xff0c;智能化的浪潮奔腾而来&#xff0c;以“加速行业智能化”为主题&#xff0c;第八届华为全联接大会&#xff08;HUAWEI CONNECT 2023&#xff09;于 9 月 20 日正式开幕。本次大会中&#xff0c;华为携手生态伙伴引领智慧教育新风尚&#xff0c;和鲸科技…

飞书与企业微信的异同

云文档 飞书的云文档会自动用游览器打开&#xff0c;不会直接在PC应用中打开&#xff08;移动端能在应用中打开&#xff09;。 飞书云文档能够插入视频、流程图、问卷等等 聊天消息交互 钉钉也有类似的功能&#xff0c;可以针对消息进行点赞等回复 钉钉的消息回复还有【收到…

第2讲:Vue开发环境的搭建及运行

Vue开发环境搭建步骤 1、安装node http://www.nodejs.com.cn/ 一般安装在根目录下&#xff0c;直接下一步下一步安装即可。如何检测安装完毕 node -v 2、第二步&#xff1a;安装vue-cli脚手架 npm install -g vue/cli &#xff0c;查看安装版本 vue --version 3、第…

C++常见设计模式

设计模式 设计模式的六大原则&#xff1a;https://zhuanlan.zhihu.com/p/110130347 适配器模式 假设Client想要一个正方形&#xff08;client Interface&#xff09;&#xff0c;但是提供的服务&#xff08;service&#xff09;是个圆形&#xff0c;那么我就把这个圆通过适配…

java-decompiler

Java Decompiler GitHub F:\Document_JD-GUI\jd-gui-windows-1.4.0 jd-gui-windows-1.4.0 JDK 1.7 jd-gui-windows-1.6.6 JDK 1.8 Releases java-decompiler/jd-gui GitHub

flutter web 优化和flutter_admin_template

文章目录 Flutter Admin TemplateLive demo: https://githubityu.github.io/live_flutter_adminWeb 优化 Setup登录注册英文 亮色主题 中文 暗黑主题管理员登录权限 根据权限动态添加路由 第三方依赖License最后参考学习 Flutter Admin Template Responsive web with light/da…

【操作系统笔记十四】科普:POSIX 是什么

注&#xff1a;本文转载自该文章posix是什么都不知道&#xff0c;还好意思说你懂Linux&#xff1f; Linux开发者越来越多&#xff0c;但是仍然有很多人整不明白POSIX是什么。本文就带着大家来了解一下到底什么是POSIX&#xff0c;了解他的历史和重要性。 一、什么是 POSIX&…

虹科分享 | 网络保险:有效承保网络风险解决方案

文章来源&#xff1a;虹科网络安全 点击阅读原文&#xff1a;https://mp.weixin.qq.com/s/myCFPYtVVz5TPSFQaKqvLg 网络风险似乎往往很难量化&#xff0c;这使得保险公司很难适当地承保其网络风险政策。威胁载体的数量和不断发展的威胁&#xff0c;如新型恶意软件/勒索软件&…

RFID技术:钢条加工现场的智能化管理利器

RFID技术&#xff1a;钢条加工现场的智能化管理利器 RFID&#xff08;Radio Frequency Identification&#xff09;技术作为一种非接触式自动识别技术&#xff0c;近年来在工业领域得到广泛应用。本文将探讨RFID在钢条加工现场的应用&#xff0c;包括材料追踪与管理、生产过程…

安卓系列机型 框架LSP 安装步骤 支持多机型 LSP框架通用安装步骤【二】

​​​​​​安卓玩机教程---全机型安卓4----安卓12 框架xp edx lsp安装方法【一】 低版本可以参考上个博文了解相关安装方法。 LSP框架优点 简单来说装lsp框架的优点在于可以安装各种模块。包括 但不限于系统优化 加速 游戏开挂等等的模块。大致相当于电脑的扩展油猴 Lspos…

SAP服务器文件管理

SAP服务器文件管理 文件说明&#xff1a;对于SAP服务器的文件管理&#xff0c;系统给出3个事物码&#xff0c;分别是显示目录的AL11&#xff0c;下载文件的 CG3Y和上传文件的CG3Z。 AL11显示目录:以查找系统参数文件为例&#xff0c;在前台执行事物码AL11进入&#xff0c;如图…

word中使用latex多行公式,矩阵公式

\eqarray{H& [h(x_1)^T,\cdots,h(x_N)^T]^T \\ & [\matrix{g(w_1 x_1b_1) & \cdots & g(w_L x_1b_L) \\ \vdots & \ddots & \vdots \\ g(w_1 x_Nb_1) & \cdots & g(w_L x_Nb_L)}]_{N \times L}}&的引起的那条竖线可以通过backspace或者del…

网络基础面试题

1. ISO/OSI的七层模型 ISO国际标准化组织 OSI开放系统互连 TCP和UDP都会进行差错校验&#xff0c;TCP会告诉A包发错了&#xff0c;但UDP不会告诉A发错了会把包丢弃。 静态路由不需要路由器做任何的计算&#xff0c;对路由器的消耗是最小的&#xff0c;效率最高但是缺点是…

SQLyog 连接 MySQL8.0+ 报错2058

问题如下&#xff1a; 解决方案&#xff1a; 1.首先用命令窗口进入user表 2.使用有mysql.user表权限的用户连接mysql并执行如下命令&#xff1a; ALTER USER sqlyoglocalhost IDENTIFIED WITH mysql_native_password BY root23456; 注&#xff1a;使用mysql_native_password…

亿图脑图新版本支持思维导图一键生成PPT、音视频等格式,办公提效再升级

近日&#xff0c;国产思维导图软件——亿图脑图MindMaster发布了全新版本V10.9.0&#xff0c;本次亿图脑图的升级给用户带来了极大的惊喜。全新升级的亿图脑图MindMaster不仅支持20格式的文件智能解析成思维导图&#xff0c;还支持思维导图一键生成PPT、音频、视频等内容形式&a…

Excel实现只针对某项字符第一次出现的位置分列

取第一次出现左边数值 B1LEFT(A1,SEARCH(".",A1)-1) 取第一次出现右边数值 C1RIGHT(A1,LEN(A1)-SEARCH(".",A1)) 公式如图&#xff1a;

AI智能视频监控技术如何助力美好乡村建设?

随着城市化发展&#xff0c;很多乡村设施也在逐渐完善&#xff0c;智能监控也成了乡村发展必不可少的一环&#xff0c;智能视频监控应该在乡村建设里如何发挥作用呢&#xff1f; 1、有效提升安全意识 通过在乡村重要区域、公共场所、道路等设置智能视频监控设备&#xff0c;可…

第六次面试、第一次复试

第六面&#xff1a; hr迟到&#xff0c;说是搞错了以为线下&#xff0c;我打电话过去才开始&#xff0c;问我想电话面还是视频&#xff0c;果断电话面 自我介绍 介绍了一下公司的工作 ................. 项目拷打&#xff1a; grpc数据如何传输的如何调用两个接口如何获取…