ctfshow-web(21-28)爆破

news/2025/11/28 18:08:09/文章来源:https://www.cnblogs.com/godjian/p/19283681

ctfshow-爆破

web21

有前缀加base64

image-20251126150913097

image-20251126151024799

我们进行抓包

发现base64加密

image-20251126151346235

发送到爆破模块

image-20251126152646315

配置参数

Payload processing中添加两个规则,一个是Add prefix添加前缀为【admin:】因为账号猜测为admin固定不动,冒号为固定格式,再添加另外一个规则为Encode -> Base64-encode,把原先的url取消了

image-20251126152804887

得到返回值为200的

image-20251126152841605

ctfshow{dbbb5d6a-f6b0-43e9-ad16-603ba5b4b052}

web22

域名爆破

image-20251126225020457

360quake 使用空间搜索引擎--->360quake 搜索语法--->domain="ctf.show" 可以搜索出子域名--->vip.ctf.show 可以发现子域名vip.ctf.show下面有flag--->flag{ctf_show_web}

flag{ctf_show_web}

web23

hash判断

image-20251126225250420

image-20251126225401792

error_reporting(0);include('flag.php');
if(isset($_GET['token'])){$token = md5($_GET['token']);if(substr($token, 1,1)===substr($token, 14,1) && substr($token, 14,1) ===substr($token, 17,1)){if((intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1)===intval(substr($token, 31,1))){echo $flag;}}
}else{highlight_file(__FILE__);}
?>
代码逻辑分解
输入参数:通过GET方式传入一个名为token的参数。
MD5哈希:将传入的token进行MD5哈希,得到一个32位的十六进制字符串(因为MD5哈希通常以32位十六进制表示)。
第一个条件检查:
检查MD5哈希后的字符串的第2个字符(substr($token, 1,1),因为索引从0开始)、第15个字符(substr($token, 14,1))和第18个字符(substr($token, 17,1))是否相同。
第二个条件检查:
将这三个相同的字符转换为整数(intval),然后计算它们的和除以第一个字符的值,结果应等于第32个字符(substr($token, 31,1))的整数值。
输出flag:如果以上两个条件都满足,则输出flag。
解决思路
我们需要找到一个字符串,其MD5哈希满足上述两个条件。具体步骤如下:
确定相同字符的位置:首先,我们需要MD5哈希的第2、15、18个字符相同。设这个相同的字符为c。
数学关系:根据第二个条件,(3 * intval(c)) / intval(c) === intval(substr($token, 31,1))。简化后得到3 === intval(substr($token, 31,1)),即第32个字符的整数值必须为3。
字符选择:因此,我们需要:
第2、15、18个字符相同,可以是任意十六进制字符(0-9, a-f)。
第32个字符必须是3(因为intval('3') === 3)

写一个脚本

import hashlib
import string
import randomdef generate_token(length=10):"""生成随机字符串"""letters = string.ascii_letters + string.digitsreturn ''.join(random.choice(letters) for _ in range(length))def check_token(token):"""检查token是否满足条件"""md5_hash = hashlib.md5(token.encode()).hexdigest()c1 = md5_hash[1]   # 第2个字符c2 = md5_hash[14]  # 第15个字符c3 = md5_hash[17]  # 第18个字符c4 = md5_hash[31]  # 第32个字符if c1 == c2 == c3 and c4 == '3':# 检查数学条件sum_val = 3 * int(c1, 16)divisor = int(c1, 16)result = sum_val / divisorif result == int(c4, 16):return True, md5_hashreturn False, md5_hash# 暴力破解
found = False
while not found:token = generate_token()found, md5_hash = check_token(token)if found:print(f"Found token: {token}")print(f"MD5 hash: {md5_hash}")break

image-20251126225916413

ctfshow{96953393-b243-42ff-bb74-4d1a1706219f}

web24

image-20251126230216099

include("flag.php");
if(isset($_GET['r'])){$r = $_GET['r'];mt_srand(372619038);if(intval($r)===intval(mt_rand())){echo $flag;}
}else{highlight_file(__FILE__);echo system('cat /proc/version');
}
  • 程序先用 mt_srand(372619038) 设置了随机数种子。
  • 然后你用 GET 参数 r 提交一个值,必须等于 mt_rand() 的第一次输出。
  • 由于种子固定,mt_rand() 的输出是确定的

我们只要逆向一下

<?php
mt_srand(372619038);
echo mt_rand();
?>1155388967

image-20251126230656098

image-20251126230703284

ctfshow{fe082771-237f-473d-9e4d-4d2da3ad0de6}

web25

image-20251126231758220

打开的得到

include("flag.php");
if(isset($_GET['r'])){$r = $_GET['r'];mt_srand(hexdec(substr(md5($flag), 0,8)));$rand = intval($r)-intval(mt_rand());if((!$rand)){if($_COOKIE['token']==(mt_rand()+mt_rand())){echo $flag;}}else{echo $rand;}
}else{highlight_file(__FILE__);echo system('cat /proc/version');
}分析上述代码,可知需要进入到打印flag的分支,需要满足$rand0=0,即$r等于第1次的mt_rand()值,同时需要满足token值等于第2次mt_rand()值与第3次mt_rand()值的和,由于mr_srand()的seed值不变,可由第一次的mt_rand()值反推mr_srand()的seed值。

这个

url/?r=0,就可以获得-mt_rand()的值,即拿到了mt_rand()第一次生成的随机数=1857153848

有了第一次生成的随机数的值,再加上之前播种的种子是固定不变的, 就可以通过php_mt_seed工具爆破出之前播种的随机数种子的值

可以下载一个

1、输入?r=0得到-1481831950, 则第1次随机值=1481831950

2、下载工具并编译https://www.openwall.com/php_mt_seed/php_mt_seed-4.0.tar.gz

tar -xzf php_mt_seed-4.0.tar.gz 编译make
┌──(root㉿kali)-[~/桌面/php_mt_seed-4.0]
└─# ./php_mt_seed 1857153848
Pattern: EXACT
Version: 3.0.7 to 5.2.0
Found 0, trying 0xfc000000 - 0xffffffff, speed 3252.2 Mseeds/s 
Version: 5.2.1+
Found 0, trying 0x3e000000 - 0x3fffffff, speed 32.4 Mseeds/s 
seed = 0x3f9b2e30 = 1067134512 (PHP 7.1.0+)
Found 1, trying 0x88000000 - 0x89ffffff, speed 31.9 Mseeds/s 
seed = 0x890d7c51 = 2299362385 (PHP 7.1.0+)
Found 2, trying 0xbe000000 - 0xbfffffff, speed 32.3 Mseeds/s 
seed = 0xbf46a081 = 3209076865 (PHP 7.1.0+)
Found 3, trying 0xfe000000 - 0xffffffff, speed 32.7 Mseeds/s 
/?r=1857153848token=1858498537
<?php
$seed = 3209076865;   // 先跑第一个,再换 2299362385、3209076865
mt_srand($seed);$r      = mt_rand();          // 第 1 个随机数
$rand2  = mt_rand();          // 第 2 个
$rand3  = mt_rand();          // 第 3 个
$token  = $rand2 + $rand3;echo "seed=$seed\n";
echo "r=$r\n";
echo "token=$token\n";
?>

image-20251128163903587

ctfshow{7e02a8bf-64bd-48b2-9d0f-b7a06847d284}

web26

爆破数据库密码

image-20251128164532894

抓包,什么都不用填,然后就能看到回显有Flag了

image-20251128164722787

我感觉也可以爆破,得到密码

7758521

image-20251128165053218

image-20251128164658890

ctfshow{cf8c30d0-2b1a-4ad3-bbe8-bd29f2406e22}

web27

身份证爆破

image-20251128165353973

image-20251128165341836

打开靶机,发现是个登录页面,需要学号和密码登录,猜测登录后可获得flag,则可围绕获得学号密码来进行,因为两者都不知道,直接爆破不太合适,看看还能提取到什么信息。
当点击到登录按钮下方的录取名单时,自动下载了一个list.xlsx,打开这个文件,发现了几个人的姓名和身份证号部分信息。点击录取名单下面的学生学籍信息查询系统,发现可以根据学生姓名和身份证号进行录取查询,那么第一步要做的可能就是要爆破身份证号了,或许在这里可以查到有用的信息。

image-20251128165608004

image-20251128170133380

image-20251128170140344

然后爆破

image-20251128170738166

高先伊 身份证号:621022199002015237

image-20251128170816008

image-20251128170841181

ctfshow{79af2b56-8fdf-4bc4-b981-4769bbbd4de9}

web28

目录爆破

image-20251128171004655

首先要明白302状态码的含义 就是重定向 当你更改url时,会不断的在前面加0/1/ 一直重定向 页面崩溃 爆破的话 就爆破目录

还是爆破题 ,用burpsuite爆破打开题目链接后,直接跳转到了 原url/0/1/2.txt用burpsuite抓包后,发现 原url 是进行了302跳转 才进入了 原url/0/1/2.txt如果直接输 原url/1/2 之类,会进行302跳转,然后跳转就会进入死循环,最后直接打不开根据题意 ,是要进行一定的爆破的,那么,什么是爆破点呢,只能是 原url后面这两个目录 了,于是将其置入intruderGET /§0§/§1§/ HTTP/1.1直接是在get 参数 上做上。攻击类型 cluster bombpayload sets 1 。 payload type:numbers from 1 to 99 step 1payload sets 1 。 payload type:numbers from 1 to 99 step 1start attack!开始攻击执行一段时间后,发现有一个httpd状态码是200 其他都403打开这个的response 发现flag

image-20251128171547352

image-20251128172638767

image-20251128172652963

image-20251128172702472

成功发现

image-20251128172727113

ctfshow{a7bee088-1486-4945-8398-0d58625361ef}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/979987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI Agent驱动的招聘革命:深度解析易路AI招聘的战略价值与硬核能力

一、AI重塑招聘新范式 在数字化浪潮席卷全球的今天,企业对人才的渴求达到了前所未有的高度。然而,传统的招聘模式正面临着效率低下、主观性强、人才匹配度难以保证等诸多挑战。从海量简历筛选到重复性的电话邀约,再…

AI实现类人推理的技术探索

本文探讨了某中心如何为语音助手开发类人推理能力的技术挑战与解决方案,包括错误自动恢复、上下文理解等核心技术,涉及大型语言模型、端到端学习、知识图谱构建等前沿研究方向。在2022年6月,某机构在拉斯维加斯举办…

2025年国内技术好的智能货架公司推荐榜单,冷库货架/重型货架/货架/货架定制/模具架/模具架/精益管料架/阁楼货架智能货架源头厂家推荐榜单

行业背景分析 随着智能制造与物流自动化需求的持续增长,智能货架市场迎来快速发展期。据行业数据显示,2024年中国智能仓储市场规模已突破1500亿元,年复合增长率保持在20%以上。在这一背景下,具备自主研发能力、成熟…

自动化测试框架Selenium的基本知识和简单实战

Selenium 核心组件Selenium WebDriver:是 Selenium 的核心,直接控制浏览器,与浏览器进行交互,支持不同浏览器的驱动(如 ChromeDriver、GeckoDriver 等)。 Selenium IDE:是一个基于浏览器的插件,用于录制和回放…

CSS基础--面向后端需要了解的前端知识

前端 CSS 学习笔记 一、CSS 基础 1.1 CSS 简介 CSS(Cascading Style Sheets)是一种用于描述 HTML 文档样式的语言,它可以控制网页元素的布局、颜色、字体等外观表现,实现内容与样式的分离。 1.2 CSS 引入方式内联样…

2025年下半年江苏煤矿智能化/智能煤流系统开发公司综合推荐指南

随着煤矿智能化建设的快速发展,2025年江苏地区煤矿智能化系统开发行业迎来了新的机遇与挑战。本文基于市场调研和用户反馈,为您推荐10家值得关注的煤矿智能化系统开发公司(排名不分先后),重点推荐榜首企业。本文提…

字符编码和文件操作

一、字符编码 二、文件控制 三、with上下文管理器 四、指定文件编码 五、文件操作模式详解 六、文件操作控制指针移动(不常用) 七、文件操作之文件修改 一、字符编码 # 文件用什么编码存,就用什么编码取 # 字符---&…

2025 全球温度循环试验箱厂家推荐!细分场景定制方案与成本分析

温度循环试验箱的选型需深度匹配行业特性 —— 电子消费领域侧重 “快速测试与小巧体积”,新能源储能关注 “安全防护与长循环寿命”,工业自动化则强调 “带载测试与耐用性”。本文在原有全球厂家基础上,聚焦三大核…

别用“设计感”掩盖无知:从一次 null == 0 的事故说起

那天下午,我盯着一行再普通不过的代码,足足愣了三分钟: if (value.Equals(null)) {// 这行居然执行了?! }value 是一个 Value 类型的对象,构造时传入的是整数 0——它明明不是 null。调试器里字段正常,内存地址…

2025年下半年江苏智能煤流系统、煤矿智能化系统开发公司综合推荐指南

2025年下半年江苏煤矿智能化系统开发公司综合推荐指南 摘要 随着煤矿智能化建设的深入推进,2025年江苏省煤矿行业正迎来智能化转型的关键时期。本文基于行业调研和用户反馈,为您推荐五家在煤矿智能化系统开发领域表现…

使用Postman进行接口测试、接口自动化和集成CI/CD

接口测试流程 1拿到接口文档(没有需要抓包),熟悉接口业务,接口请求四要素和响应四腰素,接口鉴权方式,错误码业务等 2.编写接口测测试用例(测试点XMND)并评审(怎么测) 正例:正常输入接口的请求四要素,查看并…

信创环境下的一体化全栈智能运维

北京智和信通以全栈运维平台为核心,打造信创环境下的一体化全栈智能运维解决方案。本方案基于"全栈国产化、智能高效化"的目标,构建覆盖基础设施、数据中台、运维应用的信创运维体系,为企业数字化转型提供…

AI训练素材与数据集供应商推荐:卓特视觉的专业解决方案

在人工智能技术快速发展的今天,高质量的AI训练素材和数据集成为企业模型迭代与商业化落地的关键。无论是图片、视频、音频还是专业文本数据,合规、精准且高效的数据支持能够显著提升AI模型的性能与准确性。针对这一需…

2025年国内靠谱的AGV货架生产厂家推荐榜单,立体货架/重载货架/中型货架/组合式货架/流利式货架/背网货架AGV货架批发厂家推荐榜单

行业背景分析 随着智能仓储与物流自动化需求的持续增长,AGV货架作为自动化仓储系统的核心组成部分,其市场表现与技术成熟度备受关注。据行业数据显示,2024年中国AGV货架市场规模已突破百亿元,年复合增长率保持在15…

28223E2125263E2121203E212424384722B0开

28223E2125263E2121203E212424384722B0开老款33252

【251128】CF2164 Div.1+2 vp 总结

题目梗概 题好多呜,所以不设梗概了。( 赛时记录 A,感觉水呢;B,完全不会;C,感觉贪心;D,疑似差值;E,一头雾水;F,怎么还分两个版本,都不会呜;G,咋是交互;H,不可能会。 A!写了两版代码结果呢交的时候交…

2025年四川成都奖杯奖牌定制、奖章证书定制、奖杯定制、水晶奖杯定制、奖牌定制品牌厂家企业推荐top5指南

摘要 2025年下半年奖牌定制行业持续增长,受赛事、企业活动和教育领域需求推动,定制化、高品质奖牌成为趋势。本文提供一份推荐榜单,基于市场调研和用户反馈,列出五家值得考虑的奖牌定制品牌。榜单排名不分先后,旨…

2025长沙公务员面试培训机构排名,速看!,湖南长沙公务员面试技术引领与行业解决方案解析

一、行业背景分析 随着2025年长沙公务员招录工作的推进,面试培训市场呈现专业化、精细化发展趋势。本文基于公开市场数据、师资配置、服务体系和学员反馈等维度,对长沙地区五家优质面试培训机构进行深度剖析,为考生…

基于PyTorch的YOLOv5目标检测 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年工业冷风机车间降温技术全解析,铁皮棚车间降温/焊装车间通风降温/压铸车间通风降温/机械厂车间降温工业冷风机厂商推荐排行

技术背景:工业降温的绿色转型之路 随着全球制造业的快速发展,工业车间环境优化已成为企业提升生产效率、保障员工健康的重要课题。传统空调系统在工业场景中面临能耗高、覆盖范围有限等挑战,而基于蒸发冷却原理的蓝…