业务逻辑漏洞
扫描器扫不出来
漏洞包括
- 暴力破解
- 任意用户/密码登陆
- 短信/邮箱轰炸
- 验证码绕过/爆破/重放/回传
- 用户名/手机号枚举(用户名枚举:当用户登录时,显示用户名不存在,或密码不正确,两个其中一个不正确就称为用户名枚举)
- 越权登陆(例如修改数据包中用户 ID)
- 商品金额/数量篡改
- 整数溢出
- 登录业务逻辑漏洞
整数溢出
int(申请内存空间,内存空间最大值为 2147483647) 。
当最大值+1
时就会溢出
// xiu.cpp : Defines the entry point for the console application.
#include "stdafx.h"
int main(int argc, char* argv[])
{
unsigned int a=2147483647;
printf("%d",a+1);
getchar();
return 0;
}
溢出后就造成业务逻辑
例如:有金额的购物平台、一分钱买冰箱,宠物、娃娃机等。
登录业务逻辑漏洞
验证码绕过
判断前后端验证:
- 利用弹窗,有可能是前端验证
- 利用断网,如果出现弹窗,可能会是前端验证
在pikachu靶场为例
前端验证(Client)
输入用户名、密码、验证码,点击login
正确输入验证码就会显示正确的响应 username or password is not exists~
在bp中查看历史记录post,并发送到repeater
在response中查找正确的响应username or password is not exists~
刷新页面,验证码改变,但在原有的验证码中,还是可以成功的发送正确的响应
当删除验证码时,也可以收到显示正确的响应
总结
验证码可以重复使用、还可以删除验证码。
后端验证(Server)
输入正确的验证码
在bp里查看历史记录POST,将它发送到repeart
发现response没有显示正确的响应
将正确的验证码输入在request中,发现response显示了正确的响应
总结
网页验证码不动,在服务器中输入验证码。
验证码爆破
四个数字的验证码,验证码有效期为五分钟找回密码的功能
越权漏洞
垂直越权:非管理员可以登录管理员用户,并在其中可以删除用户帐户
水平越权:一名员工可以访问其他员工以及自己的记录
挖掘业务逻辑漏洞
四个数字的验证码,验证码有效期为五分钟找回密码的功能
越权漏洞
垂直越权:非管理员可以登录管理员用户,并在其中可以删除用户帐户
水平越权:一名员工可以访问其他员工以及自己的记录
挖掘业务逻辑漏洞
有金额的、用计算机计算超过2147483647的,利用小的购物平台就可以挖到业务逻辑漏洞。