登录框攻击面思路
参考链接:
1、用户名
' => 没反应
" => 密码错误
存在SQL注入==> 尝试万能账户 ' or '1' = '1 => 爆破密码
例子:
- (1) 正常登录报错
 
- (2) 加一个引号
 
- (3) 修改payload,以此返回数据包不同来判断存在SQL注入。
 
2、逻辑漏洞
- 短信轰炸/邮箱轰炸
 
- 一般在发送验证码后抓包,不断 
repeate即可。 
- 一般在发送验证码后抓包,不断 
 
- 绕过:
- 添加空格或者 
\n、\r、\r\nmobile1=XXXXXX变成mobile1= XXXXXX或者mobile1=XXXXXX或者mobile1=XXXXXX\n
空格或者\n可以叠加,比如:mobile1=XXXXXX\n\n
 
- 添加空格或者 
 
- 参数污染绕过
- 参数污染,就是说后台发送短信的时候会取数字那部分,当你混入其他字符之后绕过了对已经发送的手机号码的限制的校验。
 
tel=+)WAFXE#!18888888888&uid=11
 
- 参数污染绕过
 
- +86 或者 086
mobile=+86 18888888888或者mobile=086 18888888888
 
- +86 或者 086
 
- 变量污染绕过
- 后台可能校验了第一个变量的内容是否超过限制,但是当数据包在传递到后台过去的时候,如果多个参数名是一样的时候,是会以第二个、第三个、第四个…最后那个参数为基准去传递,因此绕过了后台的限制。
 
mobile=17777777777(绕过限制的号码)&mobile=18888888888(真正接收短信的号码)
 
- 变量污染绕过
 
- 数据长度绕过
- 手机号码的定义是 11 位数,但是后台没有对传递的手机号码做校验长度,比如123=0123=00123,通过该方法来进行一个手机号码的绕过: 【狗的一个漏洞】
 
 
- 数据长度绕过
 
- 修改变量参数绕过
- 比如这样的请求参数:
terminal=01&Mobile=XXXXXXX,前面的接口是调用短信发送内容的接口,比如terminal参数值为01是调用注册成功的短信提示,02是调用密码重置成功的短信提示,03是调用注册成功的短信提示等等,当修改这个接口值时,也就达到了短信轰炸或邮箱轰炸的目的。 
- 比如这样的请求参数:
 
- 比如 
apitype=1&phone=18888888888,1代表注册接口,2代表注册成功接口,3代表密码重置接口,那我们就可以爆破apitype参数,这样一个手机号就会不断的经历注册,注册成功,密码重置成功的短信轰炸。所以,在漏洞挖掘的时候,关注参数以及参数之间的关联是十分必要的。 
- 比如 
 
- 比较常见就是发送验证码的时候前端带入一个状态,通过修改这个状态可以来绕过系统的限制,如已注册的用户不能发送短信或者相反未注册的用户不能发送短信
- 把 
mobile=188&checkFlag=Flase改成mobile=188&checkFlag=True 
- 把 
 
 
- 比较常见就是发送验证码的时候前端带入一个状态,通过修改这个状态可以来绕过系统的限制,如已注册的用户不能发送短信或者相反未注册的用户不能发送短信
 
 
- 修改变量参数绕过
 
- 修改响应包
- 比如发送成功后返回值是 
success,发送失败的返回值是error,那么当达到次数后,可以通过修改返回值为正确的返回值:success,从而绕过限制,达到发送成功的目的。 
- 比如发送成功后返回值是 
 
 
- 修改响应包
 
- 修改IP绕过短信&邮箱轰炸限制
- 有些同样是验证当前IP的,如果当前IP短时间内获取短信或邮件频繁或者达到一定次数的话就会出现限制,那么就可以利用修改IP或者代理IP来进行绕过限制。
 
 
- 修改IP绕过短信&邮箱轰炸限制
 
- 利用大小写绕过邮箱轰炸限制:前面说到了关于加空格的绕过限制,邮箱也可以用,但还有一种方式可以绕过邮箱轰炸限制,那就是通过修改大小写,通过修改邮箱后面字母的大小写就可绕过限制,比如参数是这样的:
Email=XXXX@qq.com当次数达到限制时,随便修改一个字母为大写:Email=XXXX@Qq.com就可绕过限制。 
- 利用大小写绕过邮箱轰炸限制:前面说到了关于加空格的绕过限制,邮箱也可以用,但还有一种方式可以绕过邮箱轰炸限制,那就是通过修改大小写,通过修改邮箱后面字母的大小写就可绕过限制,比如参数是这样的:
 
- 抓包删除或修改cookie信息(
Cookie:xxxxxxxxx全部删掉或删除中间一部分xxx) -> 空数值发包多次 
- 抓包删除或修改cookie信息(
 
 
- 绕过:
 

- 任意用户注册
 
- 爆破注册页面的验证码,即可任意用户注册
 
- 通过邮箱验证,构造验证链接
- 先按正常流程发送验证链接到邮箱,去邮箱查看验证链接格式,可能就是由注册时所填信息构成的 -> 再次注册新账户,直接构造验证链接,用浏览器打开即可成功验证。
 
 
- 通过邮箱验证,构造验证链接
 
- 任意密码重置
 
- 随意输入验证码 -> 发包 -> 返回包,修改
{"status":0}为{"status":1}-> 成功重置密码 
- 随意输入验证码 -> 发包 -> 返回包,修改
 
- 验证码为4位的话,可抓包爆破验证码
 
- wooyun-2013-039809
 
- 不完全的登录(登录绕过)
 
- 在登录页面,随意输入任意的账户和密码,然后抓包,修改返回包,骗过前端,从而获得一定的权限,这种登录绕过的方式很可能导致后台功能不完善或者数据为空 -> 将标识身份的信息制空,可以看到许多敏感数据。
- 修改响应包状态码为200直接绕过
 
- 修改响应包内容绕过
- 🌰 登录失败时,返回包中有数据 
0|sjhdfao-> 思考0有什么意义? -> 查找js文件,发现判断置1的时候可以成功登录。 
- 🌰 登录失败时,返回包中有数据 
 
 
- 修改响应包内容绕过
 
 
- 在登录页面,随意输入任意的账户和密码,然后抓包,修改返回包,骗过前端,从而获得一定的权限,这种登录绕过的方式很可能导致后台功能不完善或者数据为空 -> 将标识身份的信息制空,可以看到许多敏感数据。
 
3、禁用JS插件,查看页面源代码12
- 禁用JS和查看页面源代码,有时候会有意想不到的惊喜。
 
- 例如某些重定向,某些权限缺失,在我们未授权进入后台一瞬间,就会重定向回去登录页面,而如果此时我们禁用了JS,则可以进行一定权限的控制。
 
Ctrl + U查看源代码,在源代码里可能会泄露一些秘密,例如测试账号、一些网站的后台结构、JS接口、源码仓库地址等。
4、URL重定向
- 一般出现在以下参数里,而登录时常常也有这个URL重定向到后台网站,我们修改这个后台网站的URL即可跳转到任意页面,可用于钓鱼页面的制作
 
- http://www.aaa.com?url=aHR0cDovL2FkbWluLmFhYS5jb20=
- url后面常会进行base64编码处理
 
 
- http://www.aaa.com?url=aHR0cDovL2FkbWluLmFhYS5jb20=
 
- 常见URL跳转参数
- redirect
 
- redirect_to
 
- redirect_url
 
- url
 
- jump
 
- jump_to
 
- target
 
- to
 
- link
 
- linkto
 
- Domain
 
 
- 常见URL跳转参数
 
5、明文传输/用户名可枚举/爆破弱口令
- 用户名可枚举
 
- 因为页面对所输入的账号密码 进行的判断 所回显的数据不一样
- 举例:用户名不存在,密码错误
 
- 修复:用户名或密码错误
 
 
- 因为页面对所输入的账号密码 进行的判断 所回显的数据不一样
 
- 爆破弱口令
 
- 工具推荐
- Hydra
 
- 超级弱口令:链接:https://pan.baidu.com/s/1mkwnxu19Aq-KEVCWOZn99w 提取码:blj3
 
 
- 工具推荐
 
- 根据信息收集进行定制化爆破
- 举例:发现了管理员的名字缩写为crj,然后我就生成了一堆密码,最后成功登陆账号密码为crj112233
 
- 定制化生成字典: http://tools.mayter.cn/
 
 
- 根据信息收集进行定制化爆破
 
- 防火墙默认账户密码

 
- 防火墙默认账户密码
 

6、扫描
- 目录扫描
 
- 御剑
 
- 多次爆破,遍历访问多级域名的目录
 
- js扫描
 
- chrome插件:FindSomething
 
- 多次爆破,遍历访问多级域名的JS
 
- nmap扫描
 
- 举例:使用Nmap对批量网段的探测,获得了一个登陆网站,并且在网站中遍历目录,获得了一个test页面,最后在这个页面的JS文件中,获取到了一个接口,通过这个接口重置了主登录页面的密码。
 
7、框架漏洞
寻找CMS,或者网页框架,以及某些厂商的服务存在漏洞。可以提取特征指纹,去fofa找同类型站打。
8、各种未授权、免登录进入后台
9、验证码问题
- 验证码可修改接受者
可将A账号的修改密码验证码接受者修改为B,这样A账号的验证码就会发到B的手机上,从而B可以重置A的账号密码
例如A账号moblephone=13333888888 ,这点是可控的,我们修改为moblephone=18888888888,即可收到A账号的重置验证码 
- 验证码可修改接受者
 

- 登录验证码可绕过
可能存在万能验证码0000或者9999,不过此类情况较为罕见。更多的情况为修改返回包,可能会出现可绕过逻辑判断。 
- 登录验证码可绕过
 
- 验证码可爆破
验证码失效的时间过长,并且为纯数字或者过短字符,导致可被爆破。 
- 验证码可爆破
 
- 验证码回显前端
有的网站验证码会回显到前端,只需要抓包即可获得验证码 
- 验证码回显前端
 
- 验证码复用
验证码不会自动刷新,导致我们可一码多次使用,我们只需要输入一次验证码就可以让我们能够开始进行暴力破解。 
- 验证码复用
 
- 验证码识别
 
- 识别验证码burp插件:https://github.com/f0ng/captcha-killer-modified
- 源码zip和jar包都要下载。
 
 
- 识别验证码burp插件:https://github.com/f0ng/captcha-killer-modified
 
- 验证码插件使用教程:https://www.cnblogs.com/4geek/p/17145385.html
 
- 下载依赖库:网上看到的教程都说 
ddddocr不支持 Mac M1,M1用户需要自己编译onnxruntime才行,于是我找到了这个项目 https://github.com/cansik/onnxruntime-silicon ,亲测有效。 
- 下载依赖库:网上看到的教程都说 
 
pip3 install onnxruntime-silicon
pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com ddddocr aiohttp                    © 版权声明
文章版权归作者所有,转载请标明出处。
THE END
    

















暂无评论内容