原理
逻辑漏洞就是基于开发人员设计程序的时候,逻辑不严密,导致攻击者可以修改、绕过或者中断整个程序,让程序按照开发人员的预料之外去执行。
漏洞的更因
程序的本质就是按照研发设计的逻辑运行,这个过程中出现的所有漏洞,皆可以为逻辑漏洞。
逻辑漏洞的分类:
软件(系统)设计之初便存在的漏洞
使用者未能安全使用软件所产生的
逻辑漏洞实战
我们通过
webbug
平台来演示一下,打开我们的
webug
虚拟机,该虚拟机的网络连接模式默认是
NAT的,改为桥接模式。
在渗透基础部分总共有
16
关,我们先演示一下第六关:用最少的钱去购买
点击这一关,来到如下页面,需要登录,用户名:
tom,密码是:123456
![](https://img-blog.csdnimg.cn/6b91eba9b406421f980ce201d047e0c9.png)
登录成功之后来到如下页面,抓包分析
修改数据包中的单价
效果
购买成功,这就是逻辑漏洞。
常见的逻辑漏洞
登录验证码安全
图形验证码
验证码可爆破
验证码可爆破,即验证码过于简单,例如验证码中字符数量过少,比如只有四位组成,且只包含 0-9 的数字还没有干扰点 ,亦或者验证码可以被猜测到(这种情况很少见) 可以使用 PKAV 来进行带验证码的爆破,先用 burpsuite 来抓包,再将抓取的数据包放 在 pkav里,进行爆破。
验证码复用
验证码复用,即登录失败后验证码不刷新,仍然可以使用上一次登录时的验证码且有效,存在爆破风险漏洞,如织梦后台的验证码,测试方法如下,抓包后输入对的验证码后,反复发送查看回包
可以看到,没有出现验证码错误,出现的是用户名不存在,那么这里还出现一个点,用户名爆破,只要输入账号错误和密码错误回显 不一样,就可以算成用户名可爆破漏洞
![](https://img-blog.csdnimg.cn/48f00f167d584624aa52ff0d98bf1de0.png)