|
| 1 | +# encoding: utf-8 |
| 2 | + |
| 3 | +import sys |
| 4 | +reload(sys) |
| 5 | +sys.path.append("../../") |
| 6 | +sys.setdefaultencoding('utf-8') |
| 7 | + |
| 8 | +import json |
| 9 | +from utils.misc import * |
| 10 | +from utils.plugin.blacklist import Blacklist |
| 11 | + |
| 12 | +class Resolver_17ce(object): |
| 13 | + """docstring for Resolver_17ce""" |
| 14 | + def __init__(self, domain): |
| 15 | + super(Resolver_17ce, self).__init__() |
| 16 | + self.domain = domain |
| 17 | + self.server = 'http://www.17ce.com' |
| 18 | + self.iplist = [] |
| 19 | + |
| 20 | + def run(self): |
| 21 | + tid = self.get_tid() |
| 22 | + if tid is not None: |
| 23 | + url = '{0}/apis/ajaxfresh?callback=&tid={1}&num=0&ajax_over=0'.format( |
| 24 | + self.server, tid) |
| 25 | + for ip in self.parser(self.get_content(url)): |
| 26 | + self.iplist.append(ip) |
| 27 | + |
| 28 | + def get_tid(self): |
| 29 | + url = '{0}/apis/dns?callback=&url={1}&curl=&rt=1&nocache=0&host=&referer=&cookie=&agent=&speed=&pingcount=&pingsize=&area[]=0&area[]=1&area[]=2&area[]=3&&isp[]=0&isp[]=1&isp[]=2&isp[]=6&isp[]=7&isp[]=8&isp[]=4'.format( |
| 30 | + self.server, self.domain) |
| 31 | + _regex = re.search('","tid":"(.*?)","pre":""', self.get_content(url)) |
| 32 | + return _regex.group(1) if _regex else None |
| 33 | + |
| 34 | + def parser(self, content): |
| 35 | + _regex = re.compile(r'(?<=\[\{\"srcip\"\:\").*?(?=\",\"ipfrom\")', re.DOTALL) |
| 36 | + ips = _regex.findall(content) |
| 37 | + for item in list(set(ips)): |
| 38 | + yield item |
| 39 | + |
| 40 | + def get_content(self, url): |
| 41 | + response = http_request_get(url).content |
| 42 | + return response if response is not None else '' |
| 43 | + |
| 44 | +resolver = Resolver_17ce('www.wooyun.org') |
| 45 | +resolver.run() |
| 46 | +print resolver.iplist |
| 47 | + |
| 48 | + |
0 commit comments