ctfshow黑盒测试前半部分

web380

对网站进行目录扫描

访问page.php,发现报错

访问page.php?id,发现报错中带有file_get_contents这个函数,可以直接尝试直接读取flag文件(page.php?id=flag),最后发现成功得到flag

web381

查看源代码

这个路径一点一点删发现flag

web382

还是这个路径,发现了一个登录框

账号为admin

密码为admin 123456 admin666 admin888 admin' or 1=1#都可以

弱密码而已

web383

这个只能算是SQL的万能密码

1' or 1=1 #

web384

爆破密码

复制代码
import string
import itertools

filename = "passwd.txt"

letters = string.ascii_lowercase  # 小写字母 'abcdefghijklmnopqrstuvwxyz'
digits = string.digits          # 数字 '0123456789'

with open(filename, 'w') as f:
    for letter_pair in itertools.product(letters, repeat=2):
        for digit_triplet in itertools.product(digits, repeat=3):
            password = "".join(letter_pair) + "".join(digit_triplet)
            f.write(password + '\n')

print(f"密码字典生成完毕,已保存到 {filename} 文件中。")

web385

跟之前一样,来到登录框这里,但是这次万能密码不行,题目也没有提示,先尝试扫目录看看

发现有个路径,拼接进网站访问看看

因为不知道默认密码,因此我们尝试进行弱口令爆破

admin888还没开始爆破就出来了

web386

有一个文件我的dirsearch没扫出来

后面加上file参数

成功

密码还是admin888

web387

猜测可以进行文件包含

成功读取到文件,尝试进行日志包含执行命令,UA写入如下内容

复制代码
<?php unlink('/var/www/html/install/lock.dat');?>

再次访问

别忘了访问了

其他步骤跟之前一样,密码依然是admin888,成功得到flag

相关推荐
红尘散仙5 小时前
谁说终端只能敲键盘?我用 Rust 给小说阅读器加上了鼠标
前端·后端·rust
陈随易6 小时前
C++26 草案被否,二十八年来头一回
前端·后端·程序员
ZhengEnCi7 小时前
Agent 工具怎么折叠海量输出才「爽」:Trae、Claude Code 的渐进式披露设计原理
前端·agent
IT_陈寒10 小时前
Redis内存暴涨,没想到是AOF重写捣的鬼
前端·人工智能·后端
ikoala10 小时前
让 Codex 自己查账:一个省 token 的小技巧
前端·后端·ai编程
ikoala10 小时前
AI 写页面像说明书,修 Bug 像贴膏药?把这两句话写进 AGENTS.md
前端·javascript·ai编程
去伪存真12 小时前
AI Agent Harness 深度测评与技术选型实战
前端·agent
FRing0315 小时前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2
疯华整猫18 小时前
被杀掉之后:我把 Android 的「唤起 + 常驻」重做了一遍
前端·面试·架构
IT_陈寒20 小时前
Java开发实战:从入门到精通
前端·人工智能·后端