SSRF-服务器端请求伪造-相关知识

SSRF漏洞介绍:

SSRF漏洞(服务器端请求伪造):是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统,正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统,利用漏洞可以发起网络请求来攻击内网服务

SSRF漏洞原理:

SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制,比如从指定URL地址获取网页文本内容,加载指定地址的图片以及下载等等,利用的是服务端的请求伪造
SSRF是利用存在缺陷的web应用作为代理攻击远程和本地的服务器
SSRF是要目标网站的内部系统

SSRF漏洞可以做哪些事情

  • 可以对外网服务器所在内网、本地进行端口扫描,获取一些服务的banner信息
  • 对内网web应用进行指纹识别,比如通过访问默认文件实现
  • 攻击运行在内网或本地的应用程序比如溢出
  • 攻击内外网的web应用,主要是使用get参数就可以实现的攻击,比如struts2,sqli等漏洞工具
  • 利用file协议读取本地文件等

SSRF漏洞挖掘点:

SSRF攻击结果由涵数本身来决定,涵数功能越强大,攻击成功的机会就越高,如PHP的:curl_init、file_get_contents、fsockopen

网站功能:

  • 在线翻译
  • 转码服务
  • 图片、文章收藏功能
  • 图片加载与下载:通过URL地址加载或下载图片
  • 分享:通过URL地址分享网页内容
  • 未公开的api实现以及其他调用URL的功能
  • 所有调外部资源的参数都有可能存在ssrf漏洞

网站url参数:

  • share
  • wap
  • url
  • link
  • src
  • source
  • target
  • u
  • 3g
  • display
  • sourceURl
  • imageURL
  • domain

绕过方法:

利用解析URL所出现的问题

利用解析URL所出现的问题比如:http://www.xxx.com@192.168.0.1/

更改IP地址写法

改写成 8进制、16进制等,IP地址是一个32位的二进制数,通常被分割为4个8位二进制数,通常用“点分十进制”表示成(a.b.c.d)的形式,所以IP地址的每一段可以用其他进制来转换

比如将 http://192.168.66.133 转换为8进制:http://0300.0250.0102.0205
比如将 http://192.168.66.133 转换为16进制:http://0xc0.0xa8.0x42.0x85

比如将 http://127.0.0.1 转换为8进制:http://0177.0000.0000.0001
比如将 http://127.0.0.1 转换为16进制:http://0x7f.0x00.0x00.0x01

防范方法:

  • 白名单过滤
  • 对返回的内容进行识别
  • 过滤file:///、dict://、gopher://、ftp:// http:// https:// php:///危险schema
  • 过滤10.0.0.0/8 、172.16.0.0/12、192.168.0.0/16、localhost私有地址、IPv6地址

用pikachu靶场演示SSRF漏洞

SSRF(curl)

前端传进来的url被后台使用curl_exec()进行了请求,然后将请求的结果又返回给了前端,这关支持的协议挺多的:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE以及LDAP

读取文件:
Linux系统读取

file:///etc/passwd  

我在C盘下建立了一个ssrf文本文件,就读取这个文本 我用的 file:///C://ssrf.txt
在这里插入图片描述
根据banner返回,错误提示,时间延迟扫描端口:

http://192.168.1.15:22

这里探测 3306 是否开启,有结果就是开启了,没结果换换协议换协议还没有就是没探测出来或则没开端口
在这里插入图片描述

SSRF(file_get_content)

读取PHP文件的源码:

php://filter/read=convert.base64-encode/resource=ssrf.php

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值