-
-
[原创]CVE-2020-7848漏洞分析
-
发表于: 2022-4-27 09:56 8150
-
The EFM ipTIME C200 IP Camera is affected by a Command Injection vulnerability in /login.cgi?logout=1 script. To exploit this vulnerability, an attacker can send a GET request that executes arbitrary OS commands via cookie value.
html:LS_CAMINFO_MODEL
v1.0.12
通过漏洞描述可知,漏洞发生在login.cgi,使用ida打开login.cgi,搜索字符串“logout”,然后交叉引用,发现只有主函数存在“logout”这个字符串,重点看下图位置
sub_404770的作用是将请求的参数按“&”进行分割,获取logout参数的值,如果请求中含有logout参数且值为1则进入sub_4062AC函数
在sub_4062AC函数,首先会获取请求的cooike值,如果请求体没有HTTP_COOKIE这个字段则直接return,
之后会进入sub_405BA8进行进一步检测,在该函数会首先检测HTTP_COOKIE是否为空,如果为空则return,然后会在cookie值中搜索efm_session_id这个字段,如果没有,同样也是直接return,之后进入sub_4024F8函数,该函数其实就是一个赋值操作,将efm_session_id字段的长度为17的值赋值给a2,后边的变量v5不需要管,对该漏洞无影响。
最后进入sub_405770函数,也就是触发命令执行的地方,重点看红框部分
它会首先执行rm -rf /var/run/{efm_session_id}.lock
然后再执行rm -rf /var/run/{efm_session_id}