您现在的位置是:知识 >>正文
权限漏洞
知识28334人已围观
简介凌晨三点,我盯着屏幕上那个返回的JSON包,手有点抖。id参数从1000改成1001,返回的居然不是“无权限”,而是另一个用户的收货地址。 这不是我挖的第一个漏洞,但绝对是最蠢的一个。目标是个月活过亿 ...
凌晨三点,权限漏洞我盯着屏幕上那个返回的权限漏洞JSON包,手有点抖。权限漏洞id参数从1000改成1001,权限漏洞返回的权限漏洞居然不是“无权限”,而是权限漏洞另一个用户的收货地址。
这不是权限漏洞我挖的第一个漏洞,但绝对是权限漏洞最蠢的一个。目标是权限漏洞个月活过亿的电商平台,漏洞出在优惠券查询接口。权限漏洞开发者大概觉得,权限漏洞只要前端不展示“删除”按钮,权限漏洞用户就永远点不到。权限漏洞他们忘了,权限漏洞HTTP请求是权限漏洞可以手工构造的。
权限漏洞这玩意儿,说穿了就一句话:系统分不清“你是谁”和“你能干什么”。前者叫身份认证,后者叫访问控制。大部分公司把精力砸在认证上——密码要复杂、短信要验证、指纹要识别,仿佛门锁换成金库级别,屋里就安全了。可一旦你过了那道门,里面所有房间都对你敞开,连走廊尽头的财务室都不例外。
有个真实案例挺讽刺的。某银行APP,转账功能做得固若金汤,人脸识别加U盾,结果呢?他们的电子回单查询接口,只要把请求里的账号字段改掉,就能拉出任何人的交易流水。测试工程师大概只拿自己账号试过。我见过太多这种“侧门洞开”的漏洞——主入口修得跟碉堡似的,侧门连个插销都没装。
横向越权和纵向越权,是权限漏洞的两副面孔。前者是普通用户A能看用户B的数据,后者是普通用户能调管理员的接口。前者常见于“对象ID直接暴露在URL里”,后者则藏在“前端隐藏按钮”这种自欺欺人的设计里。你问为什么开发者会犯这种错?因为赶工期。因为KPI压着。因为产品经理说“这个接口先上线,权限后补”——后补的权限,通常永远补不上。
有个规律挺邪门:越是数据敏感的行业,越容易出这种低级漏洞。金融、医疗、政务,一个比一个严重。反而是那些做社交的、做内容的,因为挨打多了,权限模型打磨得相对扎实。这大概就是“被黑得多了,自然就懂事了”。
修复起来难吗?说难也难。要梳理所有接口的调用方,要设计统一的鉴权中间件,要改掉那些“为了性能直接查库不过滤”的历史包袱。说不难也不难——把每个接口都过一遍,问自己三个问题:这个操作需要什么角色?这个数据属于哪个用户?当前请求者的角色和数据归属匹配吗?
可惜,大部分公司连这三个问题都懒得回答。他们更愿意买昂贵的防火墙,请红队做渗透测试,然后在报告里看到“高危漏洞”时,回一句:“这个功能下个月就下线了,不用修了吧?”
那功能,通常三年后还活着。
我最后把那个漏洞提交给了平台方。两周后收到回复,说已经修复了——修复方式是给接口加了签名校验。我没告诉他们,签名算法是从客户端逆向出来的,改个参数再重新签名就行。算了,他们迟早会知道。毕竟每个漏洞背后,都站着某个觉得“没人会这么干”的开发者,而这个世界,从来不缺“这么干”的人。
Tags:
上一篇:风讯官网
相关文章
百度营销推广靠谱吗
知识去年秋天,我一个开五金店的老同学老周,突然在微信上问我:“你说百度推广这玩意儿,是不是就是烧钱买罪受?”他刚投了八千块,电话倒是响个不停,可十个里头九个是问“你家卖不卖电钻头”的——他那店明明只做批发 ...
【知识】
阅读更多ps练手素材
知识修图这活儿,跟练字一样,一天不碰手就生。我电脑里存着一个叫“ps练手素材”的文件夹,从2017年攒到现在,快十个G了。里面什么都有——街边随手拍的垃圾桶、朋友婚礼上拍糊了的合影、网上扒下来的低分辨率老 ...
【知识】
阅读更多web前端毕业设计
知识我在招聘网站上翻前端岗位的要求,发现一个扎心的事实:超过七成的初级岗位写着“要求两年以上经验”。可应届生哪来的两年经验?于是毕业设计就成了唯一的筹码——它要证明的不是你会写代码,而是你能把代码变成能用 ...
【知识】
阅读更多