SSRF漏洞整理 – 作者:让开尼姑是我的

简介

  • 自我学习与自我鼓励,文章用来自己更好的记住知识,大佬绕过

免责声明

  • 网络安全,是需要人去守护的,这是一个很有责任感的事情,不要对未授权网站进行测试,后果自负

一、SSRF原理

  • 服务端请求伪造(Server-Side Request Forgery),所谓的服务端请求伪造就是web服务器提供了向别的服务器获取信息的一个接口,那么正常来说就是web服务器向别的服务器请求信息文件等,但是这时候由于请求信息是没有作严格的过滤,导致了hack可以恶意构造请求信息,向内网的其它服务器发起恶意请求

二、作用

  • 内外网的端口和服务扫描

  • 攻击运行在内网或本地的应用程序

  • 对内网web应用进行指纹识别,识别企业内部的资产信息

  • 攻击内网的web应用,主要是使用GET参数就可以实现的攻击(比如Struts2漏洞利用,SQL注入等)

  • 利用file协议读取本地敏感数据文件等

三、漏洞挖掘

  • web功能上挖掘
    • 分享功能上:比如分享文章,分享图片等,因为分享文章是由客户端先向服务端发起分享请求,服务端接收到请求后,处理客户端想分享的位置,那么这里客户端想分享到哪个位置,服务器就把文件分享到哪个位置,所以就是由服务端分享客户端的请求,那么如果服务端过滤不严格的话,hack客户端制造恶意分享请求,比如构造恶意链接,文件有或者端口存在的情况下返回的信息是不一样的,所以hack可以通过这些来进行端口的探测和file文件的读取

    • 转码服务:原理和分享功能一样:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览,由于手机屏幕大小的关系,直接浏览网页内容的时候会造成许多不便,因此有些公司提供了转码功能,把网页内容通过相关手段转为适合手机屏幕浏览的样式。例如百度、腾讯、搜狗等公司都有提供在线转码服务。

    • 在线翻译:通过URL地址翻译对应文本的内容。如果翻译是由服务端翻译的话,就代表像服务端发起请求,那么服务端如果没处理好这个请求,就会造成ssrf

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

      图片加载远程图片地址此功能用到的地方很多,但大多都是比较隐秘,比如在有些公司中的加载自家图片服务器上的图片用于展示。(此处可能会有人有疑问,为什么加载图片服务器上的图片也会有问题,直接使用img标签不就好了? ,没错是这样,但是开发者为了有更好的用户体验通常对图片做些微小调整例如加水印、压缩等,所以就可能造成SSRF问题)

    • 此处的图片、文章收藏中的文章收藏就类似于功能一、分享功能中获取URL地址中title以及文本的内容作为显示,目的还是为了更好的用户体验,而图片收藏就类似于功能四、图片加载。

    • 此处类似的功能有360提供的网站评分,以及有些网站通过api获取远程地址xml文件来加载内容。

      在这些功能中除了翻译和转码服务为公共服务,其他功能均有可能在企业应用开发过程中遇到

  • 从URL关键字中寻找
    • SSRF常存在url中的关键字整理
    • (可以通过google语法搜索这些关键字)
      share
      wap
      url
      link
      src
      source
      target
      u
      3g
      display
      sourceURl
      imageURL
      domain

四、漏洞利用

五、漏洞防御

  • 过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。

  • 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。

  • 限制请求的端口为http常用的端口,比如,80,443,8080,8090。

  • 黑名单内网ip。避免应用被用来获取获取内网数据,攻击内网。

  • 禁用不需要的协议。仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp:// 等引起的问题。

六、总结

  • 安全是场修行的路,原自己潜心学习不骄不躁

来源:freebuf.com 2020-08-16 22:29:13 by: 让开尼姑是我的

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论