当前位置:首页 > 综合

网站后台渗透

去年秋天,网站我帮朋友看一个刚上线两个月的后台小电商站。后台路径没改,渗透还是网站默认的/admin,登录页连验证码都没有。后台我用Burp Suite挂了个Intruder,渗透字典跑了两小时,网站撞出一个弱口令:admin / admin123。后台进去之后,渗透订单、网站用户手机号、后台甚至部分支付回调日志全裸奔。渗透朋友脸都白了——这站每天流水小两万,网站被人拖库只是后台时间问题。

后台渗透这事,渗透很多人想复杂了。它跟正面硬刚前端不一样,核心逻辑就一句话:找到入口,绕过或骗过验证,拿到权限,然后看能走多远。入口不一定是登录框,可能是某个忘记删除的测试接口,也可能是备份文件www.zip直接躺在根目录。我见过最离谱的,是后台登录页的HTML注释里写着测试账号:<!-- test:test123 -->。开发图省事,运维没清理,攻击者连爆破都省了。

弱口令是第一道坎,也是最容易塌的坎。有人觉得现在谁还用弱口令?现实是,中小型CMS、自研后台、外包交付的系统,默认密码或简单组合的比例高得吓人。我统计过自己经手的三十多个案例,超过一半的后台入口能靠admin/admin、admin/123456、system/123456这类组合进去。不是技术不行,是人的惰性永远在。

绕不过登录框怎么办?看逻辑漏洞。比如密码找回功能,有些后台会返回明文密码到邮箱,但邮箱字段可以篡改;或者验证码在响应包里直接回显,前端校验形同虚设。还有一种常见情况:登录失败几次后账号锁定,但锁定的是用户名,不是IP。换个用户名继续撞,或者把用户名大小写变换一下,锁定机制就废了。这些不是0day,是设计时脑子没转过来的弯。

拿到低权限账号后,提权是下一步。后台功能越复杂,越容易找到水平越权。比如普通管理员只能看自己的订单,但请求里把user_id=1001改成user_id=1000,就能看到别人的。更狠的是垂直越权:普通用户能访问管理员接口,因为后端只在前端做了菜单隐藏,API层没校验角色。我遇到过一后台,普通账号登录后直接访问/api/admin/deleteUser?id=1,服务器照删不误。这种漏洞挖起来不费劲,拿Burp的Autorize插件跑一遍,红红绿绿一目了然。

文件上传是后台渗透的另一个富矿。很多后台允许上传图片、附件,但只在前端用JS判断后缀。抓包改成.jsp或.php,服务器照单全收。更隐蔽的是.htaccess配合图片马,或者利用解析漏洞如shell.php.jpg。上传成功后,路径通常回显在响应里,直接连菜刀或者冰蝎。不过现在WAF多了,纯后缀绕过越来越难,得结合内容混淆、二次渲染或者竞争条件。我去年在一个站上试过filename="shell.php"加Content-Type: image/jpeg,WAF放行,服务器也放行,纯粹是运维偷懒没配。

数据库操作入口也值得盯。有些后台提供“执行SQL”或“备份数据库”功能,权限没控好,普通管理员就能select into outfile写文件。或者备份路径可控,直接写到Web目录。这种功能本意是方便运维,结果成了提权跳板。我见过一个后台,备份功能能把数据库导出到/tmp/,但文件名参数没过滤,改成../../var/www/html/shell.php,里面塞个一句话,访问直接执行。

最后说句实在的:后台渗透拼的不是多高深的技术,是耐心和观察力。每个参数、每个Cookie、每个隐藏字段都可能是突破口。工具能帮你自动化,但思路得自己长。别迷信扫描器,它扫不出逻辑漏洞。多手动点一点,多抓包改一改,后台那点事,翻来覆去就这些花样。

分享到: