CVE-2017-17522 Python webbrowser.py 命令执行漏洞分析

释放双眼,带上耳机,听听看~!
群里的表哥@Bearcat说python居然出了一个命令执行漏洞(CVE-2017-17522),吓得我赶紧来看看。问题出现在Lib/webbrowser.py模块中,可导致命令执行。根据CVE官方描述:Lib/webbrowser.pyinPythonthrough3.6.3doesn

群里的表哥@Bearcat说python居然出了一个命令执行漏洞(CVE-2017-17522),吓得我赶紧来看看。

问题出现在Lib/webbrowser.py模块中,可导致命令执行。

根据CVE官方描述:

Lib/webbrowser.py in Python through 3.6.3 does not validate strings
before launching the program specified by the BROWSER environment
variable
, which might allow remote attackers to conduct
argument-injection attacks via a crafted URL.

我们知道了是BROWSER这个环境变量出了问题。

在webbrowser.py模块中找到BROWSER这个环境变量,发现其所含变量在register函数中两次被调用。

图片.png

分析GenericBrowser这个函数,发现BROWSER中的变量值通过拼接,进入了subprocess.Popen()这个函数。

subprocess.Popen()函数应该就是问题出现的地方。

图片.png

最后构造POC

import webbrowser


if __name__ == '__main__':
webbrowser.open(",")

验证结果:

`L8E7`$]9JU$1J[5UF{}D7Q.png

给TA买糖
共{{data.count}}人
人已赞赏
Web安全

【漏洞分析】Fastjson反序列化漏洞

2017-12-1 9:41:04

Web安全

【漏洞预警】Oracle WebLogic wls-wsat RCE CVE-2017-10271

2017-12-22 12:09:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索