0
点赞
收藏
分享

微信扫一扫

如何选择最佳路线?

elvinyang 2024-08-25 阅读 26

目录

一.漏洞原理

二.SSRF的利用

三.靶场练习

1.内网访问

2.伪协议读取文件

3.端口扫描

4.POST请求


一.漏洞原理

SSRF 服务端请求伪造 原理:在某些网站中提供了从其他服务器获取数据的功能,攻击者能通过构造恶意的URL参数,恶意利用后可作为代理攻击远程或本地的服务器。

二.SSRF的利用

1.对目标外网、内网进行端口扫描。
2.攻击内网或本地的程序或应用
3.利用file协议读取本地文件
4.利用get攻击外网或内网的web应用

三.靶场练习

1.内网访问

根据提示在url后的参数读取flag.php

2.伪协议读取文件

根据提示,采用file协议即可拿到flag

ssrf漏洞中常使用的伪协议:
1.file:主要用于读取服务器本地文件,访问本地的静态资源
2.dict:一般用来探测内网主机以及端口开放情况,也可以用来执行一些服务的命令
3.gopher:分布式文档传递服务,使用gopher可发送各种格式的请求包,利用此协议可以攻击内网的FTP、Telnet、Redis等,也可进行GET,POST请求

3.端口扫描

根据提示爆破8000-9000的端口

发现8603端口的长度和别的端口有较大差别

4.POST请求

使用file协议查看flag.php

根据其中的php源码可得知,该源码检查客户端请求是否通过post传递了一个有效key值,传递了的话则输出flag

这里使用gopher协议向服务器发送post包,首先构造gopher协议需要的post请求

先访问flag.php获得key

即可构造gopher所需的post请求

POST /flag.php HTTP/1.1
Host: 127.0.0.1:80
Content-Length: 36
Content-Type: application/x-www-form-urlencoded
key=6d6f1d103699402e50beaa8d49f32823

在向服务器发送请求时,浏览器会进行第一次URL解码,服务器收到请求执行curl后进行第二次URL解码。所以需要对构造的请求包也进行两次URL编码,这里借助在线工具即可,注意:第一次编码后,需要将%0A全部替换为%0D%0A

将编码后的数据放入参数中提交即可获得flag
 

gopher协议
?url=gopher://127.0.0.1:80/_

举报

相关推荐

2023年 React 最佳学习路线

0 条评论