[10期]浅谈SSRF安全漏洞

引子:SSRF 服务端请求伪造攻击

很多web应用都提供从其他服务器上获取数据的功能。使用用户指定的URL,web应用可以从其他服务器获取图片,下载文件,读取文件内容等。

这个功能被恶意使用的话,可以利用存在此缺陷功能的web应用作为代理(读取其他服务器攻击载荷),攻击远程和本地服务器。这种形式的攻击叫SSRF。                   以上攻击载荷都是客户端编写URL让服务端完成加载,最后由服务端执行与发起。

剧透,本文所有知识,方式均借鉴于www.wooyun.org   该网站未被弹劾时,是国内白帽子的学习天堂,有点国内哈佛的环境,无所不言,无所不思。乌云没了,就感觉你最重要的人走了的这种心痛。良药苦口,以后遇到说你的东西存在严重问题时,你可以不理睬,但一定要克制住自己,不要利用关系痛下杀手,排挤别人出局。        还是附带一个参考源吧:https://www.shentoushi.top/knowledge

分析知识源:得到各程序的代码功能性知识,利用功能性做验证,检查是否存在缺陷。要掌握这种挖洞能力需要具备以下几点:

1.需要阅读源代码(从软件工程的角度)学习软件功能而不是从每一句话,每一个函数,从一整块功能性的代码入手。

2.需要引子,功能性代码别人是如果发现与测试出来的?有一个例子先行,然后模仿它,举一反三(你改了这里做测试,那我明白了,改一下其他地方做做实验)。

师傅不教你踩离合器挂上一档,或者你没看过教学视频,你是不会举一反三挂上二三四五档和倒挡的,就是这个学习心理。

防御也是一样:攻击步骤你都不清楚,你知道在哪里做防御吗?下载安全狗,搞好防火墙。最后发现一样被莫名其妙的攻击了。

学语言是为了看懂功能性的代码,知道功能性是为了发现漏洞,学安全是为了得到实际的经验然后开窍自己FQ上YouTube找到一手教学信息。

因为,国内大部分的开源教学都是从国外网站,YouTube搬运过来的。有的甚至拿这个信息差割韭菜收你的费用。

可以利用该漏洞实现的攻击方式:

信息收集:对外网、服务器所在内网、本地进行端口扫描,获取一些服务的bannar信息。对内网web应用进行指纹识别,访问默认文件实现。

在下图方式入手:       可以发现其实就是在GET方式或者POST方式上面尝试提交URL

这里可以用python写一个脚本,判断端口返回的信息是否为空,来完成信息收集    【本地进行端口扫描】

提交得到的URL看是否可以识别,如果可以就说明用的tomcat

执行指令:主要是使用GET参数(比如struts2,sqli等)

执行指令(溢出):攻击运行在内网或本地的应用程序(比如溢出)

信息收集:利用file协议读取本地文件等

以下业务场景容易出现这种漏洞:

1.应用从用户指定的URL获取图片。然后把它用一个随机文件名保存在硬盘上,并展示给用户

2.应用获取用户指定URL的数据(文件或HTML)。这个函数会使用socket跟服务器建立tcp连接,传输原始数据

3.应用根据用户提供的URL,抓取用户的web站点,并自动生成移动wap站

4.应用提供测速功能,根据用户提供的URL,访问目标站点,以获取其在对应经纬度的访问速度

1)分享:通过URL地址分享网页内容

2)转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览

3)在线翻译:通过URL地址翻译对应文本的内容

4)图片加载与下载:通过URL地址加载或下载图片

5)图片、文章收藏功能

6)未公开的API实现以及其他调用URL的功能

7)URL关键词寻找             在对功能上存在SSRF漏洞中URL地址特征的观察,大致有以下关键字:

share      wap       url     image     link     src     source      target     u    3g    display     sourceURL       domain

SSRF漏洞验证       以下在客户端都看见了发起请求了,那就不是服务端发起的,所以不是SSRF漏洞

现在大多数修复SSRF的方法基本都是区分内外网来做限制(暂不考虑利用此问题来发起请求,攻击其他网站,从而隐蔽攻击者IP,防御此问题就要做请求的地址白名单)

实例验证

防御:

绕过

原文地址:https://www.cnblogs.com/sec875/p/10805601.html

时间: 2024-11-07 11:20:13

[10期]浅谈SSRF安全漏洞的相关文章

浅谈SSRF漏洞

转自:http://www.cnblogs.com/s0ky1xd/p/5859049.html 浅谈SSRF漏洞 SSRF漏洞是如何产生的? SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞.一般情况下,SSRF攻击的目标是从外网无法访问的内部系统.(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统) SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有

(原创)浅谈任意文件下载漏洞的利用

文章写的一般,如果有错误的地方,请指教~ 0x01 任意文件下载常见利用方式 0x02 信息收集部分 0x03 代码审计部分 0x04 总结 0x01 前言 在web语言中,php和java常常会产生任意文件下载漏洞,由于渗透测试的需要,常常需要进一步getshell,笔者对常见的任意文件下载漏洞常见的getshell方式进行总结.欢迎指出不足和错误之处 0x02 利用方式介绍 信息收集信息>猜路径 >>下载配置文件/代码文件 >> 利用服务器软件漏洞> shell&g

浅谈php反序列化漏洞

关于php的反序列化漏洞要先说到序列化和反序列化的两个函数,即: serialize() 和unserialize(). 简单的理解: 序列化就是将一个对象变成字符串 反序列化是将字符串恢复成对象 这样做的意义是为了将一个对象通过可保存的字节方式存储起来,同时就可以将序列化字节存储到数据库或者文本当中,当需要的时候再通过反序列化获取 . 另外我们提一下 2016 年的 CVE-2016-7124 绕过 __weakup 漏洞,感兴趣的同学可以自己去查一下,简单来说, 就是当成员属性数??于实际数

[8期]浅谈当代安全验证问题

用户名错误会提示你,而不进行密码和验证码的验证(未重新执行验证码脚本) 错误的玩法:验证用户名-验证密码-验证验证码 正确的玩法:验证验证码-刷新验证码-验证用户名-验证密码 无论后端验证码强度有多高,前端沦陷都没用   [还没有验证验证码,页面就跳转提示你账号密码错误] 语音播报验证码     调用语音识别API应对 滑动验证码对付打码平台,简单的机器学习对付滑动验证码     [按键精灵,基于机器学习的思维] 存在静态底图,通过css在前端产生动态效果,在前端JS里就能看到原理 在前端:安全

浅谈敏捷软件开发与传统软件开发

本文将介绍传统软件开发与敏捷软件开发,并简单分析二者的优缺. 首先我查阅相关资料大致了解了下为什么会爆发"软件危机"和什么是"软件危机".由于在早期的软件开发活动中有明显的个体化特征,开发流程不规范,人们没有将软件与程序加以详细的区别,对程序之外的数据和相关文档资料没有给予重视,对编写程序之外的软件活动也没有给予重视,因此出现了"软件危机"."软件危机"的特点有:开发成本急剧上升.不能按时交付软件.软件难以维护.无法保证软件质

【转】【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

ASP.NET MVC系列文章 原文地址:https://www.cnblogs.com/wangjiming/p/6275854.html [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP.NET框架 [05]浅谈ASP.NET MVC运行过程 [06]浅谈ASP.NET MVC 控制器 [07]浅谈ASP.NET MVC 路由 [08]浅谈AS

浅谈:APP有哪些常被黑客利用的安全漏洞

首先,说到APP的安全漏洞,身为程序猿的大家应该不陌生:如果抛开安卓自身开源的问题的话,其主要产生的原因就是开发过程中疏忽或者代码不严谨引起的.但这些责任也不能怪在程序猿头上,有时会因为BOSS时间催得紧等很多可观原因.所以本文会对 Android 系统的开源设计以及生态环境做一些浅谈. 1. 应用反编译漏洞:APK 包非常容易被反编译成可读文件,稍加修改就能重新打包成新的 APK.利用:软件破解,内购破解,软件逻辑修改,插入恶意代码,替换广告商 ID.建议:使用 ProGuard 等工具混淆代

浅谈CSS3 Filter的10种特效

Filters主要是运用在图片上,以实现一些特效(尽管他们也能运用于video上).但是,我们主要讨论的是Filter图片上的运用. 再来,介绍一下Filters的语法:Filters使用时候的语法非常简单,例如: elm { filter: none | <filter-function > [ <filter-function> ]* } 它的默认值是none,且不具备继承性.其中filter-function具有以下可选值: 1.grayscale灰度 2.sepia褐色 3

Android安全开发之启动私有组件漏洞浅谈

0x00 私有组件浅谈 android应用中,如果某个组件对外导出,那么这个组件就是一个攻击面.很有可能就存在很多问题,因为攻击者可以以各种方式对该组件进行测试攻击.但是开发者不一定所有的安全问题都能考虑全面. ? 对于这样的问题,最方便的修复方式就是在确定不影响业务的情况下,将这个存在问题的组件不对外导出变成私有组件.这样做的确很有效,私有组件也很安全.但是,如果存在某个私有组件能被导出组件启动的话,那么这个私有组件其实就不再是私有了.如果攻击者可以通过控制导出的组件对私有组件进行控制,那么攻