您现在的位置是:热点 >>正文
登录渗透
热点92676人已围观
简介凌晨两点十七分,我盯着Burp Suite的拦截记录,一条POST请求正以每三秒一次的频率撞向某后台登录接口。返回包全是401,但响应时间在1.2秒到1.8秒之间无规律跳动——这不是脚本小子在瞎扫,有 ...
凌晨两点十七分,登录渗透我盯着Burp Suite的登录渗透拦截记录,一条POST请求正以每三秒一次的登录渗透频率撞向某后台登录接口。返回包全是登录渗透401,但响应时间在1.2秒到1.8秒之间无规律跳动——这不是登录渗透脚本小子在瞎扫,有人在试探时间盲注。登录渗透
登录渗透这件事,登录渗透外行看是登录渗透猜密码,内行看是登录渗透拆逻辑。大多数人死磕用户名枚举和弱口令字典,登录渗透却忽略了登录框本身就是登录渗透一个信息泄露的重灾区。错误提示的登录渗透措辞、HTTP响应头的登录渗透差异、甚至页面重定向的登录渗透跳转路径,都在悄悄告诉你后端用的登录渗透是MySQL还是LDAP,是Spring Security还是Shiro。
去年帮一个客户做授权测试,他们的登录页面对不存在的用户返回“用户名或密码错误”,对存在的用户返回“密码错误”。这种低级错误现在少见,但变种依然猖獗。比如:用户不存在时响应体长度1423字节,存在但密码错误时1427字节。差4个字节,前端渲染的CSS类名不同。写个脚本按长度聚类,十分钟就能把整个用户表跑出来。
更隐蔽的是时序侧信道。我见过一个系统,密码校验用的是逐字符比较,一旦某位不匹配立即返回。这意味着密码第一位正确的请求会比第一位错误的快那么几毫秒。理论上可以逐位爆破,但网络抖动会淹没这个差异。实际操作中,需要大量样本取中位数,再配合统计检验。麻烦,但能绕过账户锁定策略。
账户锁定本身也是个坑。很多系统只锁IP不锁账户,或者锁账户但不锁API。我试过一个站点,网页登录五次失败锁定三十分钟,但移动端API接口完全不限次数。抓包改个User-Agent就绕过去了。还有的系统锁定计数器存在客户端Cookie里,清空Cookie等于重置。
验证码?大部分图形验证码的OCR成本已经低到可以忽略。真正麻烦的是行为验证码,但行为验证码通常只在网页端部署,API端往往裸奔。找到那个没验证码的接口,剩下的就是暴力美学。
OAuth和SSO的登录渗透是另一个维度。我遇到过最离谱的案例:某系统用JWT做会话管理,签名算法设为none,服务端居然不校验。把alg改成none,payload里sub改成admin,直接就是管理员。这种漏洞在2015年就烂大街了,2023年还能在某个金融子站上复现。开发人员可能觉得“我们内网系统没人会看JWT”。
密码重置功能经常比登录本身更脆弱。token生成用时间戳加用户ID做MD5?跑个彩虹表就出来了。重置链接不失效?拿到一次就能永久改密码。重置时只校验邮箱不校验手机?那邮箱可太容易伪造了。
说回开头那个时间盲注。我挂上sqlmap的--technique=T,跑了四十分钟,库名出来了:security。表名:users。字段:username, password。密码是bcrypt,解不开。但username字段里有个admin,还有个test。用test/123456登录,进去了。权限是普通用户。然后我发现个人资料页有个“切换账号”功能,参数是user_id。改成1,页面刷新,右上角显示:管理员。
登录渗透的终点往往不是登录框本身。它是一个入口,通向更深的逻辑漏洞。你花三天爆破密码,不如花三小时读一遍前端JavaScript。那些注释掉的测试代码、硬编码的API密钥、暴露的调试接口,才是真正的钥匙。
凌晨三点零四分,我关掉Burp,在报告里写下:水平越权,高危。客户第二天回复:“这个功能是给内部人员用的,外部访问不到。”我截了个图,用普通用户账号,在公网环境,成功切换到了管理员。他没再回邮件。
Tags:
下一篇:渗透提权
相关文章
中国高校教材网官网
热点中国高校教材网官网,网址是jiaocai.hep.com.cn。这个域名挂在高等教育出版社名下,但实际运营的却是一个几乎被遗忘的公共资源池。我第一次发现它,是在帮导师找一本绝版的《理论力学》习题集时— ...
【热点】
阅读更多英国贫铀弹最新消息
热点```html 英国贫铀弹最新消息 英国贫铀弹最新消息 英国国防部上周悄悄更新了一批运往乌克兰的弹药清单。清单里没写“贫铀弹”三个字,用的是“含铀穿甲弹组件”。但看编号——L27A1,就是 ...
【热点】
阅读更多程序员外包接单平台
热点去年冬天,我帮一个做外贸的朋友找程序员。他需要把公司官网从WordPress迁移到Next.js,预算三千块。我在几个外包平台发了需求,两天收到四十多份报价,最低的报八百,最高的报一万二。报八百那位说 ...
【热点】
阅读更多