14.逻辑漏洞(行话---------裹羊毛)

未知攻焉知防

 

逻辑漏洞

 

如果不知道原理,如何攻破它呢?引用美国高校黑客教程就是-》猜测它,尝试它,然后观察它

 

目前攻击者更倾向于业务逻辑漏洞(裹羊毛),薄弱点太多。这个地方厂家也在积极的防御,但是没有很好的解决方案与落地措施。

一旦得到大量裹羊毛,破坏经济与数据,可以给一个公司弄破产。

白帽子积极的关注这个层面,有可观的经济回报,有的甚至在漏洞点上面钓鱼(360,支付宝都干过这种事),等着你发现然后叫你去入职。

 

处理裹羊毛问题面临局势如下:

 

企业面临局势如下

 

 有的不懂的人会说有防火墙,不是说防火墙不好,只是防火墙的防御性没有针对裹羊毛而已。在逻辑漏洞面前,防火墙没有任何防御措施。(属于代码层面的攻防)

 

 8个常见的逻辑漏洞    加密算法不要在前端加密 【目前主流】 在登陆的时候没有加密,就存在暴力破解。  支付漏洞,问题最多,也比较好挖。越权问题也很好挖。

 

 短信验证码

 

验证码过短可以暴力破解,找回他人账号密码(验证码一定要6位或者以上)  

验证码一定要有一个有效期,一直生效的话,还存在暴力破解问题。  6位的验证码,大概30分钟破解出来。生效时间推荐5分钟。

明文传输:登陆时没加密,存在暴力破解问题。(使用https协议)

不限制错误次数:输入错误,但是验证码还是原来的验证码。存在暴力破解问题。(大部分限制5次)

本地验证:返回包里面返回了验证码;如果我们验证码输入错误了,把返回包的假改成真,直接就登陆了。

万能验证码:开发过程中,留下来的方便测试,会出这么一个上帝视角。这个验证码在整个程序里是通用的,连手机短信验证都不需要发。

 

防御措施

1.加大暴力破解的难度,没有从根源解决这个问题。

推荐第三种方法,限制5次,从根源上解决。方法二,增加用户的操作量

 

高并发         签到例子            高并发就是同时发送一百个用户签到包,同时查询(那么返回的结果都是一样的,签到100次)

 

 高并发防御措施

悲观锁:100个人发起签到,只能签到一个包过去处理(排队机制)

乐观锁:在更新一个数据以后,给数据打上一个标识。这个标识就是它的数据版本号。

 

密码找回

 

验证码未绑定用户:验证码是通用的,用自己手机的验证码登别人的账号

前段验证,跳过验证步骤:找到这个站是用哪个CMS源码建的,把它下载下来。登陆后台之后看一下它的路径。把这个路径复制下来,有可能跳过验证,直接进入后台。

邮箱/手机号劫持:找回密码时会向手机号发送一个验证码,这个验证码有一个时效性。一般是60秒,60以后可以点一下重新发送。如果在重新发送那里进行抓包,把重新发送的手机号改成我们自己的,它就会把验证码发送到我们的手机里。

密码重置权限未校验:用户批量重置密码。   进入一个网站的后台,里面有个人中心,修改密码等等,修改密码那里,没有验证当前密码的话,可以在这里抓包,包里如果有ID或者其他的值,把它修改一下说不定就把其他用户的密码修改了。

 

支付漏洞

加入购物车:商品数量改成负数,可能给自己的账户加钱。

微信,支付宝有个机制: 金额不能为负数,无法付款负的金额。金额改成0.01比较好绕过,不要贪(使用负数)

加入购物车这里有个库存,库存数量减1:数量为0了的话,其他人都无法购买了。         

 

以上都是烂大街的方式,漏洞不易出现。关注他们忽略的地方,就有漏洞出现:比如运费,优惠券。

查看订单:就是越权。购买一个商品,在查看订单的时候进行抓包。包里面出现类似于user=5,id=5的值的话,修改了试一试。查看别人的订单。

修改付款状态:付款的时候,故意把支付宝的支付密码输错,进行抓包(包里的值肯定有一个假的条件,把它改成真的条件)。绕过支付。

转账,高并发:账户上只有1元钱,给别人转账。这个地方同时发送100个转账包给别人(高并发),转账试一试能不能改成-1.。。

积分付款:同理,值都改一下。

支付接口:付款的时候选择要微信还是支付宝。

两个方式绕过:1.不存在的接口。付款的时候选择支付宝,进行抓包。把包的目标网站改成百度。返回HTTP协议肯定是200 OK状态值。什么都没做,改一下目标网站就支付成功了。

2.把支付时的二维码接口,换成自己的 

 

 

例子

6位的很长,还是存在暴力破解问题。一个好的服务器可能30分钟不到就破解了。

图型验证是静态的。

短信验证码输错,点提交会提示验证码错误。它的验证码变了一下。而数据包里面只有(手机号,密码和短信验证码)。像第一个验证码根本就没有值传到服务器去做真伪判断。浏览器直接F10,审查元素等都可以直接把这个验证码输入框删掉来登陆和注册。

 

2.越权

自己的个人信息里有一些编辑的功能。点编辑进行抓包。   ID的值修改以后返回他人的个人信息出来。

 

支付的时候进行抓包

 

 短信轰炸

随便找十个商城网站,大概就一个存在短信轰炸问题。

一个正常的网站,在短信验证码这里会出现一个验证码,输入验证码之后,才能发送短信验证码。    上图没有任何的图形验证码,一眼可以确定存在短信轰炸。

发送的多了被拉入黑名单,对服务器影响也很大。手机号码也会变成恶意用户。

 

登陆的时候抓包是密文。    返回包的值是明文。     两个包之中,存在同样的值。这算不上是漏洞,算得上一个逻辑缺陷(即,如果不是密码的值,那这里的值为什么要一致。它没有任何具体应用价值)   单单这么一个漏洞提交以后,也可以换来几百块钱的奖励。  挖大厂商,是接收这些逻辑缺陷的。

 

 

 

返回包的时候,直接把验证码发了回来,相对于本地验证。 

 

 一个网站,哪里最可能发生问题。

用户遍历:如果提示用户名不存在   或者输入存在的用户名提示登录失败

 

 

 

 

 

转载于:https://www.cnblogs.com/sec875/articles/9352254.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值