TP-Link M7350(V3)漏洞分析:CVE-2019-12103与CVE-2019-12104的远程命令注入风险详解
admin 2025年3月23日 16:18:51 tp官方下载安卓最新版2025 51
API节点暴露情况
在Web服务器运行过程中,经常出现API节点被暴露的情况,比如JSON或XML文件很容易被找到。以M7350 web服务器为例,使用Burp工具抓取数据包后,我们可以看到一些变量名。这有助于我们找到处理这些变量的二进制文件,为后续分析打下了基础。
各服务器配置各异,若配置失误,API节点暴露的风险便会上升。若此暴露被恶意分子利用,服务器将面临安全威胁,例如数据可能泄露,服务可能遭受攻击。
POST主体与令牌要求
在服务器间交流时,我们常用JSON格式来编码POST内容。一旦验证通过,请求通常需要提供一个“令牌”来证明其合法性。这个令牌就好比一把锁钥,只有握有正确令牌的请求,服务器才会接纳并处理。
若缺乏令牌或令牌存在错误,请求将无法顺利执行。这种做法在一定程度上提升了服务器与客户端交流的安全性。然而,它也对令牌的管理提出了更高的要求。若令牌管理不当,便可能引发安全风险。
grep的使用方法
在操作数据与文件时,我们可通过设置“-r”选项来激活grep功能。借助“-r”,grep能从当前目录出发,逐级向下递归搜索。举例来说,若要寻找特定文本,加入此选项后,grep将自动扫描当前目录及其所有子目录下的文件。
这样操作后,我们能够更全面地搜集到与目标相关的信息。与逐个文件查找相比,运用“-r”参数显著提升了搜索速度,极大地节省了时间和精力。
Ghidra分析操作
用Ghidra工具打开名为qcmap_web_cgi的二进制文件,接下去进行泛型分析。分析过程从搜索字符串入手,点击“搜索”菜单下的“查找字符串”即可操作。Ghidra工具功能全面,擅长对二进制文件进行深入剖析。
这种搜索字符串方法能帮我们找到文件中的关键信息和代码流程。这对研究二进制文件的功能和潜在问题非常关键,就像给我们一把开启文件秘密的钥匙。
关键函数功能
该函数FUN_00008d78主要负责从环境变量中获取信息,同时也会从JSON文件中提取资料,并在适当的位置进行身份验证。它在程序运行过程中扮演着关键角色,保证了数据的准确提取与应用。
主函数中,部分代码调用了FUN_00008d78,而其他部分则负责错误处理。遇到请求格式不对或信息不全的情况,系统会抛出错误。这样做是为了防止程序出现异常,确保程序的稳定与可靠。
漏洞成因与影响
处理JSON请求时,存在一个do/while循环,它从请求中提取模块名称。接着,该循环以0x44为步长遍历每个相对偏移。此时,用户提供的字符串作为strcmp的参数,在查找表中寻找匹配项。当接收到特定请求,QCMAP_Web_CLIENT进程会调用相应的函数。
此处问题在于,当将“language”设定为shell指令后,因为snprintf的特殊性质,该指令会被嵌入到“uci set ...”这一字符串里,并在调用popen时被执行。如此一来,攻击者有可能通过精心设计的恶意请求来执行任何shell指令,从而对服务器安全造成极大威胁。
在服务器安全防护方面,最重要的任务是攻克哪些难题?别忘了点赞并转发这篇文章,让更多的人掌握服务器安全的相关知识!