SSRF漏洞

这篇具有很好参考价值的文章主要介绍了SSRF漏洞。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SSRF(Server-Side Request Forgery:服务器端请求伪造)
严正声明:本文仅限于技术讨论,严禁用于其他用途。

ssrf漏洞原理

  • 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞
  • SSRF漏洞形成的原因主要是服务端提供了从其他服务器应用获取数据的功能,并且未对客户端所传输过来的URL参数进行严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据
  • 数据流:攻击者----->服务器---->目标地址

绕过方案

  • 一般情况下利用URL解析导致SSRF过滤被绕过基本上都是因为后端通过不正确的正则表达式对URL进行了解析。而在2017年的Blackhat大会上,Orange Thai 在blackhat中发表的演讲《A New Era of SSRF - Exploiting URL Parser in Trending Programming Languages! 》中介绍了SSRF攻击的一个新的角度———利用不同编程语言对URL的处理标准来绕过SSRF过滤,从而实施攻击。该方式主要是利用URL解析器和URL请求器之间的差异性发起攻击,由于不同的编程语言实现URL解析和请求是不一样的,所以很难验证一个URL是否合法

很难验证一个URL是否合法的原因在于:

1.在 RFC2396/RFC3986 中进行了说明,但是也仅仅是说明。2.WHATWG(网页超文本应用技术工作小组)定义了一个基于RFC协议的具体实现,但是不同的编程语言仍然使用他们自己的实现。

下图展示了cURL请求函数与其他语言解析函数结合使用时,由于差异性造成的漏洞
image.png
可以得知,NodeJS url、Perl URI、Go net/url、PHP parser_url以及Ruby addressable解析函数与cURL libcurl请求函数差异性都可能造成漏洞的产生
下图的实例中,我们看到上述所述编程语言的解析函数得到的IP是google.com,而cURL请求得到的却是evil.com:80
image.png

curl—命令行工具

  • 命令行工具,可以从shell或者脚本中运行该工具。
  • 提供了130多种不同的“flags”
  • 通常被用来模拟浏览器的行为
  • 跨平台

libcurl—库

  • 用作其他程序的开发库
  • 可以与许多语言想结合,如PHP、C++
  • 跨平台
  • 提供了多种不同的使用它的APIs

相同点

  • curl和libcurl都可以利用多种多样的协议来传输文件,包括HTTP, HTTPS, FTP, FTPS, GOPHER, LDAP, DICT, TELNET and FILE等。

不同点

  • curl是命令行工具,可以通过shell或脚本来运行curl。curl底层所使用的库是libcurl。
  • libcurl是一个库,通常与别的程序绑定在一起使用,如命令行工具curl就是封装了libcurl库。所以我们也可以在你自己的程序或项目中使用libcurl以获得类似CURL的强大功能。接下来将要介绍的PHP扩展就是对curl的一个封装。

①点分割符号替换

在浏览器中可以使用不同的分割符号来代替域名中的.分割,可以使用来代替:

http://www。qq。com
http://www。qq。com
http://www.qq.com
无效的绕过方式

②本地回环地址

127.0.0.1,通常被称为本地回环地址(Loopback Address),指本机的虚拟接口,一些表示方法如下(ipv6的地址使用http访问需要加[]):

http://127.0.0.1 
http://localhost 
http://127.255.255.254 
127.0.0.1 - 127.255.255.254 
http://[::1] 
http://[::ffff:7f00:1] 
http://[::ffff:127.0.0.1] 
http://127.1 
http://127.0.1 
http://0:80

image.png

③IP的进制转换

IP地址是一个3文章来源地址https://www.toymoban.com/news/detail-438713.html

到了这里,关于SSRF漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • appium踩坑(VIVO手机)报错:An unknown server-side error occurred while processing the command.Original error

    appium报错:Failed to create session. An unknown server-side error occurred while proces....... 1、appium管理员身份运行,重新填写配置中的ANDROID_HOME和JAVA_HOME 2、appium地址从127.0.0.1 改为0.0.0.0 3、运行Inspector host地址改为localhost其他保持不变 可成功运行Inspector,不知道哪一步解决的,总之在127.0

    2024年04月28日
    浏览(43)
  • Appium如何解决报错:An unknown server-side error occurred while processing the command. Original error: Er

    使用appium客户端连接小米手机失败,完整报错信息如下: An unknown server-side error occurred while processing the command. Original error: Error executing adbExec. Original error: ‘Command ‘{已隐藏}/Library/Android/sdk/platform-tools/adb -P 5037 -s fca2117a shell settings delete global hidden_api_policy_pre_p_apps’ exited with c

    2024年04月15日
    浏览(63)
  • Web漏洞之SSRF(服务器端请求伪造)

    服务器会根据用户提交的URL 发送一个HTTP 请求。使用用户指定的URL,Web 应用可以获取图片或者文件资源等。典型的例子是百度识图功能。 如果没有对用户提交URL 和远端服务器所返回的信息做合适的验证或过滤,就有可能存在“请求伪造”的缺陷。“请求伪造”,顾名思义,

    2024年02月04日
    浏览(48)
  • 跨站点请求伪造攻击 - Cross Site Request Forgery (CSRF)

    最好理解CSRF攻击的方式是看一个具体的例子。 假设你的银行网站提供一个表单,允许当前登录用户将钱转账到另一个银行账户。例如,转账表单可能如下所示:

    2024年01月21日
    浏览(44)
  • 【SEED LAB】Cross-Site Request Forgery (CSRF) Attack Lab -跨站请求伪造

    实际上,用户网页对于网址的请求分为两种。一种是用户浏览器发送给相同网站的数据,被称为 same-site request 。相反,用户浏览器发送给其他网站的数据被称为 cross-site request 也就是跨境请求。 在HTTP传输过程中,产生的响应形式一般分成两种。一种是 GET 型,另一种是 POST

    2024年02月09日
    浏览(41)
  • Server side event (SSE)实现消息推送功能

     在开发web项目时,有一个需求是: 后端服务器 要 主动地 、 不断地 推送消息给 客户端网页 。要实现该需求,需要先考虑几个常用的技术方案: 在客户端网页用 fetch 、 XmlHttpRequest 发送请求是 行不通 的,因为这类请求在后端返回一次数据之后就会中断连接,导致后端无法

    2024年02月06日
    浏览(44)
  • SSRF漏洞拓展

    目录 SSRF漏洞拓展 curl_exec函数 一、ssrf配合gopher协议反弹shell 二、ssrf配合gopher协议写马 三、ssrf配合gopher协议ssh免密登录 四、ssrf配合dict协议反弹shell 实验环境: 1、利用定时任务构造反弹shell 2、进行URL编码 3、然后把%0a换成%0d%0a,最后再加上%0d%0a,再进行一次url编码 4、对参

    2024年02月09日
    浏览(38)
  • Weblogic SSRF漏洞

    2.1bp抓包,测试该漏洞。通过测试端口,查看哪个端口能够进行具体得操作 2.2注入HTTP头,利用Redis反弹shell

    2024年02月07日
    浏览(37)
  • 漏洞原理——ssrf

    SSRF (Server-Side Request Forgery,服务器端请求伪造) 是一种由攻击者构造请求,由服务端发起请求的安全漏洞,一般情况下,SSRF攻击的目标是外网无法访问的内网系统,也正因为请求是由服务端发起的,所以服务端能请求到与自身相连而与外网隔绝的内部系统。也就是说可以利用

    2024年02月08日
    浏览(42)
  • SSRF漏洞

    SSRF(Server-Side Request Forgery:服务器端请求伪造) 严正声明:本文仅限于技术讨论,严禁用于其他用途。 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞 SSRF漏洞形成的原因主要是 服务端提供了从其他服务器应用获取数据的功能,并且未对客户端所传输过来的URL参数进

    2024年02月03日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包