python自动化审计及实现

本文转自wooyun知识库
0x00 摘要
Python由于其简单,快速,库丰富的特点在国内使用的越来越广泛,但是一些不好的用法却带来了严重的安全问题,本文从Python源码入手,分析其语法树,跟踪数据流来判断是否存在注入点。
关键词: Python 注入 源码 语法树
0x01 引言
Python注入问题是说用户可以控制输入,导致系统执行一些危险的操作。它是Python中比较常见的安全问题,特别是把python作为web应用层的时候这个问题就更加突出,它包括代码注入,OS命令注入,sql注入,任意文件下载等。
0x02 注入的场景
主要是在web应用场景中,用户可直接控制输入参数,并且程序未做任何参数判断或者处理,直接就进入了危险函数中,导致执行一些危险的操作。主要的注入类型有:
(一)OS命令注入
主要是程序中通过Python的OS接口执行系统命令,常见的危险函数有
[AppleScript] 纯文本查看 复制代码
?
1
os.system,os.popen,commands.getoutput,commands.getstatusoutput,subprocess
等一些接口。例如:def myserve(request,fullname)s.system(‘sudo rm -f %s’%fullname),fullname是用户可控的,恶意用户只需利用shell的拼接符;就可以完成一次很好的攻击。
(二)代码注入
是说在注入点可以执行一段代码,这个一般是由python的序列话函数eval导致的,例如:def eval_

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值