ctfshow-web入门-黑盒测试(web380-web385)

发布于:2025-03-30 ⋅ 阅读:(16) ⋅ 点赞:(0)

目录

1、web380

2、web381

3、web382

4、web383

5、web384

6、web385


1、web380

源代码没有看到什么东西

页面点击可以跳转,但是未发现功能点

扫一下目录,存在 flag.php 和 page.php

访问 page.php,报错:

Notice: Undefined index: id in /var/www/html/page.php on line 16
打开$id.php失败

看样子是要给 $id 传参,尝试传入 1 

/page.php?id=1

发现参数直接传给了 file_get_contents 函数,存在文件包含漏洞,后面自动拼接了 .php

构造 payload 包含 flag.php

/page.php?id=flag

查看源码 

拿到 flag:ctfshow{866286a1-68d2-4687-afdc-84e31a62422c}

2、web381

和上一题页面相同,测试一下,会根据传入的 id 跳转到对应页面

目录扫描,不存在 flag.php

尝试访问源码的一些路径

在 /alsckdfy 找到 flag:ctfshow{30873496-7270-484f-8526-f1f79555e446}

3、web382

还是一样的页面,也是只扫到 page.php

/alsckdfy 已经换成了登录界面

抓包尝试密码爆破

未发现弱口令,页面回显 error

尝试 sql 注入

页面回显不一样,没有回显 error

尝试万能密码登录

1' or 1 #

拿到 flag:ctfshow{184f5526-f26a-4b66-9e33-7c048d837ff2}

4、web383

还是万能密码登录

1' or 1=1 #

拿到 flag:ctfshow{c4bc5ab4-d74d-49aa-8b17-1998808bf00c}

5、web384

有提示,估计是要密码爆破了

密码前2位是小写字母,后三位是数字

爆破位置设置两个

payload1 是任意两个小写字母组合

payload2 是任意三个数字组合

量太大了,676000,而且还是假设我们用户名猜对了是 admin

不跑了,密码是 xy123,这里应该是弱口令猜测

6、web385

密码改了,重新扫目录

有一个 install

尝试安装

/install/?install

但是默认密码也不知道啊,回到前面存在 sql 注入的那里查一下

抓一下 post 包

标注好注入点,扔给 sqlmap

sqlmap -r .\1.txt --batch

跑库

sqlmap -r .\1.txt --dbs --batch

有一个叫 ctftraining 的数据库 

跑表名

sqlmap -r .\1.txt -D ctftraining --tables --batch

表有 FLAG_TABLE 、 users、news

我们这里并不是想拿 flag,而是想拿 admin 的密码,因此我们跑 users 表的字段

sqlmap -r .\1.txt -D ctftraining -T users --columns --batch

存在 password 字段,跑内容

sqlmap -r .\1.txt -D ctftraining -T users -C password --dump --batch

是 md5 加密后的,sqlmap自动帮我们爆破到了其中两个,另一个可以通过 cmd5 碰撞到 

但是试了一下这些都不是默认密码

此外,我又去跑了 FLAG_TABLE 表和 news 表

没有发现什么和密码相关的字段

重新跑数据库,将数据库跑完,发现还有一个叫 ctfshow 的数据库

查表名

sqlmap -r .\1.txt -D ctfshow --tables --batch

只有一个表 admin_user ,应该就是在这儿了

查列名

sqlmap -r .\1.txt -D ctfshow -T admin_user --columns --batch

存在  password 字段 

查内容

sqlmap -r .\1.txt -D ctfshow -T admin_user -C password --dump --batch

拿到默认密码 admin888 

重开 web385 的题,尝试用默认密码直接登录,发现不行

那么我们就还是 install 后重置为默认密码再登录

登录即可拿到 flag