网页手机号抓取程序(逻辑漏洞利用的方法要结合具体场景来谈,你知道吗?)
优采云 发布时间: 2021-10-30 22:25网页手机号抓取程序(逻辑漏洞利用的方法要结合具体场景来谈,你知道吗?)
前言
什么是逻辑漏洞?逻辑漏洞是人们在编写程序时,由于对功能的某些方面的疏忽或不完全考虑而导致的漏洞。因此,逻辑漏洞有很多奇怪的场景,逻辑漏洞的产生方法要结合具体场景来讨论。让我举一些常见的例子。逻辑漏洞的类型。
一、密码重置漏洞1.验证码爆
网站发送的部分手机验证码是四位数验证码。这时候就可以使用字典爆破了。
2. 验证码捕获
验证码由客户端生成,我们可以在发送验证码时使用抓包工具抓取验证码。
3.验证码未更新
获取验证码后,不刷新验证码,后端程序不验证验证码。使用A手机号重置密码成功的验证码可以在B手机密码重置时使用,成功重置B用户密码。只需使用一个验证码,然后不断更换不同的手机号码,即可实现批量密码重置。
4.删除验证码
抓取数据包并删除验证码,可以让服务器判断操作正确。
5.修改返回包
1. 修改返回包中的判断语句(改fail为true);
2.修改返回的数据值(0、1、200);
3. 替换判断性质的参数值。捕获正确的(A账户)返回包参数值,然后用它替换其他捕获的错误(B账户)返回包参数值;
4.删除判断语句;
6.饼干
1.删除cookie值
2.替换cookie值
7.链接修改
1.邮箱链接修改。
示例:点击找回账号A的密码,网站会给你发送一个重置密码的URL链接,URL链接中会收录一串加密的字符串(服务器端通过一定算法生成验证用户身份参数)和用uid、手机号、QQ邮箱证明你身份的参数。这时候你把手机号、qq邮箱等信息改到账号B,然后点击消息内容中的密码重置链接,就成功了。设置账号B的密码。
2.浏览器 URL 链接。
URL链接以明文形式显示了用户参数和重置密码的每一步(1、2、3、4),你用你的A账号成功通过了验证码步骤到达修改密码页面,然后账号B替换账号A,简单来说就是用其他方式跳过验证码验证步骤。
8.在登录状态下,在修改密码的地方更换id。9.修复方案
1.设置复杂验证码(6位验证码)
2.验证码设置有效时间
2.在链接中添加令牌
3.避免客户端生成验证码
4.后端程序验证验证码和对应的用户信息
5.验证码唯一性,一次性
6.后端避免返回明文响应包
二、信息轰炸1.手机验证码轰炸
注册账号或重置账号密码时,获取验证码后抓包,将数据包发送至重放模块,不断重放数据包,以便后端程序不断发送验证码。
2.邮箱轰炸
原理和手机验证码一样。
3.修复方案需要人机验证获取一定时间的验证码限制验证码请求次数三、支付漏洞1.修改订单金额
修改数据包中表示数量的参数为负数、0、或少量、或无穷大
2.修改订单数量
修改数据包中购买的商品数量为负数,为0,无限大,会导致后端程序处理出错,导致支付金额为0
3.修改优惠券或积分
修改代表优惠券或积分的数据包参数
4.修改使用时间
将试用产品改为无限使用
5.删除数据包
删除数据包中一些代表支付信息的参数
6. 维修计划
1. 禁止支付参数值小于等于0;
2.大额订单需要人工审核。
四、越权漏洞1.越权级别
横向越权是指具有相同权限的用户可以相互添加、删除、修改、查看信息。示例:用户A在查看自己的个人信息时,找到一个代表自己身份的参数值(Uid、id等),然后修改该参数值,发现自己居然可以查看其他人的个人信息。
2.垂直越权
垂直越权是由“基于URL的访问控制”中的设计缺陷引起的漏洞,也称为提权攻击。一些只有管理员才能触发的操作,低权限的用户也可以执行。
3.修复方案的前后端验证禁止修改代表身份的参数值。
—————————————————
版权声明:本文为CSDN博主“bkweather”的原创文章,遵循CC4.0 BY-SA版权协议。转载请附上原出处链接和本声明。
原文链接: