本文仅用于网络安全技术学习与授权测试交流。本文实验皆在靶场进行,任何未经授权使用文中技术的行为均与作者无关,请务必遵守法律法规,获得许可后方可进行渗透测试。
目录
一、登录框渗透
暴力破解
二、验证码绕过-on-server
三、验证码绕过-on-client
四、登录框SQL注入
第一种情况:知道账号不知道密码,账号是admin
第二种情况:账号和密码都不知道
一、登录框渗透
暴力破解
如Pikachu靶场为例,它的正确账号密码为admin/123456,如果登录成功则会显示login success
如果输入错了,则会有输入错误的回显:账号或密码不存在
所以若在不知道密码的前提下,要爆破的话,需要把流量转到burp suite
首先需要开启代理,只有这样bp才有抓包的能力
假如不知道账号密码,随便输入账号和密码,提前开启代理,点击登录
可以看到bp回显了一堆数据,这些数据就是bp抓到的流量,而在开启代理拦截的时候,浏览器会一直转圈,因为流量被我们拦截所以过不去,因此只有放包的之后浏览器才会收到我们拦截之后的流量
接着把流量转发到bp的爆破模块,鼠标右键
选择爆破类型
爆破之前需要字典,爆破需要在字典里一个一个尝试,直至试出来,这些账号密码字典(弱口令字典)可以在网上下载
对爆破的位置进行爆破
这个登录账号是admin,我们爆破的是密码,当然也可以账号和密码一块儿爆破,这个例子我们爆破密码
首先选中密码位置,进行添加
添加完成之后会出现两个符号包裹,这就是添加成功了
如果想清除标记的话点击clear清除
然后我们点到payloads设置字典
在网上下载个字典,进行添加字典,也可以自己创建一个字典
添加完成之后进行爆破
找到响应长度不一样的,就是爆破成功的结果,如图所示,爆破出来的密码是123456
登录一下,ok呀,也是登录成功了
二、验证码绕过-on-server
先进行bp抓包
抓包之后发送到重放器repeater
这个重放器可以重复进行这个抓包之后的修改和发送
然后可以发送到爆破模块,标记密码,添加字典,开始爆破,密码就爆出来了
三、验证码绕过-on-client
验证码前端js校验绕过
首先禁用浏览器js,禁用之后刷新才有效
禁用之后,我们输入账号密码,直接登入成功,不需要填验证码,绕过验证码的校验
四、登录框SQL注入
以webug靶场为例
第一种情况:知道账号不知道密码,账号是admin
账号输入admin'#,密码随便输
点击登录,登录进去,找到flag
登录的sql语句
可以看到后面的被注释掉了,只要账号是正确的就可以查出数据
也可以添加-- -,效果一样
第二种情况:账号和密码都不知道
在一个符号前加转义符号,那个符号就会无效
输入斜杠就会把'变为无效
构造永真条件,只要能查出数据就能登录成功
尝试一下
账号:\ 密码:or 1=1 #
登录成功
如果sql语句是账号在后,密码在前的情况
直接反着输入就行
账号:or 1=1 # 密码:\