SSRF服务器请求伪造原理和pikachu靶场实验

★★免责声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

1、SSRF简介

SSRF全称:Server-Side Request Forgery,服务器端请求伪造,是指攻击者能够从易受攻击的指攻击者能够从易受攻击的。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。利用一个可以发起网络请求的服务,当做跳板来攻击其它服务。

2、SSRF成因

大部分是由于服务端提供了从其他服务器应用获取数据的功能但没有对目标地址做过滤与限制,利用存在缺陷的web应用作为代理去攻击远程和本地的服务器。

在这里插入图片描述

图片来源网络

3、SSRF原理

正常用户访问网站的流程:

输入网站URL --> 发送请求–> 服务器接受请求(没有过滤),并处理 -->返回用户

SRF漏洞:

就是通过篡改获取资源的请求发送给服务器,但是服务器并没有检测这个请求是否合法,然后服务器以他的身份来访问其他服务器的资源。

在这里插入图片描述

图片来源网络

在PHP中使用下面函数不当会导致SSRF:

# 这些函数可以通过网络协议访问目标服务器上的资源
file_get_ contents()
fsockopen()
curl_exec()

4、SSRF危害和漏洞挖掘

4.1、SSRF危害

1、可以对服务器所在内网、本地进行端口扫描,获取一些服务的信息等
2、目标网站本地敏感数据的读取
3、内外网主机应用程序漏洞的利用
4、内外网Web站点漏洞的利用

4.2、漏洞挖掘

1.在任何可以导入链接的地方都可以试试是否存在SSRF漏洞;
2.如果存在SSRF漏洞,看一看可不可以利用file协议,可以利用file协议读取文件;
3.如果只能依靠返回信息,可以利用脚本来扫描内网的存活主机和端口扫描,做一个内网的信息收集。如果扫描到一些能利用的端口漏洞,就可以利用服务器做跳板对其进行利用,比如redis服务。

5、SSRF防御及绕过

5.1、SSRF防御5个思路

1、过滤返回信息,验证远程服务器对请求的相应,是比较容易的方法。如果 Web 应用获取某种类型的文件,可以在把返回结果展示给用户之前先验证返回信息是否符合标准。

2、统一错误信息,避免用户根据错误信息来判断远程服务器端口状态。

3、黑名单内网 IP,避免应用被用来获取内网数据,攻击内网。

4、禁用不需要的协议。仅仅允许HTTP和HTTPS请求。可以防止类似于file://、ftp://等引起的问题。

5.2、SSRF绕过技巧

1、利用@符号
http://example.com@127.0.0.1
2、添加端口号
http://127.0.0.1:8080
3、利用短地址
http://dwz.cn/11SMa
4、利用特殊域名
xip.io
5、利用封闭式字母数字
ⓔ ⓧⓐ ⓜⓟ ⓛⓔ .ⓒ ⓞⓜ>>> example.com

清单:
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳
⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇
⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛
⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴
⒵ Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ ℗ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ
Ⓨ Ⓩ ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ
ⓧ ⓨ ⓩ ⓪ ⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴ ⓿

6、利用句号 。或利用 [::] 绕过
http://127。0。0。1
7、利用进制转换
http://2130706433/

6、pikachu靶场实验

6.0、环境准备

靶场环境搭建详参考《靶场环境搭建【XP、pikachu、dvwa、sqli-labs】》

6.1、SSRF(curl)

先点:累了吧,来读一首诗吧,然后看到url地址有变化有拼接了?url

在这里插入图片描述

把url后尝试修改为www.baidu.com

在这里插入图片描述

在小皮WWW目录下创建一个test.txt,里面添加写SSRF test1,使用伪协议file://来读取

在这里插入图片描述

6.2、SSRF(file_get_content)

先点:反正都读了,那就在来一首吧,然后看到url地址有变化有拼接了?file=

在这里插入图片描述

把file后尝试修改为www.baidu.com

在这里插入图片描述

在小皮WWW目录下创建一个test.txt,里面添加写SSRF test1,使用伪协议file://来读取

在这里插入图片描述

7、下期内容预告

下期内容分享XXE相关内容,敬请关注我的公众号:大象只为你,持续更新中…

相关推荐

  1. 34-1 SSRF漏洞 - SSRF服务请求伪造

    2024-03-10 23:30:02       14 阅读
  2. 34-2 SSRF服务器请求伪造)漏洞 - SSRF相关函数

    2024-03-10 23:30:02       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-10 23:30:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-10 23:30:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-10 23:30:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-10 23:30:02       20 阅读

热门阅读

  1. Android JNI 普通方法和静态方法详解

    2024-03-10 23:30:02       24 阅读
  2. .Net预处理器指令

    2024-03-10 23:30:02       23 阅读
  3. CSS、less、Sass、Scss、Stylus的认识

    2024-03-10 23:30:02       20 阅读
  4. Vue3中如何将一个div进行拖拽

    2024-03-10 23:30:02       22 阅读
  5. SpringBoot整合ActiveMQ步骤

    2024-03-10 23:30:02       19 阅读
  6. Kafka|处理 Kafka 消息丢失的有效措施

    2024-03-10 23:30:02       21 阅读
  7. Rust 语言的 println! 宏的格式占位符

    2024-03-10 23:30:02       19 阅读
  8. 代码随想录 贪心算法-简单题目

    2024-03-10 23:30:02       17 阅读
  9. Open vSwitch: 深入解析现代网络虚拟化的核心

    2024-03-10 23:30:02       22 阅读