|
去年冬天,常见渗透我帮一个做外贸的常见渗透朋友看服务器日志。凌晨三点,常见渗透IP来自越南的常见渗透请求突然暴涨,全是常见渗透POST,目标直指后台登录接口。常见渗透密码字典跑得不算快,常见渗透但很稳——每秒二十次左右。常见渗透朋友说那台机器上存着三万个客户的常见渗透收货地址。这就是常见渗透最常见的渗透起点:有人盯上了你的登录框。 登录框是常见渗透个好东西。它必须对外开放,常见渗透必须接受用户输入,常见渗透必须和数据库打交道。常见渗透三个“必须”凑在一起,常见渗透漏洞就有了生长的土壤。SQL注入是最老的一类,老到很多人以为它绝迹了。可去年我扫了五百个中小企业的网站,还有三十七个能在用户名里塞单引号报错。报错信息里带着表名和字段名,像把钥匙插在锁上没拔。 比SQL注入更省事的是弱口令。admin/admin、test/123456、root/root,这三组我在真实环境里都见过。有个做建材的老板,后台密码是公司座机号码。他说这样好记。攻击者不需要会写代码,写个脚本遍历就行。Verizon的年度报告里提过,超过八成的入侵事件和口令有关。数字可能不准,但方向没错。 口令猜不中,有人就换思路。文件上传功能是个重灾区。你限制后缀名?他传个.php.jpg,服务器解析漏洞一配合,照样执行。你检查MIME类型?抓包改一下就行。最离谱的一次,我看到一个上传接口只在前端用JavaScript验证,后端收到文件直接存进web目录。攻击者传了个webshell,浏览器里就能操作服务器。那台机器后来被用来发垃圾邮件,直到服务商打电话来才被发现。 再往后就是命令注入。有些功能需要调系统命令,比如ping测试、图片压缩、PDF生成。如果参数没过滤,攻击者就能在参数里拼接管道符和分号。我见过一个在线工具站,ping功能直接执行ping -c 1 8.8.8.8; cat /etc/passwd。返回结果里躺着加密的密码哈希。站长说这个功能是外包做的,上线半年没人管。 渗透的路径往往不是一条直线。攻击者会串起来用。先用弱口令进后台,找到上传点传webshell,再用命令注入提权,最后装个挖矿程序或者加密勒索。每一步都不复杂,组合起来就致命。防守方却要堵住所有口子。一个没关的调试接口、一个忘记删的测试账号、一个用了三年的框架版本,都可能成为入口。 我自己的习惯是,拿到一个目标先看三样东西:登录页面的报错信息、HTTP响应头里的Server字段、robots.txt里没列出的路径。报错能暴露技术栈,Server字段能看出用了什么中间件,robots.txt有时候会泄露后台地址。这三步花不了五分钟,但能省掉后面很多瞎猜。渗透测试和入侵的区别在于授权,思路是一样的——找最薄的那块木板。 写这些不是教人攻击。恰恰相反,知道常见的手法,才知道该在哪里设防。登录接口加个验证码和频率限制,上传目录禁止执行脚本,系统命令的参数用白名单过滤,后台默认口令上线前必须改掉。这些事做起来不酷,但能挡住九成以上的自动化扫描。剩下的那一成,才需要真正的高手来对付。而大多数攻击者,连那一成都够不着。 |