验证码绕过/爆破/重放/回传
进入pikachu靶场
on server 在服务器
on client 在客户端
on client
输入正确的验证码
验证码正确的提示
说的是账号或密码的错误,并没说验证码错
打开bp的历史
重放刚才的包
重放发现验证码也是对的,但是此时的页面验证码已经改变
此时修改用户名或者密码都提示的验证码是正确,可以进行验证码爆破了
因为这个验证码是存在前端的,并不会与数据库进行交互所以就算把验证码删了都可以进行爆破
on server
还是先输入正确的验证码
提示的正确的信息
此时打开bp
这次放包就是验证码错误的提示了
这是什么原因呢?
因为前端的验证码已经发生改变了,跟数据库相连数据库也有验证,再用老的验证码肯定就不行了
我们可以把抓到的这个包验证码改成现在web界面新的
成功
而且会发现前端界面的验证码并没有发生改变,此时我们可以爆破账号密码,但是要带着验证码
为什么前端验证码不会刷新?
因为我并没有点击前端的验证码或者是点击login,他不会刷新,我只是重发数据包罢了。
整数溢出
int 整数 原理差不多就是 int一个整数其实也是向cpu申请一个内存空间,比如我int的是5但是我后面在页面输入的是6那么就会溢出。
#include "stdafx.h"
int main(int argc, char* argv[])
{
unsigned int a=5;
printf("%d",a+1);
getchar();
return 0;
}
商品金额/数量篡改
访问这个靶场网站
先注册个用户
随便买个东西同时开启bp拦截
点击立即购买然后bp拦截到的
修改数据价格
登录业务逻辑漏洞
这是一段最简单的登录逻辑漏洞的代码
可以看到if判断中,如果密码pwd==passwd也就是admin,或者,get传参一个user==root,两个其中一个是true就会输出welcome界面
实验
此时提示的是请登录
p后面的值并不是admin,此时提示请登录
但是在后面接上另外一个判断的值
就显示welcome