添加绕过cloudFlare验证

This commit is contained in:
shmilylty
2019-08-20 21:44:30 +08:00
parent 3413869bf1
commit 76fc12c365
+14 -6
View File
@@ -1,5 +1,7 @@
import time
import cloudscraper
from common.query import Query
from config import logger
class BufferOver(Query):
@@ -8,20 +10,26 @@ class BufferOver(Query):
self.domain = self.register(domain)
self.module = 'Dataset'
self.source = 'BufferOverQuery'
self.addr = 'https://dns.bufferover.run/dns'
self.addr = 'https://dns.bufferover.run/dns?q='
def query(self):
"""
向接口查询子域并做子域匹配
"""
time.sleep(self.delay)
self.header = self.get_header()
self.proxy = self.get_proxy(self.source)
params = {'q': self.domain}
resp = self.get(self.addr, params)
# 绕过cloudFlare验证
scraper = cloudscraper.create_scraper()
scraper.interpreter = 'js2py'
scraper.proxies = self.get_proxy(self.source)
url = self.addr + self.domain
try:
resp = scraper.get(url, timeout=self.timeout)
except Exception as e:
logger.log('ERROR', e.args)
return
if not resp:
return
subdomains = self.match(self.domain, resp.text)
subdomains = self.match(self.domain, str(resp.json()))
# 合并搜索子域名搜索结果
self.subdomains = self.subdomains.union(subdomains)