需求
将文本文件在bash下使用echo输出到文件
代码
#! /usr/bin/env python
# _*_ coding:utf-8 _*_
import os
from urllib.parse import quote
def postfile():
i=0
#读取文件目录
with open('dirty.c', 'r') as f:
for line in f.readlines():
line=line.strip('\n')
line=line.replace("#","\#")
line=line.replace("<","\<")
line=line.replace(">","\>")
line=line.replace('"','\\"')
line=line.replace(";","\;")
line=line.replace("(","\(")
line=line.replace(")","\)")
line=line.replace("&","\&")
line=line.replace("$","\$")
line=line.replace("'","\\'")
if i==0:
cmd="echo "+line+">"
else:
cmd="echo "+line+">>"
i = i+1
#输出目录
cmd=cmd+"123.c"
print(cmd)
#python3 url编码
#print(quote(cmd))
os.system(cmd)
if __name__ == '__main__':
postfile()
测试样本
https://github.com/FireFart/dirtycow/blob/master/dirty.c