网站给渗透
去年三月,网站我拿一个本地企业站练手,网站目标是网站个卖建材的小公司,页面看着老气,网站后台登录框却挺新。网站打开F12,网站看到它用的网站CMS版本号明晃晃挂在源码里——v5.7。心里咯噔一下,网站这版本有个SQL注入的网站洞,公开好几年了,网站补丁早出了,网站可他们没打。网站
渗透测试这事,网站说穿了就是网站找别人没关好的门。网站跟房子一样,网站正面刷得再白,侧门、窗户、通风口总有一处松。我见过不少站,前台静态页做得跟艺术品似的,一转到后台,默认口令admin/123456直接进。就这,还挂着“安全防护中”的横幅,挺讽刺。
回到那个建材站。先扫目录,御剑跑了一遍,出来个/backup/,里面躺着www.zip。下载解压,数据库配置文件赫然在列,账号root,密码是公司电话。这密码规律太常见了,区号加号码,很多小企业图好记,运维一换人,谁也不改。我拿这组账号去连3306,通了。那一刻的感觉不是兴奋,是替他们捏把汗——数据全在别人手里攥着。
SQL注入点藏在产品列表页的id参数里。手工测了一下,and 1=1正常,and 1=2报错,典型的数字型注入。sqlmap跑起来,不到二十分钟,管理员表就拖出来了。密码是MD5,cmd5查一下,明文是“admin888”。你说这有什么技术含量?没有。纯粹是运维偷懒,开发图省事。
上传点更离谱。后台有个“品牌logo”上传,前端只校验了后缀名,抓包改成.php,内容里塞个一句话木马,直接getshell。用菜刀连上去,服务器权限是www-data,权限不高,但翻了一下/etc/passwd,发现还有个tomcat用户。提权没费太大劲,内核版本低,脏牛一把梭。
整个过程下来,最深的感受是:大部分网站被渗透,不是因为黑客多厉害,而是防守方太敷衍。补丁不打,口令不换,目录不删,日志不看。我甚至见过一个站,phpinfo()页面就挂在根目录,服务器路径、扩展、环境变量全暴露,跟把钥匙插门上没区别。
有人觉得渗透测试是搞破坏,其实反了。你找到洞,写报告,提修复建议,对方把洞补上,这才是目的。我那次测完,把报告发过去,对方技术负责人回了一句:“这些我们都不懂,你直接说怎么改。”你看,问题就在这儿——很多企业根本没有安全岗位,网站是外包做的,做完就扔那儿,谁管?
修复方案也简单。CMS升级到最新版,后台路径改掉,数据库账号换强密码,上传目录禁掉PHP执行,3306不对公网开放。就这几条,能挡住八成以上的自动化扫描。可偏偏没人做。为什么?因为不出事的时候,安全是成本;出了事,安全才变成刚需。
我后来养成个习惯,每测一个站,先看它robots.txt。有些站把后台路径写在里面,等于告诉全世界“来打我啊”。还有的站,错误页直接回显数据库报错,连盲注都省了。这些细节,写代码的人不在意,运维的人不检查,最后就成了别人的入口。
渗透测试不是炫技。你拿下一个站,截图发群里,别人喊你大佬,那没意义。真正有价值的是,你让一个不懂安全的人意识到,他的网站正光着身子在互联网上跑。那次建材站的报告最后附了一句话:“你们的客户订单数据,我全下载了,没动,但别人不一定。”对方第二天就把服务器关了,重装系统,换了一套新CMS。
网站给渗透,给的不是技术,是教训。你不动手,别人也会动手。区别只在于,你先发现,还是等数据泄露了再发现。
(责任编辑:热点)
