技术干货 > 文章详情

6种常见web漏洞坑

柳絮飘飘_joan9个月前

逻辑漏洞挖掘一直是安全测试中“经久不衰”的话题。相比SQL注入、XSS漏洞等传统安全漏洞,现在的攻击者更倾向于利用业务逻辑层的应用安全问题,这类问题往往危害巨大,可能造成了企业的资产损失和名誉受损,并且传统的安全防御设备和措施收效甚微。今天漏洞盒子安全研究团队就与大家分享Web安全测试中逻辑漏洞的挖掘经验。

漏洞一:订单金额任意修改

解析

很多中小型的购物网站都存在这个漏洞。在提交订单的时候抓取数据包或者直接修改前端代码,然后对订单的金额任意修改。

如下图所示:

222.png
















333.png

经常见到的参数大多为rmb、value、amount、cash、fee、money

  关于支付的逻辑漏洞这一块还有很多种思路,比如相同价格增加订单数量,相同订单数量减少产品价格,订单价格设定为负数等等。

预防思路

1.订单需要多重效验,如下图所演示

444.png



2. 订单数值较大时需要人工审核订单信息,如下图所演示。



555.png

















3. 以上只是提到两个非常简单的预防思路,第二个甚至还有一些不足之处。这里需要根据业务环境的不同总结出自己的预防方式,最好咨询专门的网络安全公司。

漏洞二:验证码回传

解析

  这个漏洞主要是发生在前端验证处,并且经常发生的位置在于:账号密码找回、账号注册、支付订单等,验证码主要发送途径为邮件、短信。其运行机制如下图所示:

6.png














黑客只需要抓取Response数据包便知道验证码是多少。

漏洞三.未进行登陆凭证验证

解析

有些业务的接口,因为缺少了对用户的登陆凭证的效验或者是验证存在缺陷,导致黑客可以未经授权访问这些敏感信息甚至是越权操作。

常见案例:

1. 某电商后台主页面,直接在管理员web路径后面输入main.php之类的即可进入。

666.png

2. 某航空公司订单ID枚举

888.png


















漏洞四:接口无限制枚举

解析有些关键性的接口因为没有做验证或者其它预防机制,容易遭到枚举攻击。

常见案例:1.某电商登陆接口无验证导致撞库



99.png












2. 某招聘网验证码无限制枚举


858585.png














漏洞五:cookie设计存在缺陷

解析

这里需要对其详细的说一下。我们先一个一个来吧。

Cookie的效验值过于简单。有些web对于cookie的生成过于单一或者简单,导致黑客可以对cookie的效验值进行一个枚举,如下图所示:




6757.png

























  根据上图,我们可以分析出,这家网站对于cookie的效验只单纯的采用了一组数字,并且数值为常量,不会改变,这样非常容易遭到黑客的枚举。甚至有一些网站做的更简单,直接以用户名,邮箱号或者用户ID等来作为cookie的判断标准。

漏洞六:找回密码存在设计缺陷

解析

1.auth设计缺陷

  经常研究逻辑漏洞的人可能会对以下URL很熟悉  www.xxx.com/resetpassword.php?id=MD5

 用户修改密码时,邮箱中会收到一个含有auth的链接,在有效期内用户点击链接,即可进入重置密码环节。而大部分网站对于auth的生成都是采用rand()函数,那么这里就存在一个问了,Windows环境下rand()最大值为32768,所以这个auth的值是可以被枚举的。如下面这个代码可以对auth的值做一个字典。

999.png

然后重置某个账号,并且对重置链接内的auth进行枚举

000.png









2.对response做验证

  这个漏洞经常出现在APP中,其主要原因是对于重置密码的的验证是看response数据包,由于之前的案例没有截图,只能画个流程图给大家演示一下。


858586666.png













总结

以上见到的只是几个比较经典的和常见的逻辑漏洞,这些逻辑漏洞也是程序开发人员和安全检测人员需要留意的。



版权保护声明:本文转自ArthurKiller@漏洞盒子安全研究团队,本文仅代表作者观点,麦子学院可能会进行删节修改,但不代表麦子学院的官方立场。我们极其尊重并保护原创作品的版权,若原作者有任何疑问,请联系微信号:chengxuyuan8



















1

登录 后参与讨论

没有更多评论了

有一位课程导师想与你聊聊

客服热线 400-862-8862

回到顶部