路由器漏洞挖掘系列之未授权访问漏洞及常见绕过技巧
路由器漏洞挖掘系列之未授权访问漏洞及常见绕过技巧
原创 B2eFly 山石网科安全技术研究院 2023-07-06 10:38
#01
「 基本介绍 」
未授权访问漏洞是指攻击者利用系统或应用程序中未正确实施访问控制机制的安全弱点,以获取未经授权的数据或功能权限。这种漏洞可以被黑客利用来窃取敏感信息、篡改数据或执行未经授权的操作。
通常,未授权访问漏洞的原因包括:
1. 系统或应用程序的访问控制机制不严格,例如,使用默认的用户名/密码进行登录或者没有限制用户对数据和资源的访问权限。
-
应用程序在用户提交的请求时未能正确地检查身份验证令牌或会话ID等标识符,并相信它们提供的内容是真实的。
-
应用程序缺乏安全性设置或不足的加密机制。
#02
「 常见场景 」
- strstr(str1,str2)函数 — 判断字符串str2是否是str1的字串。
(1) 判断特定字符串后缀
判断是否存在.jpg .gif .png字段,登录界面需要加载前端文件,访问某些静态文件不需要认证。
(2) 字符串截断%00
判断某些网站需要认证才能访问的html页面。
- strcmp、strlen 判断字符串相等与计算字符串长度。
strlen遇到00截断,如果输入\x00,比较前0位(一位都不比较,strcmp返回0)
(3) 逻辑问题
- 默认配置为空
strmcmp(默认值,前端传入) 空=空
(4) 接口认证
- api接口没有认证
(1) 直接下载配置文件
(2) API接口(设备重启、恢复出厂设置……)
(5) 其他
- 多漏洞利用绕过登录
#03
「 历史漏洞 」
CVE-2021-32030
华硕(ASUS)披露了GT-AC2900路由器存在身份验证绕过漏洞。在未授权的情况下,攻击者可利用该漏洞访问管理员界面。
漏洞分析
httpd_handle_request 函数
在设备默认配置下,IFTTT功能并没有打开,默认ifttt_token值为空,此时如果攻击者传入的asus_token值也是空值,strcmp比较函数返回值为0,绕过后续检查,实现身份验证绕过。
#04
「 实际挖掘案例 」
4.1 某运营商光猫设备存在未授权访问漏洞
该设备所有功能接口均无认证
– 设备无线密码
– 设备信息
– 重启设备
4.2 某款无线AP设备存在逻辑绕过漏洞
伪造认证标志位
authCode=1&userName=admin
成功登录设备后台。
4.3 某国产路由器绕过登录获取设备SHELL
未认证命令注入获取配置文件->登录设备后台->绕过设备登录限制
通过URL传递攻击参数(命令注入)。
获取设备权限。
#05
「 挖掘技巧 」
-
登录模块功能 – 查看是否可伪造、可绕过
-
网页静态文件 – 查看是否单独处理
-
设备Web功能函数 – 查看未授权访问接口
-
中间件漏洞 – boa、lighttpd、uhttpd是否采用开源版本
-
敏感函数 – strstr、strncmp…
#06
「 总结 」
本次漏洞挖掘系列主要从逻辑漏洞入手,现如今诸多设备厂商加强了对二进制漏洞的安全检查,传统的内存破坏漏洞也原来越少,这就需要安全研究人员从不同的攻击面去分析,去挖掘除了设备存在的逻辑漏洞。