xray自動化


使用xray做代理,請求所有找到的url,自動安全掃描

import threading
import requests
import json


def xray_proxy(sub_domain='', page_no_iter=''):
    while True:
        try:
            url_list = json.loads(
                requests.request('GET', 'https://otx.alienvault.com/otxapi/indicator/domain/url_list/' + sub_domain +
                                 '?limit=100&page=' + str(next(page_no_iter) + 1)).text)['url_list']
            for url_json in url_list:
                print(url_json['url'])
                requests.request('GET', url_json['url'], proxies=proxies, verify=cert_path, timeout=xray_timeout)
        except StopIteration:
            return


def scan_main(sub_domain):
    # IO密集多線程設置
    thread_num = 100
    # 獲取有多少頁url
    res = json.loads(
        requests.request('GET', 'https://otx.alienvault.com/otxapi/indicator/domain/url_list/' + sub_domain +
                         '?limit=100&page=1').text)
    # 需要爬取的頁碼生成器
    page_no_iter = iter(range(int(res['actual_size'] / 100 + 1)))

    all_threads = []
    for i in range(thread_num):
        t = threading.Thread(target=xray_proxy, args=(sub_domain, page_no_iter))
        t.start()
        all_threads.append(t)
    for t in all_threads:
        t.join()


if __name__ == '__main__':
    # xray代理配置
    proxies = {
        "http": "http://127.0.0.1:8080",
        "https": "http://127.0.0.1:8080",
    }
    # 證書地址
    cert_path = 'D:/xray/cacert.der'
    # xray代理超時時間
    xray_timeout = 10
    # 要掃描的子域名列表
    sub_domain_list = ['baidu.com', 'google.com']
    for subdomain in sub_domain_list:
        scan_main(subdomain)

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM