MCPcopy
hub / github.com/Xyntax/POC-T / checkCDN

Function checkCDN

script/cdn-detect.py:44–84  ·  view source on GitHub ↗

Detect if the website is using CDN or cloud-based web application firewall :param url: Target URL or Domain :return True / False

(url)

Source from the content-addressed store, hash-verified

42
43
44def checkCDN(url):
45 """
46 Detect if the website is using CDN or cloud-based web application firewall
47
48 :param url: Target URL or Domain
49 :return True / False
50 """
51 url = 'http://' + url if '://' not in url else url
52 url = get_domain(url)
53
54 dest = 'http://ce.cloud.360.cn/'
55
56 s = requests.session()
57
58 data1 = _get_static_post_attr(s.get(dest).content)
59 data1['domain'] = url
60 s.post('http://ce.cloud.360.cn/task', data=data1)
61
62 headers = {
63 'X-Requested-With': 'XMLHttpRequest',
64 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
65 }
66 s.post('http://ce.cloud.360.cn/Tasks/detect', data=data1, headers=headers)
67
68 time.sleep(5) # 5 sec delay for nodes to detect
69
70 data = 'domain=' + url + '&type=get&ids%5B%5D=1&ids%5B%5D=2&ids%5B%5D=3&ids%5B%5D=4&ids%5B%5D=5&ids%5B%5D=6&ids%5B%5D=7&ids%5B%5D=8&ids%5B%5D=9&ids%5B%5D=16&ids%5B%5D=18&ids%5B%5D=22&ids%5B%5D=23&ids%5B%5D=41&ids%5B%5D=45&ids%5B%5D=46&ids%5B%5D=47&ids%5B%5D=49&ids%5B%5D=50&ids%5B%5D=54&ids%5B%5D=57&ids%5B%5D=58&ids%5B%5D=61&ids%5B%5D=62&ids%5B%5D=64&ids%5B%5D=71&ids%5B%5D=78&ids%5B%5D=79&ids%5B%5D=80&ids%5B%5D=93&ids%5B%5D=99&ids%5B%5D=100&ids%5B%5D=101&ids%5B%5D=103&ids%5B%5D=104&ids%5B%5D=106&ids%5B%5D=110&ids%5B%5D=112&ids%5B%5D=114&ids%5B%5D=116&ids%5B%5D=117&ids%5B%5D=118&ids%5B%5D=119&ids%5B%5D=120&ids%5B%5D=121&ids%5B%5D=122&user_ip_list='
71 r = s.post('http://ce.cloud.360.cn/GetData/getTaskDatas', data=data, headers=headers)
72
73 ips = re.findall('"ip":"(.*?)"', r.content)
74 ans = list(set(ips))
75 msg = url
76
77 if not len(ips):
78 msg += ' [Target Unknown]'
79 return msg
80
81 msg += ' [CDN Found!]' if len(ans) > 1 else ''
82 msg += ' Nodes:' + str(len(ips))
83 msg += ' IP(%s):' % str(len(ans)) + ' '.join(ans)
84 return msg
85
86
87def poc(url):

Callers 1

pocFunction · 0.85

Calls 3

get_domainFunction · 0.90
getMethod · 0.80
_get_static_post_attrFunction · 0.70

Tested by

no test coverage detected