使用python的os.walk()包來監測檔案變化
阿新 • • 發佈:2019-01-10
前天在準備ctf線下賽的時候,想到了需要防止使用者上傳檔案,所以打算用python寫一個,因為用的vnc連結只能在預設的python2.7的環境底下來寫,好多包沒有,所以只採用了一個OS包,斌且只有十分鐘加固時間,程式碼也不敢寫長,最終程式碼如下:
#!/usr/bin/env python # -*- coding:utf-8 -*- import os import time iff=1 def getlist(rlist,path): for dir,folder,file in os.walk(path): for i in file: t="%s/%s"%(dir,i) rlist.append(t) def getnlist(nlist,path): for dir,folder,file in os.walk(path): for i in file: t="%s/%s"%(dir,i) nlist.append(t) path="/var/ww/" rlist=[] nlist=[] if(iff==1): getlist(rlist,path) for i in rlist: print "one:"+i iff=iff+1 while(True): nlist=[] getnlist(nlist,path) for t in nlist: if t not in rlist: print "\n-----------------\n"+t tt=time.asctime(time.localtime(time.time())) os.popen("mv "+t+" \'/var/"+tt+".txt\'") time.sleep(1)
將有人上傳到這個資料夾的檔案改個名放到var目錄下面