登录授权失败请重新登录9999(登录授权失败)
这样的接口千万别暴露,小心横向越权。
前言谈不上是多么厉害的知识,但可能确实有人不清楚或没见过。
我还是分享一下,就当一个小知识点。
如果知道的,就随便逛逛,不知道的,Get到了记得顺手点个赞哈。
正文1、接口别随便暴露当一个项目的维护周期拉长的时候,不断有新增的需求,如果经手的人也越来越多,接口是会肉眼可见增多的。
此时,如果一个团队没有良好的规范和代码审查机制,就会导致许多不安全的接口被暴露出来。
比如下面这种接口:
/*** 根据ID查询患者信息*/@GetMapping("/{id}")public AjaxResult getById(@PathVariable("id") Long id) { PersonInfo personInfo = personInfoService.selectPersonInfoById(id); return AjaxResult.success(personInfo);}
这种接口是我们部门以前审查出来的其中一个,类似这样的接口还有很多。
这些接口都是不同的同事在紧凑的工作任务中写的,慢慢就积累出了一堆。
还有些是为了方便,直接通过代码生成器生成的,而代码生成器是把常用的CRUD接口都给你生成出来,如果研发人员没有责任心,可能就直接不管了,想着以后哪一天也许会用上呢。
别以为这种想法的人少啊,你整个职业生涯很可能就会遇见。
这就导致了,一堆用不上又不安全的接口出现了。
服务过政务机构、企事业单位、医疗等行业的工程师应该就知道,这些单位对于安全性的要求其实挺高的,尤其是这些年,会找专门的信息安全公司做攻防演练。
最近两年,很多省市甚至会自发组织全市的信息安全攻防演练,在当前大环境下这也是符合国情的。
而攻防演练的目的之一就是找系统安全漏洞,这里面就会有一个我本章要讲的典型漏洞,接口的横向越权。
2、什么是横向越权广义的解释就是,该越权行为允许用户获取他们正常情况下无权访问的信息或执行操作。
如果纯粹从理论上理解,是很抽象的,所以我才把这个案例捞出来,让你一次就懂。
我们再回过头看看上面我贴出来的那段很正常的代码,就是根据id获取用户信息,你一定曾经在一些项目中见过这种接口,提供给前端直接调用,比如用户详情、订单详情,只要是和详情有关的,很可能前端会需要这么一个接口。
那么,问题在这里,我们的id是不是有规则的呢?比如下面这样:
可以看出来,id是自增的,增量是2。其实很多中小企业现在用MySQL都喜欢这样设置自增id,有些会设置增量,有些干脆就默认。
试想一下,我如果知道了id=865的用户信息,我也知道大部分中小企业喜欢用自增id,是不是就等于知道了1-1000000的用户信息,而用户信息可能包含身份证、手机号、详细住址等非常敏感的内容。
这就是典型的横向越权之一,我明明只应该拿到id=865这个用户的信息,但是通过非正常的方式,我暴力获取了其他100万个用户信息。
一旦真的发生这样的事故,不管最终结果如何,这家公司基本上就进黑名单了,从此在行业中消失。
3、权限控制不了吗一定会有人产生疑惑,SpringBoot接口怎么可能直接放出来,一定都是有权限控制的,没有权限是根本不可能访问到的。
我打个比方,如果是后台管理这种,他是有登录的,登录后会产生token,token中是可以包含角色权限的,那么这种是没有问题的。
但如果没有登录操作呢,比如小程序这种,你打开就直接是首页各种信息,前端调接口很可能传递的只有网关层的token,又该如何呢。
尤其是小程序雨后春笋一般涌现的那几年,我曾经打开过很多小程序,都是没什么权限校验的,就是直接点来点去。
直到近几年,这种现象才慢慢消失,很多小程序打开后,会提示你授权登录,比如微信小程序,你一定遇到过打开小程序后让你授权登录的场景,如果不授权登录,你绝对做不了很多操作,这是很多互联网企业的安全意识都加强的结果。
我所在的公司早年刚进入医疗行业就经历过这种事情,为了占坑拿下了很多项目,但缺乏安全意识和管理规范,程序员也是来来走走,你写两个我写两个,导致不少接口都存在安全隐患。
直到被攻防演练攻破,甲方下发整改通知,还要我们写事故报告、原因、解决方案等等一大堆,我们才慌了。
连夜开会讨论出一套基本的安全整改思路,然后开始加班加点做安全改造。
我印象最深的就是其中这个接口横向越权,只传递了网关层的token,而没有细化到个人的权限控制,导致被信息安全公司通过抓包等一些我不了解的技术把token拿到了,然后直接横向获取到了很多用户敏感信息。
当时这个事情闹得很厉害,考虑到只是攻防演练,同时客户方对公司还保留信任,才只要求我们限期整改,否则就直接替换了。
所以,记得以后写接口的时候别只考虑业务逻辑,安全性也是考量之一。
4、如何防范防范的方式,我归纳了这么几点:
1、不用的接口尽量删掉,这样也避免了多余接口埋下的安全隐患;
2、团队要有安全规范,比如敏感字段加密,引入代码审查机制,缩小安全隐患出现的范围;
3、带登录的终端,除了网关层校验,要精确控制登录用户的角色及权限;
4、不带登录的终端,除了网关层校验,要根据用户的唯一信息,来做授权登录,授权不成功不允许做其他操作,这也是现在比较流行的方式。
我个人理解,第4点和第3点本质一样,因为不带登录,所以要想办法制造登录,而目前比较友好的方式还是一键授权登录,不管是根据openid、手机号等等,总之要找到一个规则,这样省去了用户手动操作登录的时间。
总之,一定要控制用户只能看到属于自己的内容,避免横向越权。
总结如果写的不好,还望大家原谅,只是分享了曾经工作中发生过的和安全改造有关的事情。
现在的程序员其实了解和接收的知识技术是挺多的,许多人其实都知道这些。
希望不知道的人,能够因为我的文章得到一点点帮助。
最后,大家其实可以去试一试,打开微信小程序,搜索下你们所在城市的某某中心医院,看看这样的医疗小程序打开后是什么样的,是不是有授权登录,或者其他方式来控制权限,搞不好一部分人能遇到有意思的事情。
喜欢请点赞关注↓↓↓,持续分享干货哦!
山西一商人涉亿元集资案潜逃7年,曾高调做慈善引质疑
“消失”7年的上官军乐,因警方10万元的悬赏通告再次回到公众视野。
他曾是山西朔州的“大王”,创办“一顿饭数万元”的高消费餐厅引发关注,也曾因多次“高调”捐款被质疑。
新京报记者调查发现,靠高端餐饮发家的上官军乐,2012年开始陷入经营困境,并通过名下的贷款公司借款一亿多元无力偿还。2013年底,上官军乐“潜逃”,去向成谜。
员工讨薪要债,家人打工还钱,公司股东涉案被抓,上官军乐消失后,留下一系列待解难题。
5月29日,朔州警方以其涉嫌非法集资案发布通告。朔州警方告诉新京报记者,上官军乐已逃往海外,多年来他们一直追查此案,目前正在侦破中。
关停的鲍府朔州店。新京报记者 赵朋乐 摄
身家过亿的“大王”
今年42岁的上官军乐出生于山西运城。他的母亲说,小时候家境贫穷,19岁时,上官军乐去了朔州做洗衣粉促销员。2001年,上官军乐在朔州经营服装店攒了笔钱,2004年,他花费百万元租下区政府后院的朔城宾馆,并改造成一家五星级酒店。
2007年,上官军乐创办“豪门吉品鲍府”,让他在山西朔州暴得大名。
这是一家高消费的奢侈餐厅,专营高档“、鱼子酱、法国松露、西班牙火腿”,“人均三千到五千不等”。
上官军乐曾在一期访谈节目中宣称,要打造“舌尖上的劳斯莱斯”,“装修鲍府时,光设计费就要150块钱一平米。吃饭时,可能会突然传来一阵琴声,或蹦出一个美女为大家弹奏一曲。”
在很长一段时间里,这里都是朔州高消费的代表。
“在当年,鲍府的服务是其他饭店没有的。”曾去过鲍府吃饭的上官军乐的朋友描述,一进门就能看到上官军乐买来的字画和古董,在鲍府,他第一次用“公筷”,服务员都戴着手套,餐桌上的盘子有一滴油就得换掉。
“豪华”背后是普通人难以企及的高消费。一名曾在鲍府消费过的食客称,那里一顿饭至少上万元,一次消费几十万也算正常。
一名知情人士向新京报记者描述称,当时,山西煤业发达,奢华的鲍府也随之生意火爆,几乎每天门口都停满了豪车。
有了钱之后,行事高调的上官军乐买了一辆劳斯莱斯,还花几十万元买了个尾号001的北京车牌。
有媒体报道称,开业一个月后,鲍府的销售额就过了百万元。短短5年时间,上官军乐就在太原、吕梁等地开了五家分店,他也成了身家过亿的“大王”。
生意上的成功让上官军乐成了山西名人,除了是几家公司的老板,他的头衔也越来越多:世界杰出华商协会理事、中国食文化研究会第二届理事会理事、山西省朔州市朔城区第六届人民代表大会代表等。
上官军乐。受访者供图
曾因行事“高调”被质疑
在商人的角色之外,2011年后,上官军乐更多地因“高调捐款”被公众关注。
他的捐助是从网络开始的。2010年开始玩微博后,上官军乐几乎每天都会发微博,小到吃羊肉泡馍,大到评论国际时事。据媒体报道,2011年6月,有网友在微博拍卖一柄象牙古剑,捐助因车祸致残的女孩,上官军乐以6.6万元拍下,从此开始了自己的“慈善”之路。
一次广为人知的事件是,2011年7月19日,为救助山西白血病女孩贾悦,上官军乐发微博称,给每人1元授权,“你转发,我捐钱”。最终,该微博被转发了50多万次,上官军乐一次性捐款40万。
之后,上官军乐还亲自到医院探望,喂贾悦吃水果,贾悦还叫了他爸爸。
除了媒体的跟进报道,上官军乐也多次发微博讲述经过。这次捐助让上官军乐在网络上成为知名人物,但也因过于“高调”而被质疑。有网友称赞他是“山西好人”,也有人说他是“山西版陈光标”。
上官军乐回应称,“无论是赞我的还是骂我的,只要转发我都感谢。”
在这之后,上官军乐的网络捐助明显多了起来。那一年,他还捐助设立了“上官军乐诗歌奖”。面对朋友的疑惑,他解释说,“想支持一下文化发展。”朋友听后笑了,“我觉得他是被忽悠了”。
2011年底,上官军乐被评为“感动山西”候选人。山西新闻网在报道中描述他称,“大王”迈进慈善队伍,在微博高调“出镜”。在接受采访时,上官军乐并不否认自己的高调,他说,“只要是善行,不管用什么方式都该被鼓励。高调也没什么不好。”
跟上官军乐熟识多年的一位媒体朋友回忆说,一段时间后,上官军乐觉得自己做慈善很乱,朋友建议他形成自己的模式,可以号召他人,也能宣传自己。
2012年5月22日,上官军乐发起“每周一善”活动, 在微博征集帮扶对象,每周定向捐款5000元。
这位媒体朋友坦言,上官军乐高调做慈善的背后,也是为了个人宣传,公益成了他另一张“名片”,酒店餐厅的营业额也扩大了。
活动发起后,上官军乐在网络上的关注也越来越多。他在一次采访中提到,有一次他参加聚餐,一个没有见过的客人却知道他是个慈善人士,“他对我说,听说你做慈善,以后我们的接待就放在你们这里了。”
上官军乐发的最后一条微博。网络截图
难以支撑的“高端餐饮”
2012年,上官军乐“慈善”名声渐起的时候,鲍府的热闹却开始消退。
弟弟上官文浩(化名)回忆说,2012年开始,一些高端餐饮店生意惨淡,鲍府的经营也陷入困顿。当时,在老家运城的分店已经装修完了,却一直开不了门。
除了经营问题外,上官军乐还开始陷入资金困境。上官军乐的一位朋友介绍,为了生意周转,2011年上官军乐开始对外借钱周转生意。2012年,为了筹备豪门吉品鲍府上市,上官军乐又借钱拓展业务。
工商信息显示,2011年8月,上官军乐注册成立了朔州森焱公司。一名知情人士向新京报记者透露,贷款公司成立后,上官军乐就交给朋友耿建忠打理。从2011年到2013年,耿建忠陆续以两分的利息,向多名亲戚朋友借贷,为了赚利息,这些亲友再拉拢自己的亲友借钱给小贷公司。
借款人高先生称,他们借钱就是为了利息,但大部分人只拿到一两个季度的利息,“后面不仅利息没给,本金也拿不回来了。”
上官军乐还在为鲍府上市招募资金。一位“股东”提供的入股投资协议书显示,2012年8月,豪门吉品公司积极运作海外上市,为了扩大上市前的经营规模,决定增资扩股6000万,每股300万,收益权利最直接的一项是,每季度享有2分的利息。
尽管鲍府的生意已显颓势,但上官军乐还是多次公开宣称自己看好高端餐饮的市场,并会坚持做下去。
2012年3月,在央视的《创业天使》高端餐饮专场栏目中,有投资人在节目中分析称,从风险投资角度看,上官军乐的鲍府风险较大,很难规模化,中高端餐饮能否被广泛接受,是一个挑战。然而,上官军乐并不认可,称自己希望将鲍府打造成百年品牌。
2013年的端午节,鲍府太原店推出“吉品松露粽”,每个售价高达9999元,宣称是用10只四头干鲍、松露、西班牙火腿以及泰国香米制作而成,被质疑为炒作。
《焦点访谈》在做端午节粽子市场调查时,报道了鲍府的“天价粽子”。面对质疑,上官军乐说,“我们推出这款天价粽,意在宣示将一直坚持我们的高端路线。”
但也是在那一年,一口鱼子酱就要卖上千元的鲍府,推出了一百多元的优惠套餐;鲍府太原店为增加收入,甚至在早上卖起豆浆油条;一向坚持做高端餐饮的上官军乐,还和朋友合开了一家快餐店,主营特色砂锅小吃。
一位熟识他的朋友说,2013年下半年,上官军乐明显不爱说话了,微博上也不再发表评论,上了饭桌就默默喝酒,总是心不在焉。“那时候他很忙,压力大,脸上都起了火疙瘩。”
2013年11月16日,上官军乐发了最后一条微博:“因个人原因,微博暂停,我在每周一善的捐助也暂停,感谢大家一直以来的支持。”
半个多月后,上官军乐“消失了”。
好望角会门前馆张贴的查封公告。新京报记者 赵朋乐 摄
卷入亿元集资案后“潜逃”
上官军乐失踪的时间是2013年12月9日。他的好友告诉新京报记者,那时他儿子还未满周岁,“没人知道他为什么消失。”
好友耿建忠的案发,将上官军乐的“消失”的原因指向一桩集资案。
2014年6月24日,耿建忠因涉嫌犯非法吸收公众存款罪被朔州市公安局刑事拘留,7月31日经朔州市人民检察院批准被逮捕。2017年4月,耿建忠被法院判处非法吸收公众存款罪,判处有期徒刑九年六个月。
裁判文书显示,法院审理认为,森焱公司从成立到2013年12月9日,上官军乐指使公司股东耿建忠以资金委托协议等名义,以月息1.5%-2%的利息向他人非法吸收公众存款。
其中,有被害人报案的共计164笔借款,涉及117人,共吸收存款1.1亿余元;无被害人报案、未提供依据或相关数据记载不一致借款共计93笔,涉及单位2家,个人43名,共吸收存款5990万元。
犯罪嫌疑人上官军乐在此期间,以月息2.4%-3%的利息从森焱公司借款12278.87万元,于2013年12月9日潜逃,至今下落不明。
一名知情人士称,2013年12月4日,上官军乐把名下的朔城宾馆转让给耿建忠,但没有变更工商信息。月底,耿建忠就将朔城宾馆抵押给多个债权人,但由于其他公司也起诉了上官军乐,朔城宾馆被查封,这些债权人无资产可执行。
一位借给森焱公司500多万元的女士表示,自己的钱是耿建忠出面借走的,但借款人都知道公司是上官军乐的。
“我们不是盲目的。我们去看了上官军乐装修豪华的朔城宾馆和鲍府,又想到他做慈善、上电视,还是人大代表,觉得很有实力。”一位借款人说,小贷公司的一面墙上,贴着不少上官军乐与官员和明星的合影,他们更加认为,“钱是安全的”。
工商信息显示,上官军乐名下有森炎公司、山西豪门吉品有限公司、并实际控制朔城宾馆、朔州好望角娱乐有限公司。随着上官军乐的离开,这些公司被牵扯进多起诉讼,工商状态变成“吊销”,上官军乐也成为“失信被执行人”,被限制高消费。
上官军乐失踪后,鲍府员工去政府部门反映情况。受访者供图
“希望他回来面对问题”
距离上官军乐潜逃已过去近7年时间。5月29日,山西朔州公安局对上官军乐发布10万元悬赏通告称,2014年3月10日,朔州警方依法立案侦查一起非法集资案。经查,上官军乐有重大嫌疑。
警方调查发现,上官军乐失踪那天,给弟弟上官文浩发短信说自己“走了”,让其有事找耿建忠商量。
上官文浩称,在2013年下半年,哥哥曾把公司的债务告诉自己,但没有想到他会失踪。
上官军乐失踪后,他名下的鲍府、好望角会馆陆续爆发员工讨薪问题。据媒体报道,2014年1月14日,100多名员工及有债务纠纷的商家拉条幅在好望角公司附近维权。朔州经济开发区有关部门接待了讨薪的员工,并垫付了一些工资。
上官文浩比上官军乐小8岁,从开服装店的时候就跟着哥哥干,之后成了小贷公司的股东和朔城宾馆的法定代表人。哥哥涉案后,他也随之被限制高消费,成了债务人。
除了上官文浩,家中的妹妹、妹夫等跟着上官军乐的数人,也因上官军乐的离开,成了失信被执行人。提起哥哥,上官文浩有些埋怨,“我每天打两三份工还钱,希望哥哥能回来面对这些问题。”
6月中旬,新京报记者探访发现,昔日辉煌的9层好望角会馆如今已落满灰尘,门口的玻璃门被砸烂,里面垃圾遍地。当地人透露,讨薪人为了挽回损失,将里面的家具变卖。
紧挨着好望角会馆的,是上官军乐的鲍府餐厅,门上挂着出租横幅。房主称,上官军乐还欠他百万元房租,屋内曾展示的字画、古董等物品被当地相关部门拿走扣押。
记者留意到,上官军乐消失后的几年里,仍经常有人通过微博向他求助募捐。警方的悬赏通告发布后,这位失联的“慈善大v”也再次引起关注,不少网友在微博中留言,呼吁他“早点回来”。
6月9日,朔州警方告诉新京报记者,上官军乐已逃往海外,多年来他们一直在追查此案,目前案件正在侦破中,具体情况不便透露。
新京报记者 赵朋乐
编辑 李明
校对 赵琳
声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送至邮件举报,一经查实,本站将立刻删除。转载务必注明出处:http://www.hixs.net/article/20231220/169625316177285.html