CTF SSRF(服务器端伪造请求)

一、概念

SSRF(Server-Side Request Forgery),服务器端请求伪造,利用漏洞伪造服务器端发起请求,从而突破客户端获取不到数据的限制

对外发起网络请求的地方都可能存在SSRF漏洞

二、危害

  • 1、可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息
  • 2、攻击运行在内网或本地的应用程序(比如溢出)
  • 3、对内网Web应用进行指纹识别,通过访问默认文件实现
  • 4、攻击内外网的Web应用,主要是使用Get参数就可以实现的攻击(比如Struts2漏洞利用,SQL注入等)
  • 5、利用file协议读取文件

三、漏洞挖掘与判断

  • 从WEB功能上寻找

    • 分享:通过URL地址分享网页内容
    • 转码服务:通过URL地址吧原地址的网页内容调优使其适合手机屏幕浏览
    • 在线翻译:通过URL地址翻译对应文本的内容。
    • 图片加载与下载:通过URL地址加载或下载图片
    • 未公开的api实现以及其他调用URL的功能
  • 从URL关键字中寻找
    • share、wap、url、link、src、source、target、u、3g、display、sourceURL、imageURL、domain
  • 基本判断
    • 回显

      • 直接观察
      • 抓包
      • 用vps监听
    • 延时
    • DNS请求

四、相关函数

  • file_get_contents

  • fsockopen

  • curl_exec

五、IP绕过

  • 添加端口
    例如:192.168.200.9:80
  • 短网址
    利用302跳转到目标网址
  • 指向任意IP的域名xip.io
    例如:10.0.0.1.xip.io resolves to 10.0.0.1
  • IP限制绕过
    • 十进制
    • 八进制
    • 十六进制
    • 不同进制组合转换
  • 302跳转
  • 结合dict://file://gopher://
  • http://A.com@10.10.10.10
    相当于以http://A.com的身份访问10.10.10.10
  • http://A.com?xxx=xx
    后跟无用参数绕过

六、Gopher协议

gopher是一个互联网上使用过的分布型的文件搜索获取网络协议
gopher协议支持发出GET、POST请求:可以先截获get请求包和post请求包,在构成符合gopher协议的请求。gopher协议是ssrf利用中最强大的协议
利用 Gopher 协议拓展攻击面

1、使用限制


(图片来源见水印)

  • phpinfo中查看curl支持的协议
  • 数据库无密码

2、构造payload

https://github.com/tarunkant/Gopherus
https://github.com/swisskyrepo/SSRFmap

CTF SSRF(服务器端伪造请求)的更多相关文章

  1. 5.SSRF服务器端请求伪造

    SSRF(服务端请求伪造):是一种由攻击者构造形成由服务端发起请求的一个安全漏洞. 一般情况下,SSRF攻击的目标是从外网无法访问的内部系统.(正是因为它是由服务端发起的,所以它能够请求到与它相连而与 ...

  2. SSRF(服务端请求伪造)漏洞

    目录 SSRF SSRF漏洞的挖掘 SSRF漏洞利用 SSRF漏洞防御 SSRF SSRF(Server-Side Request Forgery,服务器端请求伪造)漏洞,是一种由攻击者构造请求,由服 ...

  3. Java HttpClient伪造请求之简易封装满足HTTP以及HTTPS请求

    HttpClient简介 HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 jav ...

  4. Flutter实战视频-移动电商-08.Dio基础_伪造请求头获取数据

    08.Dio基础_伪造请求头获取数据 上节课代码清楚 重新编写HomePage这个动态组件 开始写请求的方法 请求数据 .但是由于我们没加请求的头 所以没有返回数据 451就是表示请求错错误 创建请求 ...

  5. DNS反射放大攻击分析——DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器

    DNS反射放大攻击分析 摘自:http://www.shaojike.com/2016/08/19/DNS%E6%94%BE%E5%A4%A7%E6%94%BB%E5%87%BB%E7%AE%80%E ...

  6. ASP.NET-跨站伪造请求CSRF

    经常看到在项目中ajax post数据到服务器不加防伪标记,造成CSRF攻击,在Asp.net Mvc里加入防伪标记很简单在表单中加入Html.AntiForgeryToken()即可Html.Ant ...

  7. 08-Flutter移动电商实战-dio基础_伪造请求头获取数据

    在很多时候,后端为了安全都会有一些请求头的限制,只有请求头对了,才能正确返回数据.这虽然限制了一些人恶意请求数据,但是对于我们聪明的程序员来说,就是形同虚设.这篇文章就以极客时间 为例,讲一下通过伪造 ...

  8. 渗透之路基础 -- 跨站伪造请求CSRF

    漏洞产生原因及原理 跨站请求伪造是指攻击者可以在第三方站点制造HTTP请求并以用户在目标站点的登录态发送到目标站点,而目标站点未校验请求来源使第三方成功伪造请求. XSS利用站点内的信任用户,而CSR ...

  9. Flutter dio伪造请求头获取数据

    在很多时候,后端为了安全都会有一些请求头的限制,只有请求头对了,才能正确返回数据.这虽然限制了一些人恶意请求数据,但是对于我们聪明的程序员来说,就是形同虚设.下面就以极客时间为例,讲一下通过伪造请求头 ...

随机推荐

  1. Flink入门 - CoGroup和Join

    /* *CoGroup */ final StreamExecutionEnvironment streamExecutionEnvironment = StreamExecutionEnvironm ...

  2. 1519484 - How to analyze network disconnections shown in system log (transaction SM21)

    Symptom System log (transaction SM21) shows network disconnections, e.g.: Q04 Connection to user 264 ...

  3. 解决maven install报错:java.lang.NoClassDefFoundError: org/codehaus/plexus/compiler/util/scan/InclusionScanException

    问题:maven install时,报错:java.lang.NoClassDefFoundError: org/codehaus/plexus/compiler/util/scan/Inclusio ...

  4. 使用三层交换实现不同网段、不同 VLAN 互通

    上一篇实现了使用Trunk做跨交换机VLAN通信,这一篇就试试使用三层交换实现不同网段,不同VLAN间的通信. 实验拓扑 在一台三层交换机下面连接一台二层交换机,再在二层交换机下面连接两台VPC,地址 ...

  5. The Instruction Set In Cortex-M3

    The Cortex-M3 supports the Thumb-2 instruction set. This is one of the most important features of th ...

  6. mutable用于修改const成员函数中的成员变量

    http://no001.blog.51cto.com/1142339/389840/ mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词. 在C++中 ...

  7. Beta版本冲刺及发布成绩汇总

    作业要求 1.作业内容: 作业具体要求及评分标准的链接 2.评分细则 1.冲刺内容占30分. (1)  各成员两天完成的工作,以及后续两天的任务安排(表格的形式记录各个成员这两天的工作,表格内容参考S ...

  8. 【Audiophobia UVA - 10048 】【Floyd算法】

    题目大意:从a城市到b城市的路径中,尽可能让一路上的最大噪音最小. 题目思路:设d [ i ][ j ]表示 i 到 j 的最大噪音的最小值. 那么d [ i ][ j ] = min( d[ i ] ...

  9. 微信程序开发之-WeixinJSBridge调用

    微信的WeixinJSBridge还是很厉害的,虽然官方文档只公布了3个功能,但是还内置的很多功能没公布,但是存在.今天就好好和大家聊聊 功能1------发送给好友     代码如下: functi ...

  10. CSE301 – Bio-Computation

    CSE301 – Bio-Computation Assessment 3Contribution to overall module assessment 10%Submission deadlin ...