web21
开启容器,题目提示
1 | 爆破什么的,都是基操 |
一个登录界面,打开burp抓包
找到账号密码存放位置
转发到攻击器,加载入密码字典,选择增加前缀admin:
,并作base64加密操作
找到密码,shark63
输入得到flagctfshow{1c1ea94a-440b-4405-aae9-1b48c4da2fe4}
web22
题目提示,很像扫描路径
1 | 域名也可以爆破的,试试爆破这个ctf.show的子域名 |
域名更新后,flag.ctf.show域名失效
内容是flag{ctf_show_web}
web23
开启容器,题目提示:
1 | 还爆破?这么多代码,告辞! |
代码审计,一眼看应该是找到一个特殊的token,其md5值有多个特殊条件,写一个脚本即可
1 | import hashlib |
得到3j
成功得到flag
web24
开启容器,题目提示:
1 | 爆个🔨 |
好不礼貌哦
同样代码审计
种子伪随机数
mt_srand()
函数播种 Mersenne Twister 随机数生成器。
php本地运行代码
1 |
|
web25
开启容器,题目提示
1 | 爆个🔨,不爆了 |
同样是代码审计,可以发现如果传入r=0
,可以得到-intval(mt_rand())
-1939313573
mt_srand(hexdec(substr(md5($flag), 0,8)));
要用到php_mt_seed
爆破随机数序列种子的工具。
在linux中直接git clone
一下
如果环境不允许,本地下载 php_mt_seed4.0
该工具能够通过随机数逆推
首先编译出程序 gcc php_mt_seed.c -o php_mt_seed
`./php_mt_seed 1939313573
程序会爆出多个结果对应php的版本
php 版本为7.3.11
405552318
656844251
用逆推得到seed
1 | <?php |
成功得到flag
web26
开启容器,题目提示:
1 | 这个可以爆 |
是一个安装界面
直接重新发包,得到flag,有点非预期啊,不是说要爆破
web27
开启容器,题目提示
1 | CTFshow菜鸡学院招生啦! |
有录取名单
还有一个录取查询系统
身份证的日期号码需要爆破即可
我们挑选第一个人进行抓包
转发到攻击器
如此设计后,进行攻击
找到身份证号
高先伊
621022199002015237
02015237
621022199002015237
找到flag
web28
开启容器,题目提示
1 | 大海捞针 |
抓包转发到攻击器
成功得到flag