您当前的位置: 首页 > 

星球守护者

暂无认证

  • 2浏览

    0关注

    641博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SSRF知识点总结

星球守护者 发布时间:2020-02-09 10:23:00 ,浏览量:2

文章目录
    • 第一章
        • 第一节 SSRF 概述
        • 第二节 SSRF 危害
    • 第二章SSRF 常见代码实现
    • 第三章 SSRF利用
        • 第一节 访问正常文件
        • 第二节 端口扫描
        • 第三节 读取系统本地文件
        • 第四节 内网Web 应用指纹识别
        • 第五节 攻击内网应用
    • 第四章 SSRF 的防御
        • 第一节 限制协议
        • 第二节 限制IP
        • 第三节 限制端口
        • 第四节 过滤返回信息
        • 第五节 统一错误信息

第一章 第一节 SSRF 概述
互联网上的很多Web 应用提供了从其他服务器(也可以是本地)获取数据的功能。
使用用户指定的URL,Web 应用可以获取图片、文件资源(下载或读取)。

用户可以从本地或者URL 的方式获取图片资源,交给百度识图处理。如果提交的是URL 地址,该应用就会通过URL 寻找图片资源。如果Web 应用开放了类似于百度识图这样的功能,并且对用户提供的URL 和远端服务器返回的信息没有进行合适的验证或者过滤,就可能存在“请求伪造”的缺陷请求伪造,顾名思义就是攻击者伪造正常的请求,以达到攻击的目的,是常见的Web 安全漏洞之一。 如果“请求伪造”发生在服务器端,那么这个漏洞就叫做“服务器端请求伪造”,英文名字为Server-Side Request Forgery,简称SSRF

SSRF(Server-Side Request Forgery,服务器端请求伪造)是一种攻击者发起的伪造由服务器端发起请求的一种攻击,也是常见Web 安全漏洞(缺陷或者风险)之一。
第二节 SSRF 危害
端口扫描
内网Web 应用指纹识别
攻击内网Web 应用
读取本地文件
第二章SSRF 常见代码实现

在服务器端实现通过URL从服务器(外部或者内部)获取资源功能的方法有很多,此处使用PHP 语言和curl扩展实现改功能。 通过phpinfo() 函数查看对curl 扩展的支持,现在大部分wamp 套件均支持curl 扩展。

服务器端代码如下


将以上代码保存成文件[ssrf_curl.php]。
该段代码实现了从服务器获取资源的基本功能,提交
[?url=http://www.xxx.com ]
页面就会载入百xxx首页的资源。
同时,获取的资源文件会保存在[./curled]中,并以发起请求时间的unix 时间戳命名。
第三章 SSRF利用 第一节 访问正常文件
访问正常的文件,提交参数[?url=http://www.xxx.com/robots.txt]
第二节 端口扫描

(扫描内网的机器的端口)

当访问未开放端口,脚本会显示空白或者报错。提交参数[?url=dict://127.0.0.1:1234]
当访问开放端口时,脚本会显示banner 信息。
提交参数[?url=dict://172.16.132.152:22](有成功率)
   
提交参数[?url=dict://127.0.0.1:3306]
 
提交参数[?url=dict://127.0.0.1:21]
第三节 读取系统本地文件
  利用file 协议可以任意读取系统本地文件,提交参数\
    [?url=file://c:\windows\system32\drivers\etc\hosts]
第四节 内网Web 应用指纹识别
识别内网应用使用的框架,平台,模块以及cms可以为后续的渗透测试提供很多帮助。
大多数web应用框架都有一些独特的文件和目录。
通过这些文件可以识别出应用的类型,甚至详细的版本。
根据这些信息就可以针对性的搜集漏洞进行攻击。

比如可以通过访问下列文件来判断phpMyAdmin是否安装以及详细版本。
[?url=http://localhost/phpmyadmin/README]
第五节 攻击内网应用
内网的安全通常都很薄弱,溢出、弱口令等一般都是存在的。
通过ssrf攻击,可以实现对内网的访问,从而可以攻击内网应用或者本地机器,获得shell,这里的应用包括服务、Web 应用等。
仅仅通过get方法可以攻击的web应用有很多,比如struts2命令执行等。

SSRF 漏洞的挖掘 对外发起网络请求的地方都可能存在SSRF漏洞,列举图片加载下载,分享页面,在线翻译,未公开的api(从远程服务器请求资源文件处理,编码处理, 属性信息处理等。

第四章 SSRF 的防御 第一节 限制协议
仅允许http和https请求。
第二节 限制IP
避免应用被用来获取内网数据,攻击内网。
第三节 限制端口
限制请求的端口为http常用的端口,比如,80,443,8080,8090。
第四节 过滤返回信息
验证远程服务器对请求的响应是比较简单的方法。
第五节 统一错误信息
免用户可以根据错误信息来判断远端服务器的端口状态
关注
打赏
1662051426
查看更多评论
立即登录/注册

微信扫码登录

0.0548s