python项目代码审计_Python代码审计汇总

1、任意代码执行

任意代码执行需关注的函数,可使用正则搜索:eval\(|exec\(|execfile\(|compile\(

需关注的危险库文件及函数有:os.system/popen

timeit.timeit

platform.popen

commands.getstatusoutput

subprocess.popen/call/check_output

__import__("os").system("ls")

importlib.import_module('os').system('ls')

其中subprocess较为常见,防御办法需保证shell=True未设置 转义变量:Python 2.x使用pipes.quote(),Python 3.3或更高版本使用shlex.quote();错误示例代码:subprocess.Popen('ls',shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT).stdout.read()

importsubprocess

def transcode_file():

filename = raw_input('Please provide the path for the file totranscode: ')

command = 'ffmpeg -i "{source}"output_file.mpg'.format(source=filename)

subprocess.call(command, shell=True)

除此之外需还关注模板注入(SSTI),全局搜索Template类&#x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值