forked from Tuhinshubhra/CMSeeK
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathwp.py
More file actions
45 lines (42 loc) · 2.5 KB
/
Copy pathwp.py
File metadata and controls
45 lines (42 loc) · 2.5 KB
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
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# This is a part of CMSeeK, check the LICENSE file for more information
# Copyright (c) 2018 - 2020 Tuhinshubhra
## WordPress version detection
## Rev 1
import cmseekdb.basic as cmseek
import re
def start(id, url, ua, ga, source):
version = '0'
cmseek.statement('Detecting Version and vulnerabilities')
if ga == '1' or ga == '2' or ga == '3': ## something good was going to happen but my sleep messed it up TODO: will fix it later
cmseek.statement('Generator Tag Available... Trying version detection using generator meta tag')
rr = re.findall(r'<meta name=\"generator\" content=\"WordPress (.*?)\"', source)
if rr != []:
version = rr[0]
cmseek.success(cmseek.bold + cmseek.fgreen + "Version Detected, WordPress Version %s" % version + cmseek.cln)
else:
cmseek.warning("Generator tag was a big failure.. looking up /feed/")
fs = cmseek.getsource(url + '/feed/', ua)
if fs[0] != '1': # Something messed up real bad
cmseek.warning("Couldn't get feed source code, Error: %s" % fs[1])
else:
fv = re.findall(r'<generator>https://wordpress.org/\?v=(.*?)</generator>', fs[1])
if fv != []: # Not empty good news xD
version = fv[0]
cmseek.success(cmseek.bold + cmseek.fgreen + "Version Detected, WordPress Version %s" % version + cmseek.cln)
else:
cmseek.warning("Well even feed was a failure... let's lookup wp-links-opml then")
opmls = cmseek.getsource(url + '/wp-links-opml.php', ua)
if opmls[0] != '1': # Something messed up real bad
cmseek.warning("Couldn't get wp-links-links source code, Error: %s" % opmls[1])
else:
fv = re.findall(r'generator=\"wordpress/(.*?)\"', opmls[1])
if fv != []: # Not empty good news xD || you can guess it's copied right?
version = fv[0]
cmseek.success(cmseek.bold + cmseek.fgreen + "Version Detected, WordPress Version %s" % version + cmseek.cln)
else:
## new version detection methods will be added in the future updates
cmseek.error("Couldn't Detect Version") #sorry master thingy removed... sounded kinda cheesy -_-
version = '0'
return version