ctfhub之ssrf


ctfshow之ssrf

第一部分

内网访问(http协议)

尝试访问位于127.0.0.1的flag.php吧

payload

直接构造url?url=http://127.0.0.1/flag.php

image-20210719213700332

伪协议读取文件(file协议)

尝试去读取一下Web目录下的flag.php吧

linux网站的默认目录是/var/www/html

payload

?url=file:///var/www/html/flag.php

image-20210719214708812

右键查看页面源码

image-20210719214812341

端口扫描(http/dict协议)

来来来性感CTFHub在线扫端口,据说端口范围是8000-9000哦,

在SSRF中,dict协议与http协议可用来探测内网的主机存活与端口开放情况。

这里要对ip进行内网端口探测,使用burp抓包跑一下

对端口参数添加一下变量

image-20210719220453504

这里还可以是dict协议

设置一下参数

image-20210719220428828

根据长度找到开放的端口为8347,flag存在于响应包中

image-20210719220708156

第二部分 gopher协议

POST请求

这次是发一个HTTP POST请求.对了.ssrf是用php的curl实现的.并且会跟踪302跳转.加油吧骚年

目录扫描

index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

error_reporting(0);

if (!isset($_REQUEST['url'])){
header("Location: /?url=_");
exit;
}

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $_REQUEST['url']);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_exec($ch);
curl_close($ch);

文章作者: l0odrd
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 l0odrd !
  目录