【SSRF漏洞】——http协议常见绕过

改变的确很难,但结果值得冒险

本文如有错误之处,还请各位师傅指正

一.ssrf概述

SSRF全称为Server-side Request Fogery,中文含义服务器端请求伪造

 SSRF是一种由攻击者构造形成目标服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统(防火墙隔绝)。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)

原由:大都是由于服务端提供了从其它服务器获取数据的功能,比如使用户从指定的URL web应用获取图片、下载文件、读取文件内容等。但又没有对目标地址做严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发送请求,并返回对该目标地址请求的数据。

  • 判断是否为SSRF题目:题目源码出现以下函数file_get_contents()、curl()、fsocksopen()、fopen()
  • 时可能有SSRF
  • 常用协议:http://,file://,dict://,gopher://

二.curl会话

PHP中的cURL会话(cURL session)是通过cURL库提供的功能来进行HTTP请求的过程。cURL会话可以用于发送HTTP/HTTPS协议请求,获取服务器响应,并对请求和响应进行配置和处理。

支持的协议:dict file ftp ftps http https imap imaps ipfs ipns mqtt pop3 pop3s smb smbs smtp smtps telnet tftp

ssrf常用的四种协议包括file,dict,http,gopher

  • file协议‌:用于进行任意文件读取,是SSRF中最简单的利用方式。通过指定文件路径(如file://开头),攻击者可以尝试读取服务器上的任何文件,包括敏感信息或配置文件。

  • http(s)协议‌:允许攻击者向目标发送HTTP请求,探测内网服务。由于GET请求的参数直接加在URL中,这使得探测那些使用GET请求的应用成为可能,进而进行内网探测和攻击。

  • dict协议‌:1.探测内网主机 2.探测端口的开放情况‌ 3.探测端口的指纹信息 4.执行命令

  • gopher(万金油)协议‌:gopher协议允许通过Telnet远程访问其他应用程序,并使得Internet上的所有Gopher客户程序能够与Internet上的所有已“注册”的Gopher服务器进行对话。‌此外,Gopher协议支持发出GET和POST请求,这使得它能够在ssrf(服务器端请求伪造)攻击中发挥重要作用,例如攻击内网的MySQl,FTP,Telnet,Redis,Mencache等,同时也可以进行GET、POST请求。

使用cURL会话进行HTTP请求的基本步骤如下:

  •     创建一个cURL会话句柄(curl_init)。
  •     设置需要的选项,如请求的URL、请求方法、请求头、请求体等(curl_setopt)。
  •     执行HTTP请求(curl_exec)。
  •     获取服务器响应(可选)。
  •     关闭cURL会话(curl_close)。

 三.ctfshow之ssrf

web351:

使用dict协议查看哪个端口开放,来决定使用哪个协议:

url=dict://127.0.0.1:80成功回显,可以使用http协议

payload:url=127.0.0.1/flag.php

 web352:

parse_url()函数:是用来解析一个URL并返回该URL的各个组成部分

  • scheme: URL的协议部分http/https等等
  • host: URL的主机名部分   //后的部分
  • port: URL的端口部分  
  • user: URL的用户名部分    @前
  • pass: URL的密码部分       @前
  • path: URL的路径部分
  • query: URL的查询字符串部分
  • fragment: URL的锚点部分    #后

 payload:url=http://127.0.0.1/flag.php

web353:

不能出现127.0.的部分

payload:url=http://127.1/flag.php

 还可以通过编码绕过:16进制,10进制,8进制

 web354:

不能出现0和1

使用域名指向http://sudo.cc指向1270.0.1

payload:url=http://sudo.cc/flag.php

 web355:

payload:url=http://127.1/flag.php

web356:

linux中0也可以访问本地

payload:url=http://0/flag.php

web357:

gethostbyname()函数是Linux系统中用于获取主机名对应IP地址的函数之一。

get_file_contens()函数读取域名后返回目标攻击ip

filter_var函数来验证第一次返回真正IP地址的有效性,并且排除了私有IP范围(0.0.0.0/8、172.16.0.0/12和192.168.0.0/16)和保留IP范围(0.0.0.0/8和169.254.0.0/16。)。

 这里采用DNS rebinding(DNS重新绑定攻击)绕过

攻击重点在于DNS服务能够在两次DNS查询中返回不同的IP地址,第一次是真正的IP第二次是攻击目标IP地址,甚至可以通过这种攻击方法绕过同源策略。

 在这个网站注册账号:CEYE - Monitor service for security testing

 得到一个域名和两个ip

注意重定向时,域名的使用:r.域名

payload:url=http://r.zxfpib.ceye.io/flag.php

web358:

preg_match('/^http:\/\/ctf\..*show$/i',$url)

^:表示正则匹配的开始

^http:\/\/ctf\.:以http://ctf.开头

.*:匹配零个或任意个字符

$:匹配的结束表示

 parse_url匹配的时候,@前的内容是user部分,#后的部分会被忽略

payload:url=http://ctf.@0/flag.php#show

或者   url=http://ctf.@0/flag.php?show

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

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

相关文章

Linux 防火墙:iptables (二)

文章目录 SNAT 原理与应用SNAT 应用环境SNAT 原理SNAT 转换前提条件SNAT 格式SNAT 转换规则配置 DNAT 原理与应用DNAT 应用环境DNAT 原理DNAT 转换前提条件DNAT 格式DNAT 转换规则配置 iptables 规则的备份和还原导出(备份)所有表的规则导入(…

PCL 点云基于曲率大小渲染颜色

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2处理后点云 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总(长期更新) 一、概…

Django笔记一:搭建Django环境与URL路径访问

博主之前学从Java后端开发,后面获取到读研资格,想着未来转算法岗,初学Python,发现Python还挺有趣的,由于之前所学后端缘故,有点后端情节,想学习一下Django框架(python的web框架&…

人工智能和机器学习:探讨人工智能和机器学习的最新发展、应用、挑战和未来趋势

人工智能和机器学习是当前科技领域的热点话题,其最新发展、应用、挑战和未来趋势备受关注。 最新发展: 人工智能和机器学习技术在近年来得到了快速发展,尤其是深度学习技术的广泛应用。例如,深度学习在图像识别、语音识别、自然语…

react 基础语法

前置知识 类的回顾 通过class关键字定义一个类 类名首字母大写 class类有constructor构造器 new 一个类得到一个实例 类还有方法,该方法也会在其原型上 static静态数据,访问静态属性通过 类名.id getter和setter getter:定义一个属性&…

网络学习-eNSP配置VRRP

虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP) VRRP广泛应用在边缘网络中,是一种路由冗余协议,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱,允许主机使用单路由器,以及即使在实际…

全球NAND原厂闪存市场格局变化

根据市场研究机构TrendForce的最新跟踪报告,三星(Samsung)和SK海力士(SK hynix-Solidigm)在过去的一个季度中扩大了他们在NAND闪存市场的份额,这主要得益于抢占了铠侠(Kioxia)与西部…

小目标检测顶会新思路!最新成果刷爆遥感SOTA,参数小了18倍

遥感领域的小目标检测一直是个具有挑战性和趣味性的研究方向,同时也是顶会顶刊的常客。但不得不说,今年关于遥感小目标检测的研究热情尤其高涨,已经出现了很多非常优秀的成果。 比如SuperYOLO方法,通过融合多模态数据并执行高分辨…

【重学 MySQL】二十八、SQL99语法新特性之自然连接和 using 连接

【重学 MySQL】二十八、SQL99语法新特性之自然连接和 using 连接 自然连接(NATURAL JOIN)USING连接总结 SQL99语法在SQL92的基础上引入了一些新特性,其中自然连接(NATURAL JOIN)和USING连接是较为显著的两个特性。 自…

数据结构(14)——哈希表(1)

欢迎来到博主的专栏:数据结构 博主ID:代码小豪 文章目录 哈希表的思想映射方法(哈希函数)除留余数法 哈希表insert闭散列负载因子扩容find和erase 哈希表的思想 在以往的线性表中,查找速度取决于线性表是否有序&#…

知识库管理系统在企业数字化转型中的作用

引言 在数字化转型的浪潮中,企业正以前所未有的速度重塑其业务模式、运营流程和组织架构,以适应快速变化的市场环境和客户需求。这一过程中,知识库管理系统作为信息整合与知识共享的核心平台,发挥着举足轻重的作用,不…

【解决】AnimationCurve 运行时丢失数据问题

开发平台:Unity 2022 编程平台:Visual Studio 编程语言:CSharp   一、问题背景 如上图所示的 GracityComponent 组件中,引用 AnimationCurve 作为可调属性。但在实际使用中出现数据丢失问题。大致为以下两种情况: 运…

【重学 MySQL】二十七、七种 join 连接

【重学 MySQL】二十七、七种 join 连接 union 的使用UNION 的基本用法示例UNION ALL 的用法 七种 join 连接代码实现语法格式小结 union 的使用 UNION 在 SQL 中用于合并两个或多个 SELECT 语句的结果集,并默认去除重复的行。如果希望包含重复行,可以使…

RNN发展(RNN/LSTM/GRU/GNMT/transformer/RWKV)

RNN到GRU参考: https://blog.csdn.net/weixin_36378508/article/details/115101779 tRANSFORMERS参考: seq2seq到attention到transformer理解 GNMT 2016年9月 谷歌,基于神经网络的翻译系统(GNMT),并宣称GNMT在多个主…

java程序员入行科目一之CRUD轻松入门教程(二)

封装工具类 封装获取连接&释放资源操作 在实际使用JDBC的时候,很多操作都是固定的,没有必要每次都去注册驱动,获取链接对象等等。 同样,释放资源的close操作也可以封装一下 下面是封装好的具体工具类 package com.jimihua.u…

海外云手机是否适合运营TikTok?

随着科技的迅猛发展,海外云手机逐渐成为改变工作模式的重要工具。这种基于云端技术的虚拟手机,不仅提供了更加便捷、安全的使用体验,还在电商引流和海外社媒管理等领域展示了其巨大潜力。那么,海外云手机究竟能否有效用于运营TikT…

mosh java 2.4 inheritance继承

1.面向对象编程的第三个特点 继承 继承的好处 java不能继承多个父级 代码文件结构 1.main.java package org.example; //package org.codewithme;//import org.example.UIControl;//TIP To <b>Run</b> code, press <shortcut actionId"Run"/> or /…

3C电子胶黏剂在手机制造方面有哪些关键的应用

3C电子胶黏剂在手机制造方面有哪些关键的应用 3C电子胶黏剂在手机制造中扮演着至关重要的角色&#xff0c;其应用广泛且细致&#xff0c;覆盖了手机内部组件的多个层面&#xff0c;确保了设备的可靠性和性能。以下是电子胶在手机制造中的关键应用&#xff1a; 手机主板用胶&…

率先搭载存内计算AI芯片,维迈通引领骑行通讯降噪革新

近日&#xff0c;高端骑行头盔耳机领导品牌维迈通&#xff08;VIMOTO&#xff09;三款新品XR、V10S、V10X全平台正式发售&#xff0c;创新搭载了知存科技&#xff08;Witmem&#xff09;高能效存内计算AI芯片&#xff0c;为骑行爱好者带来更极致的AI降噪体验。 作为一家专注摩托…

状压DP

状压DP 对于数据范围n<20的可以考虑状压DP 1.蒙德里安的梦想 题目描述 求把 N M NM NM 的棋盘分割成若干个 12 的的长方形&#xff0c;有多少种方案。 例如当$ N2&#xff0c;M4$ 时&#xff0c;共有 5 种方案。当 N 2 &#xff0c; M 3 N2&#xff0c;M3 N2&…