凌晨两点,网站我盯着终端里滚动的后台状态码,401、扫描403、网站200。后台200出现了,扫描那是网站个藏在后台登录页里的备份文件,bak.sql.zip,后台7.2MB,扫描下载完只用了三秒。网站这种时刻总让我想起第一次做扫描的后台新手——他们拿着的工具能扫出三百个漏洞,却不知道真正的扫描入口往往就摆在明面上。
网站后台扫描这事,网站说白了就是后台猜和试。猜路径,扫描试弱口令。我见过太多企业把后台地址设成/admin,密码是admin888,防火墙倒是装了好几层,可最里面的门压根没锁。有次帮朋友看他的电商站,扫了不到五分钟,后台就进去了,后台里躺着上个月的订单数据,客户姓名电话住址全裸奔。他当时脸都绿了,说这系统花了几十万做的。钱花哪儿去了?全花在那些没人看的报表功能上了。
工具倒是不少,AWVS、Burp Suite、Nuclei,各有各的脾气。可工具只是敲门砖,真正值钱的是思路。你得知道目标用什么CMS,ThinkPHP有ThinkPHP的玩法,WordPress有WordPress的套路。版本号一露,对应的公开漏洞库里一查,十有八九能找出点东西。要是碰上开发自己写的框架,那就得靠字典了——admin.php、manage.html、system/login.jsp,这些路径像暗号,藏着程序员的懒惰和习惯。
有个案例让我印象挺深。某政府网站,扫了半天没动静,常规目录全被WAF挡得死死的。后来我发现它的静态资源CDN节点没设防,从那个节点绕进去,居然直接看到了后台的源码注释——开发把数据库密码写在config.old.php里,文件名还带了个.old后缀。这不算什么高深技术,纯粹是细心加运气。可运气这东西,往往偏爱那些肯在细节上较劲的人。
扫描也不是无脑跑字典。你得控制频率,太猛了直接把目标干宕机,动静大了对方安全团队就醒了。我习惯先慢后快,先用少量请求探路,摸清响应规律,再针对性地加大力度。有时候故意发几个恶意payload,看它返回什么错误信息——错误信息里藏着版本号、绝对路径,甚至数据库类型。这些碎片拼起来,比任何扫描器都管用。
说到底,后台扫描像开锁,不是砸锁。真正的行家不会拎着大锤乱抡,而是蹲下来,对着锁孔看半天,然后掏出一根铁丝,轻轻一拨。锁开了,门后面往往不是什么金库,而是一堆没人打补丁的老代码,和几个懒得改密码的管理员。技术含量最高的部分,其实是判断该不该继续——有些后台进去了,看一眼就该退出来,里面全是陷阱,等着你踩。
扫描这事干久了,人会变得多疑。看什么网站都想试试它的后台在哪儿,密码是不是弱口令。这毛病改不掉,但也算不上坏事。至少在这个数据比黄金值钱的时代,多疑总比天真强。那些喊着“我们系统很安全”的人,八成还没被真正扫过。