常规漏洞 ![]() 弱口令 01 首先第一个就是大家耳熟能详的弱口令,弱口令的危害相信大家基本都了解。 根据NordPass公布的2021年弱口令TOP200里,密码:123456 再次稳居榜首。 一些常用的用户名和密码: 另外也可以针对站点名称、公司名称或者人员信息,使用工具生成一些口令,尝试进行爆破,增加成功率。 密码明文传输 02 密码明文传输,这个是应用程序没有对账户和密码的信息进行加密,在网络传输中就容易被链路上的流量分析设备嗅探到账户密码信息。 框架漏洞 03 在框架漏洞方面的话,Apache Shiro反序列化漏洞算是比较出名的一个了,如果存在这个漏洞,是可以直接RCE,判断方法的话,一般是在登录页抓包,查看响应包里是否含有remeberMe=deleteMe 参数。 使用工具对目标系统的秘钥进行扫描 SQL注入漏洞 04 SQL注入漏洞,是指应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,造成用户可以控制的执行SQL语句。 以下是判断是否存在注入点: 另外就是通过SQL注入的方式,使用“万能密码”,绕过账户密码验证,进入到系统里。 常用的一些语句: 未授权访问 05 应用程序一般都具备权限划分和控制,但是如果权限控制功能设计存在缺陷,那么攻击者就可以通过这些缺陷来访问未经授权的功能或数据。 例如这个案例,在系统登录页的网页源码里看到了登录成功后跳转的页面url,尝试直接访问后,直接就进入到了系统里面。 直接访问url进入后台页面: 敏感信息泄露 06 再就是敏感信息泄露方面,在登录页网页源代码里看到了一些开源的加密信息,可以为后续的一些测试提供些帮助。 验证机制问题 ![]() 无验证码 01 应用登录功能未设置验证码校验机制,且无登录失败锁定策略,既会存在被暴力破解的风险。 使用工具进行爆破 验证码未更新 02 应用程序设置了验证码校验机制,但是验证码可重复使用,基本相当于没验证机制。 验证码为空绕过 03 再者就是有验证码机制,但是在请求包里,将验证码参数删除后,服务器后端就不进行校验了,直接只校验账户和密码,也是存在被爆破的风险。 验证码可识别 04 验证码图形过于简单,导致使用工具可对图案进行识别,验证码基本是形同虚设。 使用工具对验证码进行分析识别: 短信验证码返回 05 应用程序登录功能或找回密码设置了短验证码校验机制,但是机制存在问题,抓包发送请求后,响应包返回了验证码内容信息。 短信验证码爆破 06 短信验证码可爆破,常见于纯数字情况,且没有验证码失效时间或者失效时间过长,导致可以进行遍历爆破。 逻辑漏洞问题 ![]() 任意用户注册 01 任意用户注册,应用程序未对注册功能进行严格限制,导致用户可以进行恶意注册,造成应用系统存在大量僵尸账户。 使用工具批量更换用户名,其他信息不变,均可注册成功。 短信或邮件炸弹 02 应用程序短信或邮件验证功能存在逻辑问题,发送短信或邮件时未做校验,发送间隔和次数未合理配置,导致可以频繁发送,如果短信发送功能被恶意利用容易造成一定的经济损失。 忘记密码处逻辑漏洞 03 应用程序忘记密码功能处存在逻辑漏洞,例如:将http://www./forgetpassword.asp?step=1改为http://www./forgetpassword.asp?step=2,绕过验证步骤,直接到达重置密码功能界面。 用户名枚举 04 用户名枚举,应用程序在验证账户密码时,返回信息未进行模糊化处理,直接详细返回错误信息,方便攻击人员对用户进行遍历。 任意用户登录 05 应用程序未对账户登录信息进行严格校验,导致任意用户登录。 例如直接修改user参数为存在的用户,https://xxxx/ui/login.php?user=admin,无需密码即可登录。 总结 ![]() |
|