渗透测试基础-SSRF服务器端请求伪造

只为对所学知识做一个简单的梳理,如果有表达存在问题的地方,麻烦帮忙指认出来。我们一起为了遇见更好的自己而努力💪!

简介

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是目标网站的内部系统

CSRF = 客户端请求伪造 c代表客户器 client
SSRF = 服务端请求伪造 s代表服务端 server

CSRF:(跨站请求伪造)是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。

SSRF 形成的原因

大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片文档,等等。也就是说,对于为服务器提供服务的其他应用没有对访问进行限制,如果我构造好我的访问包,那我就有可能利用目标服务对他的其他服务器应用进行调用。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)。

在简短一点就是:SSRF漏洞就是通过篡改获取资源的请求发送给服务器,但是服务器并没有检测这个请求是否合法的,然后服务器以他的身份来访问其他服务器的资源。

就比如,当我们用自己的电脑访问百度,查询IP时,百度会显示我当前的IP。但是用翻译网站去访问百度,并查询IP时,它显示的IP和刚刚不一样了,这里就能说明,是翻译网站的服务器去做了这样一个查询动作。

SSRF的主要危害

攻击者利用SSRF可以实现的攻击主要有5种:

  1. 可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务器的banner信息;
  2. 攻击运行在内网或本地的应用程序(比如溢出);
  3. 对内网web应用进行指纹识别,通过访问默认文件实现;
  4. 利用dict协议测试扫描端口
  5. 利用file协议读取本地文件等。

SSRF漏洞的检测方式

因为一般SSRF是由于服务器获取其他服务器的相关信息的功能中形成的,所以在寻找中,应该注意一下几点:

  1. 分享功能点:通过URL地址分享网页内容
  2. 转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
  3. 在线翻译
  4. 图片加载与下载:通过URL地址加载或下载图片
  5. 图片、文章收藏功能
  6. 未公开的API实现以及其他调用URL的功能

从URL关键字中寻找

在对功能上存在SSRF漏洞中URL地址特征的观察,通过一段时间的收集,大致有以下关键字:

share wap url 
link src source 
target u 3g 
display sourceURl imageURL 
domain

如果利用Google语法加上这些关键字去寻找SSRF漏洞,耐心的验证,还是可以找到SSRF漏洞。

CCRF靶场演练:

在这里插入图片描述
靶场看起来像是一个搜索界面,说可以代替访问一些网站,这和SSRF很像,它至少满足了从服务端请求网络

这里进一步尝试一下
在这里插入图片描述
用本机打开了爱站网看到了我本机的出口IP是多少,来试试靶场的

在这里插入图片描述
这里看到IP地址变了,证明了前面的猜想,在用dict看一下本机的端口。

这里推荐用Burp,不然一共65535个端口,常用的端口少说也要1000多个,测起来太累,用Burp
在这里插入图片描述
这里暂时用1代替端口号,用Burp找起来简单

这里看到了这么几个端口数据是有变化的
在这里插入图片描述
还看到了8081同为网站端口,http为什么需要用两个呢 来尝试一下。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
原来这里的flag源码中。

漏洞总结

SSRF的防御手段通常有以下5个思路:

  1. 过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
  2. 统一错误信息,避免用户可以根据错误信息来判断远程服务器的端口状态。
  3. 限制请求的端口为http常用的端口,比如,80,443,8080,8090
  4. 黑名单内网IP。避免应用被用来获取内网数据,攻击内网。
  5. 禁用不需要的协议。仅仅允许httphttps请求。可以防止类似于 file://, gopher://, ftp://协议引起各类问题。

《最好的防御,是明白其怎么实施的攻击》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
程声明:该课程是教学使用,视频内涉及漏洞利用方法,请勿在互联网环境中使用;维护互联网安全,人人有责。实验所需环境:vmware;kali虚拟机一台;windows server一台;有docker环境的Linux虚拟机环境下载地址在购买课程后单独发送 【课程配套资源】1、Python脚本(Margin老师自研,不光能学漏洞,还能学Python,实在是划算)2、与Margin老师实时互动3、免费的CISP-PTE考试技巧指导(Margin老师与CISP-PTE的负责人很熟的,非常多的一手消息^o^)4、Margin老师的内部直播可以优先参加5、Margin老师的课程基于CISP-PTE的知识体系进一步扩展,使课程内容更贴近实战   【课程主要解决问题】1、CSRF、SSRF搞不清楚?2、SSRF原理是什么?危害大小?如何利用SSRF获取主机权限?如果使用Python提高挖洞效率?3、Gopher协议、Dict协议?完全没听过啊,没关系,看完课程后你门清。4、SSRF透Redis数据库,Redis客户端和服务器端怎么通信?通信报文是怎么样的?看这里就行。5、SSRF透Struts2总是失败?不知道如何编码?不知道如何使用Gopher协议?来这里。6、SSRF表面简单,实则有无数坑,通过视频提高学习效率吧。 【CISP-PTE介绍】1、CISP-PTE是进入网络安全行业的TOP1认证,能帮你梳理完整的网络安全知识体系2、有PTE证书在网络安全公司是免技术笔试的,怎么样?是不是很棒。3、Margin老师的课程基于CISP-PTE的知识体系进一步扩展,使课程内容更贴近实战本课程属于CISP-PTE渗透测试工程师认证体系的课程,但内容更加丰富。CISP-PTE是国内第一个以动手实操为主的网络安全认证,该注册考试是为了锻炼考生世界解决网络安全问题的能力,持续增强我国的网络安全水平和防御能力,促进国内网络防御能力的不断提高。考试内容从多个层面进行,考点和网络安全动态相结合,真实的反应出真实的网络环境中发现的各种问题。如果要考取CISP-PTE证书需要掌握以下内容:1、Web安全基础,注入漏洞、上传漏洞、跨站脚本漏洞、访问控制漏洞、会话管理漏洞哦等。2、中间件的安全知识,如:Apache,IIS,Tomcat,以及 JAVA 开发的中间件 Weblogic,Jboss, Websphere 等,且要了解中间件加固方法,在攻与防的能力上不断提升。3、操作系统安全,包含Windows和Linux操作系统,从账户管理、文件系统权限、日志审计等方面讲解,了解常见的漏洞方式和加固方法。4、数据库安全,包含MSSQL、MYSQL、ORACLE、REDIS数据,了解常用的数据库漏洞和题全方法,保证数据库的安全性。 【关于Margin老师】· Margin/教育系统网络安全保障人员认证首批讲师/高级讲师· 擅长CTF/Web安全渗透测试 /系统安全· 3年研发/擅长Java/Python/某银行现金循环机业务系统开发者· 曾参与开发网络安全认证教材· 知乎专栏/CISP-PTE渗透测试工程师学习· 4年线下网络安全讲师/2000+线下学员/100000+线上学员
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jinxya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值