渗透测试之逻辑漏洞(一)

    科技2026-02-13  18

    渗透测试之逻辑漏洞(一)

    直到现在,都没有一款漏扫产品可针对逻辑漏洞进行扫描,所以在渗透测试中,逻辑漏洞是一个不可忽略的地方。

    1、越权漏洞

    越权漏洞是Web应用程序中一种常见的高危漏洞。所谓越权即一个账户可查看本不该属于本账户权限可查看到的(敏感)信息。严重者更可以控制整个网站的用户数据。

    漏洞高发地

    逻辑漏洞多见于“用户注册”、“用户登录”、“身份验证”、“个人信息查看”等功能模块。以本菜狗并不丰富的经验来看,“医院”等相关网站、小程序或者公众号,越权逻辑漏洞可谓是一抓一个准,且危害很高。

    最常用的测试方法

    修改、遍历用户id :拿医院挂号小程序举例,很多患者填写个人信息后提交。查看个人信息后,抓包可看到用户id多为提交时间的时间戳,也有的是递增规律的几位数字。只需要简单的随机修改id,或者遍历id,即可越权看到其他患者的个人资料、问诊记录等相关敏感信息。

    防御思路:

    1、不能只根据用户 id 参数去搜索,应该再次进行身份验证。

    2、可以从用户的加密认证 cookie 中获取当前用户 id,防止攻击者对其修改。或在 session、cookie 中加入不可预测、不可猜解的 user 信息。

    3、在每个页面加载前进行权限认证。

    4、对有多步验证的应用,需要准确验证上一步是否通过。

    2、短信/邮箱轰炸漏洞

    在逻辑漏洞中短信轰炸和邮箱轰炸是相对来说比较常见的漏洞,邮件轰炸相对短信轰炸来说危害较小,因为发送短信一般都是按条收费的,若短信轰炸漏洞 被利用,便可以无限制地调用接口发送短信,对企业造成经济和名誉上的损失,另一方当面,手机短信也比邮箱的普及度(使用场景)来得更高一些。

    漏洞高发地

    轰炸漏洞多见于登录、注册、找回密码、绑定手机/邮箱等处,即任何需要向手机或者邮箱发送验证信息的地方,都可能存在短信/邮箱轰炸漏洞。

    最常用的测试方法:对于没有没有验证码,不需要绕过的地方来说,直接抓包重发最为直接有效。

    一些绕过思路:

    总结了一些从网上和其他师傅那里偷师过来的绕过方法:

    1、修改Cookie值绕过短信/邮箱轰炸限制 当后端是验证当前cookie而不是验证手机号/邮箱来判断次数时,很容易造成绕过,直接修改cookie便可以重复对手机/邮箱无限制发送轰炸。

    2、修改IP绕过短信/邮箱轰炸限制 有些网站是验证当前IP的,如果当前IP短时间内获取短信或邮件频繁或者达到一定次数的话就会出现限制,那么久可以利用修改x-forwarded-for、client-ip头,或者使用代理池来绕过。

    3、抓包重放绕过限制 有些网站只是前端验证,当点击发送按钮后javascript使发送验证码按钮不可点击,但是后端并没有做验证,这样只学需要抓包重放就可以绕过。

    4、利用空格绕过短信&邮箱轰炸限制 当一个号码发送次数被限制后,在号码前面加上空格,这样后端会识别成其他的号码,但实际上是给同一个号码发送的短信(不一定是空格,可fuzz其他字符)。

    防御思路:

    1、设置验证码在发送短信/邮件处,确定是人为点击发送操作。

    2、设置时间判断,比如60秒内限制发一条。

    3、设置一个手机号/邮箱每天发送次数的上限为一天5次左右。

    Processed: 0.013, SQL: 9