ssrf漏洞基础

ssrf server-side request forgery
服务端请求伪造 , 由服务器发起请求,服务器提供了向其他服务器索取数据的功能,索取数据的服务器未
对索取主机、索取资源进行限制;
输入 url 访问站点 xxx.com------------ xxx.com 接收请求后 -------- xx2.com 发送索取数据请求
csrf&ssrf: 用户为受害者 & 用户为攻击者
php 中常见于 curl_exec file-get-content 函数使用不当
ssrf 与协议:
<? php
function curl ( $url ){
$ch = curl_init ();
curl_setopt ( $ch , CURLOPT_URL , $url );
curl_setopt ( $ch , CURLOPT_HEADER , 0 );
curl_exec ( $ch );
curl_close ( $ch );
}
@$url = $_GET [ 'url' ];
curl ( $url );
?>
通过 curl 获取资源
url= 任意网站 url
url= 访问自身的敏感文件
读取文件 file:// 绝对路径
探测本地端口 http:// dict://
gopher 协议与 ssrf
使用限制
php>5.3 curl 低版本无法使用, java jdk<1.7
查看自己的 web 服务器是否支持 gopher 协议:
gopher // 协议格式
gopher://<host>:<port>/<gopher_path>_ 数据 注 :_ 可被除了 $ # 等特殊字符以外的任意字符替
gopher 默认端口 70
发送 GET/POST 请求时对特殊符号需要 url 编码
gopher 协议发送 GET 请求数据包
get.php 源码如下
对数据包进行 url 编码
http 数据包中,需要 %0d%0a 来分隔每一行
gopher 协议发送 POST 请求数据包
post 源码如下
注: post 请求需要请求头中的 content-type application/x-www-form-urlencoded
请求体和请求头之间需要两组 %0d%0a
gopher 协议结合 ssrf 漏洞时要对特殊字符等进行二次 url 编码
二次 url
%25%34%37%25%34%35%25%35%34%25%32%30%25%32%66%25%36%37%25%36%35%25%37%34%25%32%6
5%25%37%30%25%36%38%25%37%30%25%33%66%25%36%31%25%33%64%25%33%31%25%33%32%25%33%
33%25%33%34%25%33%34%25%33%34%25%33%35%25%33%35%25%33%35%25%33%35%25%33%35%25%33
%35%25%33%35%25%33%35%25%33%35%25%33%35%25%33%35%25%33%35%25%33%35%25%32%30%25%3
4%38%25%35%34%25%35%34%25%35%30%25%32%66%25%33%31%25%32%65%25%33%31%25%30%64%25%
30%61%25%34%38%25%36%66%25%37%33%25%37%34%25%33%61%25%32%30%25%33%31%25%33%39%25
%33%32%25%32%65%25%33%31%25%33%36%25%33%38%25%32%65%25%33%31%25%33%30%25%32%65%2
5%33%31%25%33%32%25%33%38%25%30%64%25%30%61
一次 url
%47%45%54%20%2f%67%65%74%2e%70%68%70%3f%61%3d%31%32%33%34%34%34%35%35%35%35%35%3
5%35%35%35%35%35%35%35%20%48%54%54%50%2f%31%2e%31%0d%0a%48%6f%73%74%3a%20%31%39%
32%2e%31%36%38%2e%31%30%2e%31%32%38%0d%0a
原始数据
GET /get.php ?a = 1234445555555555555 HTTP/1.1
Host: 192 .168.10.128
第一层 url 会在漏洞服务端解析,第二层 url 则在内网的 web 服务器中解析

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

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

相关文章

软件过程与项目管理期末复习

文章目录 1. 课程导论1) 什么是项目&#xff1f;具有什么特征&#xff1f;2) 项目管理的4阶段5过程的具体内容是什么&#xff1f;3) 项目管理的10大知识域是哪些&#xff1f;其中4个是核心知识域&#xff1f;4个核心知识域之间是什么关系&#xff1f;4) 什么是质量管理三角形&a…

【AMBA Bus ACE 总线 6 -- ACE cache maintenance 详细介绍】

文章目录 ACE cache maintenance什么叫 cache maintenance operations呢?ACE cache line statesACE cache maintenance 什么叫 cache maintenance operations呢? 比如ARM CPU 对自己的Icache 和 Dcache会有大量的transaction操作,也即maintenance操作,如果cache 是dirty 话…

U盘格式转换GPT格式转回DOS

当前格式 fdisk /dev/sdb# 在 fdisk 提示符下&#xff0c;输入以下命令删除分区&#xff1a; d # 选择要删除的分区编号&#xff08;如 1、2 等&#xff09; w开始转换 [rootnode-24 ~]# fdisk /dev/sdbWelcome to fdisk (util-linux 2.37.4). Changes will remain in memory o…

qt用信号与槽,发送自定义结构体,一定要先注册,注册元对象 Q_DECLARE_METATYPE(Student)

//1.定义结构体 struct Student {int m_id;int m_age;QString m_name; };//2.注册元对象 Q_DECLARE_METATYPE(Student)class MainWindow : public QMainWindow {Q_OBJECTpublic:explicit MainWindow(QWidget *parent 0);~MainWindow(); private slots:void onSigSendS…

【Unity基础】TextMeshPro组件学习过程记录

目录 1.TextMeshPro组件渲染创建文本RTL Editor字体Font Asset字体加粗&#xff0c;下划线等字体大小控制字体颜色控制字体渐变控制字符间隔、单词间隔、行间距、段落间距控制WrappingUV映射控制代码 2.TextMeshPro组件AssetFace InfoGeneration Setting 3.使用Dynamic SDF Sys…

【Redis】哨兵

文章目录 一、哨兵作用二、Redis哨兵架构三、哨兵运行流程和选举原理3.1、哨兵运行流程3.2、领导者哨兵的选举原理--Raft算法 四、哨兵使用建议 哨兵巡查监控后台master主机是否故障&#xff0c;如果故障了根据投票数自动将某一个从库转换为新主库&#xff0c;从而继续提供服务…

Spring MVC系列之九大核心组件

概述 Spring MVC是面试必问知识点其一&#xff0c;Spring MVC知识体系庞杂&#xff0c;有以下九大核心组件&#xff1a; HandlerMappingHandlerAdapterHandlerExceptionResolverViewResolverRequestToViewNameTranslatorLocaleResolverThemeResolverMultipartResolverFlashMa…

AWTK MODBUS Client channel 模型

名称&#xff1a;modbus_client_channel 功能&#xff1a;通过 modbus 协议访问远程 slave 设备上的数据&#xff0c;需要配合 modbus_client模型一起使用。用于将 modbus client 中的 channel 包装成view_model或者view_model_array 一般来说不需要&#xff0c;直接使用modbus…

施耐德 Unity Pro 编程软件导入导出变量

适用范围 施耐德中高端PLC&#xff0c;使用的编程软件为 UnityPro &#xff08;最新版更名为 Ecostructure Control Expert&#xff09; 中端 PLC&#xff1a;Premium&#xff0c;M340高端 PLC&#xff1a;Quantum&#xff0c;M580 导出/导入变量 导出变量可导出【变量和 FB…

[Android14] SystemUI的启动

1. 什么是System UI SystemUI是Android系统级应用&#xff0c;负责反馈系统及应用状态并与用户保持大量的交互。业务主要涉及的组成部分包括状态栏(Status Bar)&#xff0c;通知栏(Notification Panel)&#xff0c;锁屏(Keyguard)&#xff0c;控制中心(Quick Setting)&#xff…

工业测径仪的应用场景和可靠性判断

关键字:线缆测径仪,圆棒测径仪,圆管测径仪,金属棒管测径仪,工业测径仪,智能测径仪 智能测径仪主要应用于以下领域&#xff1a; 金属加工&#xff1a;测量金属线材、棒材、管材等的直径。线缆制造&#xff1a;检测电线、电缆的直径。塑料管材生产&#xff1a;监控塑料管材的外…

ubuntu子系统密码忘记了,怎么办?

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…