在编写程序时只考虑到常规用户操作,忽略了意料之外的事情。

20250627-2

登录页面提示

用户名或密码错误不合理的提示;

修复方式:

对接口登录页面错误提示改为:账户或密码错误(模糊提示);增加动态验证,避免被爆破

短信轰炸漏洞

网站对信息发送的次数、时间没有做限制,导致可以无限的发送例如短信/邮件等内容;

例如账号注册、忘记密码、绑定手机邮箱等;

修复方式:

合理配置后台短信/邮件服务器功能,同一号码限制次数,限制时间间隔,增加验证码机制。

(不过也可通过插件对 URL 进行各种参数的测试,来绕过这种限制)

密码找回&修改漏洞

20250627-1

20250627

常见找回方式:邮箱、手机号、密码保护问题等。

密码找回&修改时,未对修改密码的凭证、步骤做严格限制。

挖掘时需要熟悉业务流程(当前地址密码找回过程),对流程中的 HTTP 数据包请求进行分析。

  • 重定向用户&重定向地址

身份验证完成后:输入验证码通过后,系统重定向到“设置新密码”页面;

密码修改成功后:系统重定向到登录页面或个人中心页面;

一旦重定向的地址未进行严格校验,攻击者对其篡改,使用户跳转至恶意页面(钓鱼),进而破坏密码修改逻辑,导致窃取信息或越权。

示例:

  • 密码修改流程:验证邮箱(步骤1)→ 重定向到设置新密码页面(步骤2)→ 完成修改
  • 攻击者直接访问步骤 2 的 URL,并附带伪造的重定向参数,试图跳过步骤 1 的验证。

修复方式:

  • 一次性填写校验信息(原始密码、新密码等)后再提交修改密码请求;
  • 对请求的用户身份与当前登录的用户身份进行校验,判断是否有权修改用户的密码并对原始密码是否正确也进行判断;
  • 不应该将用于接收验证信息的手机、邮箱等信息全部明文传到客户端,应对手机、邮箱等信息进行屏蔽处理,或不将此类信息返回到客户端;
  • 对原始密码进行了验证的情况下,限制输入原始密码的错误次数;
  • 重置密码链接中的关键信息应随机化,不可预测(例如 token 机制),且禁止将关键信息返回到客户端

案例:

https://mp.weixin.qq.com/s/iFsEa2IYLo9gOZBPYIHssw

https://mp.weixin.qq.com/s/6cR7DVQaZYSs131Y3TvVLA

https://mp.weixin.qq.com/s/u6PC_ZR-QCJhZOuBEOL4Cg

https://mp.weixin.qq.com/s/hnEwAJpcbe7FsSlQOWuNUw

https://mp.weixin.qq.com/s/5A5L1MHJh9JtokyYRrfqeg

https://mp.weixin.qq.com/s/DHFQ5tZ7nmLzThE0zJz6qA

验证码绕过

  • 验证码不失效

对于短信&邮箱验证码没有时间过期限制或时间较久,可被爆破;

  • 验证凭证回传

验证码一般会发送到手机或者邮箱里,但是由于开发者的失误,通过抓取返回包可以看到验证码;

  • 验证码未绑定

输入手机号/邮箱/用户 ID 和验证码进行重置密码的时候,仅对验证码是否正确进行了判断,未对该验证码是否与另三者匹配做验证;

可以尝试删除数据包中的验证码参数绕过。

绕过滑动验证码: https://blog.csdn.net/shuryuu/article/details/104576559

支付逻辑漏洞

常规支付流程:选择商品和数量-选择支付及配送方式-生成订单编号-订单支付选择-完成支付。

可篡改参数:商品ID,购买价格,购买数量,订单属性,折扣属性,支付方式,支付状态等。

篡改及绕过方式:替换支付,重复支付,最小额支付,负数支付,溢出支付,优惠券支付,无限试用,越权支付,并发兑换,四舍五入半价购,循环优惠券,支付签约逻辑,新老用户差异,积分兑换制度,邀请分享绕过机制,红包渠道等。

修复方式:

  1. 加密、数字签名等验证机制;
  2. 服务端校验过滤用户提交的参数;
  3. 提交订单时后台判断单价是否与数据库中相符;
  4. 服务端计算金额是判断是否为正数;
  5. 生成数据签名,对用户金额和订单签名。

任意用户注册漏洞

任意账号注册会造成用户注册时手机、邮箱等被占用,影响用户体验

修复方式:

对新注册用户的绑定手机号进行短信身份认证,短信验证码请不要仅使用短数字,最好是以字母加数字进⾏组合,并且验证码需要限定过期时间和验证错误次数,防止短信验证码被暴力破解;

并发导致的漏洞

并发场景:包括但不限于点赞、投票、签到、代金券、领积分、获取验证码等。

APP小程序隐私合规

https://mp.weixin.qq.com/s/SfCIx0mNxn_PDfXP_5SfOQ

资源拒绝服务

验证码或图片显示自定义大小(部分隐藏参数可控,用来自定义修改显示的大小,过多的消耗服务器资源)

上传压缩包解压循环资源占用(压缩包炸弹,不停地循环解压消耗资源)

需要对加载处理进行一定的控制。