当前位置: 首页 > news >正文

【网络安全】-ssrf服务器请求伪造攻击-burp

SSRF攻击服务器请求伪造攻击

CSRF攻击跨站请求伪造攻击也称客户端请求伪造攻击

两种攻击最主要的区别是一个在服务器,一个在客户端。

文章目录

前言  什么是SSRF攻击?

1.分类:

  针对服务器的 SSRF 攻击:

       针对后端系统的SSRF攻击:

2.SSRF攻击的绕过

  url解析绕过:

  ip地址进制转换:

  指向任意IP的域名xip.io

  协议限制绕过

3.ssrf攻击的防护:

总结


前言  什么是ssrf攻击?

由hacker构造请求,利用存在缺陷的Web应用作为代理,让服务端发起请求。


1.分类:

针对服务器的 SSRF 攻击:
攻击的定义:

由hacker构造请求,利用存在缺陷的Web应用服务器作为代理,让服务器发起请求的攻击。

这种攻击允许攻击者绕过对源IP地址的检查,访问受限的内网资源,甚至从内部系统中窃取数据、执行远程代码或对特定服务发起拒绝服务攻击

攻击的步骤:

1.发现漏洞:首先识别出可以触发服务器发起HTTP请求的点,如图片加载、文件下载、API请求等功能。

2.请求构造:创建一个精心设计的请求,这个请求将由服务器发送,目的可能是与服务器的内部网络或者外部恶意服务器通信。

3.执行与利用:将构造的请求发送到漏洞点,让服务器不自觉地执行该请求,将结果返回给攻击者或影响内部系统。

举例:burp靶场-针对本地服务器的基本 SSRF

描述:

步骤:

1.访问某个商品,点击“检查库存”,在 Burp Suite 中拦截该请求,并将其发送给 Burp Repeater。

2.将参数中的 URL 更改stockApi=http://localhost/admin,这应该会显示管理界面,表名我们ssrf成功,验证访问admin。

3.阅读 HTML 以识别要删除目标用户的 URL,

即:http://localhost/admin/delete?username=carlos

修改请求头:

Send 返回界面:表明我们已经发起SSRF攻击,删除成功

总结:针对本地服务器的基本 SSRF

就是对服务器发出一个正常的请求,bp抓包截取服务器对我们的回复,对内容进行修改,让服务器执行的正常的请求->异常请求,进而影响其内部系统,如本题,就是将查询库存->删除用户。

针对后端系统的SSRF攻击:
攻击的定义:

hacker利用后端系统中未严格校验用户输入或存在其他漏洞的功能,如文件包含、URL重定向等,通过构造恶意的URL或请求,诱使后端系统向攻击者指定的目标发送请求。

攻击的影响:

请求是由后端系统发起的,因此可以绕过针对客户端的直接防护措施,很难被用户直接察觉,一旦中招,会导致用户敏感信息泄露、未授权访问控制系统资源等后果。

甚至hacker还可以利用SSRF漏洞作为跳板,进一步发起其他类型的攻击,如SQL注入、命令执行等。

攻击的步骤:

1.请求构造:攻击者可以构造一个指向内部数据库的URL或指向恶意服务的URlL并提交给后端系统。

2.执行与利用:后端系统在处理该请求时,会尝试访问该URL指向的资源,从而触发SSRF攻击。

举例:burp靶场-针对后端服务器的基本 SSRF

描述:

1.访问某个商品,点击“检查库存”,在 Burp Suite 中拦截该请求,并将其发送给 Burp Intruder。

2.单击“清除§”,更改参数stockApi,http://192.168.0.1:8080/admin

然后突出显示 IP 地址的最后一个八位字节(数字1),单击“添加§”。

3.切换到Payloads选项卡,将payload类型改为Numbers,

ip地址只可能在1~255之间,所以我们在From和To框中分别输入1、255,至于以及Step停顿时间自己来定,但绝不能是0,因为这会对服务器造成极大的伤害,导致网站挂掉,通常Step停顿时间是1。

注意:最底下把勾去掉

4.点击“开始攻击”。

单击“length”列,可以看到一个状态为 200 的条目,说明http://192.168.0.135:8080/admin是爆破成功的服务器url

5.点击这个请求,发送给Burp Repeater.

并将其中的路径改为stockApi:/admin/delete?username=carlos(识别要删除的目标用户)

点击send。

返回正常数据,说明我们成功进行ssrf攻击

2.SSRF攻击的绕过

url解析绕过:

http://域名.com@10.10.10.10

ip地址进制转换:

举例:192.168.0.1

8进制格式:0300.0250.0.1
16进制格式:0xC0.0xA8.0.1
10进制整数格式:3232235521

指向任意IP的域名xip.io

举例:10.0.0.1.xip.io  resolves to 10.0.0.1

协议限制绕过

当url协议限定只为http(s)时,可以利用follow redirect 特性构造3o2跳转服务结合合dict:// fle:/ gopher://

3.ssrf攻击的防护:

1.黑名单验证:过滤内网地址,过滤部分协议,对返回的内容进行识别,内网服务开启鉴权。

2.严格校验用户输入的URL:对所有用户提交的URL参数进行严格的白名单验证,只允许访问预定义的可信域名或路径。例如,限制请求的协议(HTTP、HTTPS)、主机名和端口号,通常只开放80、443等常用端口。

3.对返回内容进行识别:首先禁用URLOPT FOLLOWLOCATION;然后通过域名获取目标ip,并过滤内部ip;最后识别返回的内容是否与假定内容一致。


总结

ssrf攻击运行在内网或本地的应用程序,利用fle协议读取本地文件,可以对内网,本地进行端口扫描,获取一些服务(banner)的信息,仅仅使用get参数就可以实现对内外网的攻击。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何将Git本地代码推送到Gitee云端仓库
  • 使用 Bedrock 模型进行 SQL 查询生成:高效自动化的全新体验!
  • 【nodejs环境】nvm是真有用
  • PyQt5库学习之QFileDialog.getOpenFileName函数
  • 【Linux庖丁解牛】—Linux基本指令(上)!
  • LED 生产电子看板实现工厂精准管理
  • 本地搭建我的世界服务器(JAVA)简单记录
  • 【测试岗面试】知识点总结
  • 前端JavaScript导出excel,并用excel分析数据,使用SheetJS导出excel
  • chorme浏览器 您的连接不是私密连接
  • 非守护线程会阻止JVM的终止吗
  • 红书 API 接口:笔记详情数据接口的接入与使用
  • 计算机专业的就业方向
  • WSL2+Ubuntu 22.04搭建Qt开发环境+中文输入法
  • 视频单目标跟踪研究
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Angular 响应式表单之下拉框
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • javascript 总结(常用工具类的封装)
  • Laravel Mix运行时关于es2015报错解决方案
  • leetcode388. Longest Absolute File Path
  • maven工程打包jar以及java jar命令的classpath使用
  • Odoo domain写法及运用
  • vue自定义指令实现v-tap插件
  • windows下mongoDB的环境配置
  • 初识MongoDB分片
  • 从零开始的无人驾驶 1
  • 老板让我十分钟上手nx-admin
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 浅谈web中前端模板引擎的使用
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • Android开发者必备:推荐一款助力开发的开源APP
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # dbt source dbt source freshness命令详解
  • $forceUpdate()函数
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (理论篇)httpmoudle和httphandler一览
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (四) Graphivz 颜色选择
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)项目管理杂谈-我所期望的新人
  • (转载)Google Chrome调试JS
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .net mvc部分视图
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET/C# 使用反射注册事件
  • .net6 webapi log4net完整配置使用流程
  • .net生成的类,跨工程调用显示注释
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • @Repository 注解
  • @Slf4j idea标红Cannot resolve symbol ‘log‘
  • [Android]创建TabBar