目录
1 逻辑漏洞
1.1 原理
之所以称为逻辑漏洞,是因为代码之后是人的逻辑,人更容易犯错,是编写完程序后随着人的思维逻辑产生的不足,所以逻辑漏洞一直都在。sql注入、xss等漏洞可以通过安全框架等避免,这种攻击流量非法,对原始程序进行了破坏,防火墙可以检测,而由于逻辑漏洞产生的流量多数为合法流量,一般的防护手段或设备无法阻止,也导致了逻辑漏洞成为了防护难题。
逻辑漏洞一般可以分为以下几类:
验证机制缺陷
会话管理缺陷
权限管理缺陷
业务逻辑缺陷
登录缺陷
支付逻辑缺陷
API乱用
knowledge:
API( 应用程序编程接口):一般来说,这是一套明确定义的各种软件组件之间的通信方法。
1.2漏洞说明
1.2.1支付逻辑漏洞
支付漏洞一般分为三类,
(1)支付过程可直接修改数据包中的支付金额
开发人员为了方便,导致支付的关键数据,能直接截包查看而重要的金额数据,在后端没有做校验,传递过程中也没有做签名,导致可以随意篡改金额.
(2)没有对购买数量进行负数限制
产生的原因是开发人员没有对购买的数量参数进行严格的限制,传输过程没有做签名,导致可随意修改,经典的修改方式就是改成负数,或者修改为超大的数。
(3)请求重放
购买成功后,重放其中的请求,可以使购买商品一直增加.
1.2.2登录缺陷
(1)密码找回
密码找回逻辑测试一般流程
- 首先尝试正常密码找回流程,选择不同找回方式,记录所有的数据包
- 分析数据包,找到敏感部分
- 分析后台找回机制采用的验证手段
- 修改数据包验证推测
常见思路:
- 用户凭证(验证码)暴力破解:验证码一般为4位&6位的数字
- 在返回请求中已经包含凭证:使用查看元素或者burpsuite查看返回包
- 本地进行凭证对比:密码找回凭证在页面中,当对比成功才会进行发起请求
- 邮箱弱Token:通过修改返回的token中加密的UID值间接修改其他用户密码
(2)无效的防御措施
1.无效的防重放措施:比如防止CSRF的token。可以利用Burp Suit Macros(宏)绕过。
2.无效的登录失败功能处理:
图片验证码绕过:验证码不生效、不更新、不失效,验证码可预测、删除、获取,验证码可识别,寻找其他登录页面。
短信验证码绕过:4/6位暴力破解,篡改手机号,篡改response。
1.2.3越权访问
一般越权访问包含三类:未授权访问、平行越权、垂直越权。
未授权访问:就是在没有任何授权的情况下对需要认证的资源进行访问以及增删改查。
垂直越权:通过低权限向高权限跨越形成垂直越权访问,又叫做权限提升攻击,具体原因就是web应用没有做用户权限控制,或者只是在菜单上做了权限控制,导致恶意用户只要猜测到其他管理页面的URL,就可以访问或者控制其他角色拥有的数据或者页面,达到权限提升的目的。
平行越权,顾名思义就是同等用户权限之下,不用进入其他用户的账户也可以对别的用户资料或者订单等信息进行增删改查操作的目的,也可以把其称作访问控制攻击漏洞.Web应用程序在接收到用户的请求时,我们在增删改查某条数据时候,没有判断数据所对应的用户,或者在判断数据的用户时是通过从用户表单参数中获取userid来实现的,这里的话我们可以修改userid来实现水平越权。
所以我们一般在增删改查,登陆,更新的地方寻找越权漏洞
2.拒绝服务攻击(DOS)
攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:一是迫使服务器的缓冲区满,不接收新的请求;二是使用IP欺骗,迫使服务器把非法用户的连接复位,影响合法用户的连接。
是一种破坏性攻击,通常是利用传输协议下的某个弱点、系统存在的漏洞、或服务器的漏洞。对目标系统发起大规模的进攻。用超出目标处理能力的海量数据包消耗可用系统资源、宽带资源等,造成程序缓冲区溢出错误,使其他合法用户无法正常请求。最终致使网络服务瘫痪,甚至系统死机。
本文当初参考了几位博主的思路,时间较久,若有朋友发现来源可以告知我,我会补上参考文章。