uVar6 = repoGetCurrent(attr_comp);
...
}
ajax-request
标签中 comp 属性的值 , 如果这里不为 system 的话 , 不会进入 if 判断 , 转而去执行repoGetCurrent
函数中 , 参数为 comp 属性的值 。跟进函数:-
undefined4 repoGetCurrent(undefined4 uParm1)
-
{
-
undefined4 uVar1;
-
uVar1 = repoGetCurChild(uParm1,0x0,0x1);
-
return uVar1;
-
}
repoGetCurChild
函数 , 第一个参数还是 comp 属性的值 , 使用psprintf
函数格式化到 p_Var1 变量表示的栈上的内存空间之后 , 继续执行_repoGetCache
函数 。-
int repoGetCurChild(char*pcParm1,char*pcParm2,bool bParm3){
-
...
-
pcVar2 =(char*)psprintf(p_Var1,"%s/airespider/%s.xml",PTR_DAT_000a39cc,pcParm1);
-
local_c = _repoGetCache("Current",p_Var1,pcParm1,pcVar2,pcParm2,bParm3,false);
-
...
-
}
FUN_00054aec
函数 , 其中调用了_shash_insert
函数 , 将 post data 中整个 admin 标签插入到psprintf
函数格式化的字符串表示文件中 。文章插图
因为在 adapter_setConf 函数的 if 分支中 , 需要进行登录认证 , 而在 if 分支之外调用
repoGetCurrent
函数不需要进行认证 , 当 comp 属性的值为/system
时 , 就可以绕过 strcmp 函数的判断 , 不会进入到 if 分支 。同时拼接的字符串文件名为:/etc/airespider-default//system.xml
。而 system.xml 存放的正是 admin 用户的登录凭证:文章插图
此时就可以达到未认证效果对 admin 用户的登录凭证进行覆盖 , 从而达到未授权访问的效果 。
漏洞修复新版本的 ruckus unleased 中 , 直接将
/admin/_wla_conf.jsp
脚本文件进行了删除 。文章插图
CVE-2020-13919 后台命令注入漏洞概述
关于 ruckus unleased 后台命令注入漏洞复现 。该漏洞是由一个历史的命令注入漏洞过滤不严格造成的新漏洞 。关于该历史漏洞的详情可以查看参考链接一 。
固件下载
-
https://support.ruckuswireless.com/software/2328-ruckus-unleashed-ap-200-8-10-3-243-ga-software-for-r610
漏洞分析将固件进行解压之后 , 进入 /web 目录 , 漏洞发生在
/web/admin/_cmdstat.jsp
脚本文件中 , 因为该漏洞是认证后的漏洞 , 所以脚本代码中 if 判断的 check 会通过 , 进而会去执行AjaxCmdStat
回调函数 。-
<%
-
Delegate("SessionCheck", session["cid"],'true');
-
var httpReq = request["headers"];
-
Delegate("CsrfTokenCheck", session["cid"], httpReq.HTTP_X_CSRF_TOKEN);
-
if(session["csrfAccepted"]=='true'){
-
Delegate("AjaxCmdStat", session["cid"]);
-
}
-
%>
/bin/emfd
可执行文件中找到AjaxCmdStat
函数的位置 , 该函数直接调用了AjaxCmdStat_impl
函数:-
voidAjaxCmdStat(undefined4 uParm1,undefined4 uParm2)
-
{
-
AjaxCmdStat_impl(uParm1,uParm2,0x0,0x0,0x0);
-
return;
-
}
AjaxCmdStat_impl
函数的末尾 , 会接着调用adapter_doCommand
函数 , adapter_doCommand
函数继续调用doCommand
函数 , 该函数主要用来处理 post data 的 xcmd 子标签 , 判断 xcmd 子标签中 cmd 属性的值:
推荐阅读
- 家用无线路由器如何设置?家用路由器设置的详细步骤?
- 手机里多个PDF合并成一个PDF的免费方法
- 自媒体矩阵怎么做?怎么运营多个自媒体?
- 更换速率更高的路由器后,家中辐射会不会增大?会不会影响健康?
- 多个相同excel批量处理?1个Excel文件种有多个工作表,需要合并为1个工作表?
- 如何远程维护路由器?
- 路由器怎么隐藏wifi,防蹭网
- 交换机和路由器的文件管理配置,可以修改设备flash文件
- 无线网络如何登录认证?
- 番外篇 路由器的详解与选购