凌晨两点十七分,秋蝉我盯着sblog后台那个不起眼的渗试秘搜索框,光标在闪烁。透测这博客系统是密教2016年的老古董,PHP 5.4,秋蝉连官方都停止维护了。渗试秘但它的透测主人——某位网络安全讲师——坚持用它记录日常,还开了评论功能。密教评论过滤规则写着“禁止HTML标签”,秋蝉可我用<img src=x onerror=alert(1)>测试时,渗试秘弹窗竟然出来了。透测存储型XSS,密教就这么简单。秋蝉
别急着高兴。渗试秘真正的透测麻烦在后台。管理员登录界面没有验证码,密码提示“至少8位”,我试了三次就被锁定IP。换代理,继续。字典里塞进“qiuchan2023”、“sblog@admin”这类组合,第五分钟,密码Qiuchan_2023!撞开了大门。你看,讲师总爱用年份加感叹号,这习惯比漏洞本身更致命。
后台功能列表里躺着个“附件管理”。上传点只允许jpg,但MIME校验能绕过——把恶意PHP文件改名成shell.jpg.php,再伪造Content-Type为image/jpeg。服务器没检查扩展名白名单,文件直接落盘在/uploads/2024/目录。我访问那个路径,返回200。蚁剑连上去,看到wwwroot下躺着几十个备份压缩包,最新一个是昨天凌晨的。讲师大概不知道,他每天用ftp上传备份的行为,等于把家门钥匙放在门口地垫下。
拿到webshell后,我反倒冷静了。内网ip是172.16.8.3,旁边还有台数据库服务器。讲师在配置文件里写着define('DB_PASSWORD','S3cure!Pass'),注释还加了一句“别告诉学生”。我顺着phpMyAdmin摸进去,发现不只是sblog——他电脑上装了宝塔面板,数据库列表里有七个站点,包括某个培训机构的在线考试系统。学生成绩表躺在那里,字段名是拼音首字母,cj代表成绩,xm代表姓名。这老兄连表名都懒得翻译成英文。
最讽刺的是,他的首页挂着篇置顶文章,标题是《如何防止网站被入侵》。里面第一条建议写着“不要用弱密码”。我截图时看到,文章发布时间是2023年9月,而他的后台密码是Qiuchan_2023!——用年份做密码,还写文章教育别人。这大概就是所谓的“灯下黑”。
清理痕迹时我犹豫了。删掉上传的shell,还是留个隐蔽后门?最终我只删了日志里那几行访问记录,把shell文件留在/uploads/2024/深处,文件名改成logo.png,伪装成图片。讲师下次备份时,会把我的shell一起打包带走。他可能会发现,也可能永远不会。这像在课堂上留了道思考题——只是答案需要他自己去找。
天亮前我退出连接。窗外有鸟叫,sblog服务器还在安静运行,管理员账号密码仍是Qiuchan_2023!。也许明天他会改,也许不会。但我知道,真正的秘密教学不在PPT里,而在那些没人更新的旧系统、没人更换的弱口令、以及每个“应该够安全了吧”的瞬间。你问我为什么写这些?因为漏洞永远比补丁多,而人类对便利的依赖,永远比安全意识更顽固。