前言
与传统类型漏洞相比,逻辑漏洞具有不易发现、不易防护的特点,不像SQL注入、XSS有像WAF那样现成的防护手段;而且,每个企业的业务逻辑参差不齐,也形成了千奇百怪的逻辑漏洞。下面就和大家分享一下我都是从哪些维度去发现逻辑漏洞的。
一、未授权
形成未授权的原因一般是由于代码未做登录验证或者登录验证失效引起,从而使后台或者带有敏感信息的页面直接裸露在公网。
site:在baidu、Google、bing、360等搜索引擎中使用site命令去搜索所要查询的域名信息,因为此时搜索以“全”为目的,所以不需要加任何搜索条件。
比如想查询a.com下的未授权,site:a.com即可。一般看搜索结果前十页。如果遇到被搜索引擎收录过多的域名,这时就需要加一些条件了,具体可以参考site命令用法。通过site命令,一般会很容易发现某个域名下的后台地址和直接暴露在公网的敏感信息页面。
域名爆破:通过爆破发现更多的二级、三级域名,然后导出域名列表通过脚本查看域名banner名称,或者挨个手工访问,观察是否有未授权登录的后台。一般大家都使用layer子域名挖掘和subDomainsBrute来进行子域名发现。
端口及banner扫描:端口不容小视,很多运维自作聪明,把后台或者其它管理系统直接改个非80端口绑定到公网。可以通过namp对域名所在ip段内的 服务器 进行端口扫描,生成ip+端口列表,然后通过脚本批量获取http banner。夫子通过这种方法成功发现并进入了各种知名互联网公司后台,当然,漏洞都已提交给他们的src了。
域名关联:目前有很多公司的域名是未做域名隐私保护的,可以通过whois查询某个域名所有人还拥有哪些域名,然后重复上述步骤。
二、登录与账户
一个业务,如果登录或者账户信息出现漏洞,信息被一些不法分子利用,可能出现类似电信诈骗的现象。
图形验证码:很多后台/前台在登录或注册时,是没有图形验证码的。这也就给爆破带来了便利。让人更不可思议的是,很多验证码只是个摆设,哪怕输入错误的验证码也能提交。
短信验证码:在app盛行的时代,短信登录更为便捷,所以在使用过程中也产生了诸多问题。
例如很多app登录时使用4位纯数字作为手机验证码。如果用户基数较大,在某一时间段,会有部分人使用同一个手机验证码登录。如果通过大量撞库,可能登录他人账号;又因为是4位验证码,如果单一账号也没限制短信登录重试次数,同时也存在通过爆破4位验证码登录的现象。
账号登录回显与注册:很多开发者或者产品,为了提升体验,在设计开发系统登录功能时会加一些友好的提示信息。比如提示“该用户不存在”、“该用户已注册”,这无疑是一个变相的撞库漏洞。在撞库之前,测试者一般都先搜集好精确的用户名字典,而提示用户不存在或登录时不存在的用户请求返回字节不一样,都构成了撞库。
明文密码登录:不少应用在登录时使用了明文密码登录,或者使用未加盐的md5,或者使用了外围人员不知道的加密方法,这些都是不可靠的。
拿加盐的md5值作为密码登录为例。登录时,只需在burp这类工具拿出几个常用密码加密后的密文,即可实现fuzz。终究的防护办法还是登录时加入签名,签名一旦被篡改,就无法登录。
账号及其它个人信息篡改:通过抓包方式对账号信息进行拦截,如手机号、uid、邮箱、token,篡改后提交数据包,从而达到登录别人账号的目的。一般防护办法是使用多个参数进行验证,当满足所有条件时才验证通过。
密码重置:密码重置也是一个重灾区,常见的密码重置绕过方式有数字验证码绕过,比如4位数字,通过爆破进行;有的通过修改返回结果,如把false改成true。还有的可以构造密码重置链接。这部分夫子接触较少,更多姿势可以参考乌云镜像案例。
三、越权
越权漏洞是逻辑安全中的重中之重,由于产品、研发追赶项目进度,会在项目开发过程中损耗一些安全属性。接下来我们看一下比较典型的越权漏洞,这些越权漏洞一旦发生,危害等同于脱裤。
订单遍历:订单遍历一般发生在三种场景,分别是前台订单遍历、后台订单遍历、前后台订单遍历。
1. 前台订单遍历指的是你在某平台购物或者下单订了个外卖,然后在查看订单时发现订单id为一串有规律的数字,这时可能通过变换id数字就可以查看他人订单信息了。
2. 后台订单遍历指的是一些管理后台,在前端展现的时候,每个用户只能查看系统分配给自己的一些订单信息。但是通过burp抓包进行fuzz时,多数都可越权查看其它账户下的订单信息,这就成了一个变相的脱裤。防护策略就是将订单id加密或者变成一串很大的数字,这样一来也就无法遍历。
3. 刚才说了两种场景,接下来说一下第三种场景。这个姿势稍微有点淫荡,我把这个场景称为前后端订单遍历。举个例子,当我们在某外卖提交订单时,信息里面会包含一个订单号,而这个订单需要一个商家端来接单。商家端接单时可以抓包,然后就可以进行订单遍历了。当然,前提是你得有一个商家端。
商家资质遍历:商家在运营过程中,会向平台提交一些身份证、营业执照等敏感信息。一些服务端为了方便保存,直接对上传文件以用户id或者一串数字保存,这样一来可能通过改id就可获取其它商家信息。修复办法就是将文件名称进行hash命名。
取消他人订单、恶意刷评:取消订单时对订单号进行拦截篡改,从而达到取消他人订单的目的;评论时更换评论者id,从而实现恶意刷好评、差评的目的。
四、支付
你想买个红色的爱疯7,于是给自己购物账户充值了5000软妹币,等你下单完毕后,发现账户余额变成了10000,这是为什么呢?
金额篡改:在下单时,通过拦截篡改支付额度后提交请求,一般会看到出其不意的效果,如把订单金额改小、改成负数。造成这一现象的原因是服务器端对金额未做二次校验。
充值与提现:充值和提现过程中都可能存在漏洞。
1. 充值一般会出现两种漏洞:
一种是少充多得,比如充值100元时通过篡改金额改成10元,最终充值完毕后账户变成了100元,而实际付款却只有10元;
另一种是绕过活动页金额限制,比如很多公司做活动强制用户充值金额不能低于10000,而通过拦截修改金额,可以充值任意金额。
2. 接下来我们再说说提现:
提现一般也是由于服务器端参数校验不严格,会经常存在一些信息泄露、无限提款的漏洞。一般提现时,我们可以通过篡改提现额度、银行卡号来实现。防护手段是手机号、姓名、银行卡账户、额度四个统一。
数量、商品/优惠id篡改:下单时,通过拦截篡改商品数量、商品id、优惠券等信息。如把数量改为一正一负、如替换优惠券满减id。
比如你有2张优惠券,一张id为1的优惠券满100减10块,一张id为2的优惠券满200减20。这时你买了100块钱的物品,勾选了满100减10块的优惠券,提交请求时把优惠卷id1篡改成了2,结果只支付了80块钱。
支付上的漏洞远不止这些。如果想深挖,可以尝试实现多个组合,通过频繁组合与篡改,观察效果。
五、API
现在是app盛行的时代,客户端使用API与服务器端进行数据传输,所以API安全问题频出,接下来说一下API常见的安全问题。
参数校验:举个例子,你在某个app内充值话费,返回查看订单时url参数包含了手机号、银行卡、充值金额,你通过改变手机号,获取到了其它用户的充值信息(银行卡号、金额)。这样你便获取了一一对应的手机号和银行卡,是不是很恐怖呢?其实这也是典型的平行越权。
短信邮箱炸弹:短信和邮箱经常出现的漏洞分为两种。一种是无任何频率限制,利用者可以无限制对目标手机号或者邮箱发送垃圾短信/邮件;另一种是对短信/邮件内容实现篡改。
关键参数不加密:如同上面说的订单号、银行卡号、身份证等敏感信息,这类数据要进行hash,从而减少被直接明文越权/遍历的风险。
分享了这么多,说说这两年从接触安全到能发现逻辑漏洞的一些心得。
1. 有枣没枣先打三竿:上来先动手跑几十万数据试试,毕竟光看是看不出安全漏洞细节的。
2. 观察每一个参数:逻辑问题重要的是测业务逻辑,所以每条http请求都不能放过,每个参数也要尽可能知道是干啥的,看看能不能改变某个参数引起异常返回结果。
3. 大胆假设:不要以为互联网巨头没安全漏洞,往往是比小公司安全问题更多。只有想不到,没有做不到。
4. 时间投入:一些漏洞,真不是1-2天能发现的,很多时候需要耗时几天甚至更久,需要分析业务请求才能发现,所以要头脑冷静急不得。
50字左右的自我评价怎么写?
1、本人专业知识扎实,已通过护士执业考试。 责任心强,富有爱心和耐心,工作细心,学习能力强,与人沟通能力强,人际关系融洽。
2、工作认真负责,有较强的.敬业精神和责任心;专业知识扎实,能熟练运用预算软件、资料软件、办公软件;具有良好的施工现场管理经验及勾通协调能力。
3、本人在校期间不单学习服装设计和销售方面,而且还是一个资历较深的模特儿,有三年模特经验,有这方面的才华。 可以策划出一整场出色的时尚秀或服装发布会等有关展示的工作。
4、我为人认真,个性开朗,能与周边的人相处融洽!我的笑声能传染到其他人,使别人也会活跃起来!能够准确,快速完成手头上的工作,有很好的团体意识。
5、本人动手本事强,尤其喜好DIY电子产品。 自制力强,为人友善,平易近人,能较快适应新环境。 做事认真负责,以团队精神至上,实事求是的态度对待工作。
6、本人能够吃苦耐劳。 工作认真、负责,善于创新,敢于接受挑战、承担责任。 能在不断的学习和工作中成长进步。 性格开朗、热情善良,有很强的集体荣誉感和良好的沟通协调能力。 能快速适应、溶入周围工作环境。
7、我英语基础知识扎实,具备必须的听,说,读,写,及翻译本事,已经过英语六级考试;计算机已经过VF二级考试。 考取了普通话二级乙等证书和食品检验工证书。
8、本人具备较强的逻辑思维方式,对事情认真负责,能吃苦受累,有很强的职责心和团队意识;自信,乐观,具有创新意识。
9、本人性格热情开朗,具有亲和力,平易近人。 三年的大学生涯,让我的组织协调本事,管理本事,应变本事等大大提升,使我具备良好的心理素质。
10、本人对工作认真负责,对数据敏感,自学本事强,熟悉会计知识,并能运用于工作当中。 乐于与人沟通,富有亲和力,服务意识强。 我表达本事强,有团队精神。 服从公司安排!
11、本人性格开朗,对待工作认真负责,待人真诚,善于沟通、协调,有较强的组织能力与团队精神,上进心强、勤于学习能不断进步自身的能力与综合素质。 在未来的实习工作中,我将以充沛的精力,刻苦钻研的精神来努力工作。
12、本人开朗大方,勤奋上进;富有感染力,表达能力与沟通能力强,善于学习和接受新事物;追求和谐,有团队合作精神。
13、本人做事塌实认真,能吃苦耐劳;学习能力强,可以很快的接受新事物;乐观,开朗,自信,善于与人交流,比较合群;务实,有主见。
14、我对待工作认真负责,善于沟通、协调有较强的组织本事与团队精神;活泼开朗、乐观上进、有爱心并善于施教并行;上进心强、勤于学习能不断提高自身的本事与综合素质。
15、本人英语水平良好,能翻译及处理各种对外英文书信,能运用书面或口语与外商客房交流及商谈相关业务。 本人熟悉电子商务的运作,能运用网络开展出口销售工作并获取国外买家的订单。
16、本人好学上进,诚信、敬业、责任心强,有强烈的团体精神,对工作认真积极,严谨负责。 本人性格内外结合, 适应能力强,为人诚实,有良好的人际交往能力,具备相关的专业知识和认真。
17、本人办事认真、职责心强、勤奋好学、待人热情、办事稳重认真、有事业心。 能够熟练操作常用办公软件word、excel。
怎样学好逻辑学?
一、全面入实掌握逻辑基本知识普通逻辑所讲述的逻辑知识都是逻辑学中的基本知识。 就高等教育出版社出版的《普通逻辑原理》来说,该书所讲述的有关概念、判断、基本规律、演绎推理、归纳推理、类比推理、假说和论证的知识都属于逻辑学的基本知识。 在逻辑基本知识中的难点有:(1)如何严格区别集合概念与非集合概念;(2)如何正确理解直言判断的周延性;(3)如何准确理解和把握判断间对当关系中必然和或然真假关系;(4)如何严格区别和准确把握充分条件与必要条件假言判断;(5)如何正确理解和把握负判断及其等值判断。 二、切实掌握逻辑拙象并析方法逻辑抽象分析方法是科学抽象分析方法中抽象程度最高、适用域最广的一种抽象分析方法。 逻辑抽象分析方法的适用域包括所有哲学、科学、社会实践和日常生活思想的领域。 首先,要切实掌握普通逻辑所讲述的各种逻辑形式与其人工符号表达式。 对于实际的具体思想进行逻辑抽象分析,正在于从实际的具体思想中抽取其逻辑形式并给出逻辑形式的人工符号表达式。 其次,要多做应用逻辑拍象方法的有关习题,从而熟练掌握逻辑抽象分析方法。 这是切实掌握逻辑抽象分析方法的关键。 最后,要切实掌握逻辑抽象方法,还要注意克服阻碍切实掌握逻辑抽象方法的心理障碍。 三、努力提高逻辑综合应用能力首先,要通过多复习、多思考加深对于各种逻辑知识和逻辑方法的理解,巩固对于它们的记忆,努力更多了解各种逻辑知识和逻辑方法之间的相互联系。 其次,要通过多做习题、勤总结,积累综合应用的经验,把握综合应用的规律,提高综合应用的技能和技巧。
怎样培养逻辑思维能力?

1、灵活使用逻辑。 有逻辑思维能力不等于能解决较难的问题,仅就逻辑而言,有使用技巧问题。 何来?熟能生巧。 学数学可知,解题多了,你就知道必须出现怎样的情况才能解决问题,可叫数学哲学。 总的来说,文科生与理科生差异在此,不在逻辑思维的有无。 同时,现实中人们认为逻辑思维能力强的,实际上是思想能力强,并无分文理。 而且思想也不是逻辑地得到,而是逻辑地说明。 2、参与辩论。 思想在辩论中产生,包括自己和自己辩论。 例如关于是主权高于人权还是相反,我认为是保护人权的主权大于人权,不能包括导致国王享用婴儿宴的主权,既必须界定主权,前者有条件成立。 导致该认识的原因是有该问题辩论,否则不会去想。 3、坚守常识。 其实我很轻松得到关于人权的个人结论,原因是不论大牌专家怎么宏论,我不认同的道理只有一个,我坚守谁都不愿意自己的正当权利被侵犯,除非不得已这样的常识。 因为坚守这个常识,就要具体分析主权比如国家保有军队的权利,该权利会在不同情况下要求国民承担不同义务,战时似乎侵犯人权,但这是为每个人安全需要的一种付出,主权必须具有正当性。 可见坚守常识及逻辑地得到的结论的重要性。 要注意的是,归纳得到的结论不能固守,因为归纳永远是归纳事物的一部分,不可能是全部,它违反部分怎样不等于全部怎样的常识,例如哲学。 中国人常常用哲学说明问题,总是从一个一般到另一个一般,所以说而不明,好象不会逻辑思维,谬矣。 4、敢于质疑。 包括权威结论和个人结论,如果逻辑上明显解释不通时。
发表评论