- 中间人(SSRF就是中间人)攻击,服务端请求伪造,主要攻击内网,打redis和weblogic特别厉害,目标网站的内部系统(他是从内部系统访问的,所以通过它攻击外部系统无法访问的内部系统,也就是目标网站当成中间人)。
- 大部分漏漏洞都是参数给变量的时候没有做任何限制导致漏洞。
- 攻击主要结果:
- 写webshell(需要知道web路径,有增删改查权限,gopher协议的使用,使用工具生成gopher 攻击ssrfpayload)
- 反弹shell(获取操作系统命令)
- 原理:
- 根本原因:
- SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。
- 从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制,比如从指定URL地址获取网页文本内容,加载指定地址的图片,文档等等。
- 程序员在写代码时候,使用了不安全的函数(curl_exec()、file_get_contents()、fsockopen() ),造成的
- 图示:
- A网站,是一个所有人都可以访问的外网网站,B网站是他们内部的网站,我们普通用户只能访问A网站,不能访问B网站,但是我们可以通过A网站做中间人,访问B网站,从而达到攻击B网站的目的。
- 通过篡改获取资源的请求发送给服务器,但是服务器没有检测这个请求是否合法,然后服务器以他的身份来访问其他服务器资源。
- 根本原因:
- 常用:
- SSRF攻击结果由涵数本身来决定,涵数功能越强大,攻击成功的机会就越高,如:curl_init()、file_get_contents()、fsockopen()
- 白盒就找这三个函数就行
- curl()函数详解:
- ssrf的问是:前端传进来的url被后台使用curl_exec()进行了请求,然后将请求的结果又返回给了前端。
除了http/https外,curl还支持一些其他的协议curl --version 可以查看其支持的协议,telnet
curl支持很多协议,有FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE以及LDAP
- ssrf的问是:前端传进来的url被后台使用curl_exec()进行了请求,然后将请求的结果又返回给了前端。
- SSRF漏洞利用中的万金油协议gopher:
- gopher协议是比http协议更早出现的协议,现在已经不常用了,但是在SSRF漏洞利用中gopher可以说是万金油,因为可以使用gopher发送各种格式的请求包,这样变可以解决漏洞点不在GET参数的问题了。
- 基本协议格式:URL:gopher://<host>:<port>/<gopher-path>
- 支持协议:
- http gopher (把post包当成get包去请求) dict等
- 用途:
- 读文件 | file_get_contents (使用php协议进行读文件,php协议使用base64编码可以把特殊符号转义,如果直接使用file协议进行读取,可能造成代码中断)
- 探测端口 | curl()
- 探测指纹
- 写webshell
- -----------------
- 可以对外网、服务器所在的内网,本地进行端口扫描,获取一些banner信息
- 攻击运行在内网或者本地的应用程序&#x
SSRF漏洞(服务器端请求伪造)
最新推荐文章于 2024-05-29 14:49:36 发布
本文详细介绍了SSRF(服务器端请求伪造)漏洞,强调其作为中间人攻击内网系统的能力,特别是针对redis和weblogic。攻击者利用不安全的函数如curl_exec()、file_get_contents()、fsockopen()发起请求,通过gopher协议等绕过限制。SSRF能读取文件、探测端口、执行操作系统命令,并列举了多个利用工具。防范措施包括过滤本地IP、协议和实施白名单过滤。
摘要由CSDN通过智能技术生成