xray和360爬蟲以及server醬聯動形成自動化挖洞以及報警
0X00前言
上一篇我們寫了xray和360爬蟲形成自動化挖洞,但是這需要我們有事沒事就去看一眼挖到洞沒,很是繁瑣,因此我們利用server醬來實現漏洞得自動推送。
0X01server醬簡介
「Server醬」,英文名「ServerChan」,是一款「程序員」和「服務器」之間的通信軟件。說人話?就是從服務器推報警和日志到手機的工具。官網http://sc.ftqq.com/3.version
0X02程序搭建
基本上原理如圖所示。

上一篇中我們已經搭建好了自動化挖洞,因此我們只需要和server醬聯動起來即可。
首先需要創建一個server賬號。
開通並使用上它,只需要一分鍾:
登入:用GitHub賬號登入網站,就能獲得一個SCKEY(在「發送消息」頁面)
綁定:點擊「微信推送」,掃碼關注同時即可完成綁定
發消息:往 http://sc.ftqq.com/SCKEY.send 發GET請求,就可以在微信里收到消息啦

要實現自動推送,我們必須先利用flask在本地搭建一個webhook服務
主要代碼為:
from flask import Flask, request
import requests
import datetime
import logging
app = Flask(__name__)
def push_ftqq(content):
resp = requests.post("https://sc.ftqq.com/{sckey}.send",
data={"text": "xray vuln alarm", "desp": content})
if resp.json()["errno"] != 0:
raise ValueError("push ftqq failed, %s" % resp.text)
@app.route('/webhook', methods=['POST'])
def xray_webhook():
vuln = request.json
# 因為還會收到 https://chaitin.github.io/xray/#/api/statistic 的數據
if "vuln_class" not in vuln:
return "ok"
content = """##爸爸 xray 發現了新漏洞
url: {url}
插件: {plugin}
漏洞類型: {vuln_class}
發現時間: {create_time}
請及時查看和處理
""".format(url=vuln["target"]["url"], plugin=vuln["plugin"],
vuln_class=vuln["vuln_class"] or "Default",
create_time=str(datetime.datetime.fromtimestamp(vuln["create_time"] / 1000)))
try:
push_ftqq(content)
except Exception as e:
logging.exception(e)
return 'ok'
if __name__ == '__main__':
app.run()
將代碼中得{sckey}替換為你自己的SCKEY
將該代碼保存為py文件在本地執行,可以看到在本地成功開啟了服務。

使用xray被動掃描命令監聽端口並將結果發送到本地的webhook服務
命令為:.\xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --webhook-output http://127.0.0.1:5000/webhook
仔細命令可以查看xray文檔
值得一提的是,我既想把結果存為html文檔,又想讓他推送給server醬,便嘗試了該命令:
.\xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output proxy.html --webhook-output http://127.0.0.1:5000/webhook
當都監聽好以后將需要掃的域名放到traget.txt中啟動爬蟲即可。
附結果圖倆張:


0X03參考鏈接
sc.ftqq.com
