xray 是什么
xray 是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器,支持主动、被动多种扫描方式,自备盲打平台、可以灵活定义 POC,功能丰富,调用简单,支持 Windows / macOS / Linux 多种操作系统,可以满足广大安全从业者的自动化 Web 漏洞探测需求。
如何第一时间知道扫出了漏洞
对于安全工程师来说,扫描器发现了漏洞能第一时间给出告警是非常重要的,因为安全工程师使用的是 xray 的基础爬虫模式,爬虫一直在爬也不会一直人工刷新和查看漏洞报告,也有可能是使用的被动代理模式,让测试人员挂扫描器代理然后访问各个业务页面,但是不知道什么时间测试人员才开始和完成测试,也有可能是日志扫描模式,导入日志使用脚本进行 url 扫描,不知道什么时间才能重放完成。
还有很多公司自建了漏洞管理系统、工单系统等等,如果扫描器发现了漏洞可以自动同步这些系统也将会大大解放安全人员。针对这些场景 xray 有一种漏洞输出模式叫 webhook-output
,在发现漏洞的时候,将会向指定的 url post 漏洞数据,demo 的代码就是
import requests requests.post(webhook, json=vuln_info)
如果我们写一个中间的转换和转发层,就可以很方便的实现下面的功能了
- 发送邮件、短信告警
- 发送微信、企业微信、钉钉、slack告警
- 漏洞信息同步到自己的数据库中
- 为该漏洞创建一个工单
- 使用其他的工具去验证漏洞是否存在
……
使用 webhook 做自动推送
本文就借助Server酱 和 企业微信机器人 ,来演示如何实时通知 xray 发现了漏洞。
xray 的 webhook 是什么
对于 xray,webhook 应该是一个 url 地址,也就是我们需要自己搭建一个 web 服务器,接收到 xray 发送的漏洞信息,然后在将它转发,借助于 Python 的 flask 框架,我们很快写了一个 webhook url 的 demo 出来。
from flask import Flask, request import requests app = Flask(__name__) @app.route('/webhook', methods=['POST']) def xray_webhook(): print(request.json) return 'ok' if __name__ == '__main__': app.run()
使用 接下来就是解析 xray 的漏洞信息,然后生成对应的页面模板就好了。需要参考 https://chaitin.github.io/xray/#/guide/vuln 的文档。因为推送不适合发送太大的数据量,所以就选择了基础的一些字段。 Server 酱 Server酱是一款程序员和服务器之间的通信软件,也就是从服务器推报警和日志到手机的工具。 开通并使用上它还是很简单的 我们先用 Python 写一个简单的 demo,以下所有的 SECKEY 的实际值我都使用 很简单就收到了消息,将上面 xray 的漏洞信息结合在一起,就是 展示效果如图 企业微信群机器人 企业微信群机器人就像一个普通成员一样,可以发言,可以 开通和使用方法 调用的代码也非常简单,我们只需要展示主要的部分就可以了 展示效果如图 总结 以上所述是小编给大家介绍的Python对接 xray 和微信实现自动告警,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!xray webscan --url http://pentester-web.vulnet/sqli/example1.php"htmlcode">
* Serving Flask app "app.py"
* Environment: development
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
{'create_time': 1566836256580, 'detail': {'host': 'pentester-web.vulnet', 'param': {'key': 'name', 'position': 'query', 'value': "root'and'lW'='lql"}, 'payload': "root'and'lW'='lql", 'port': 80, 'request': '', 'request1': 'GET /sqli/example1.php"Generic Boolean based case ['string']", 'type': 'boolean_based', 'url': 'http://pentester-web.vulnet/sqli/example1.php"POST /webhook HTTP/1.1" 200 -
from flask import Flask, request
import requests
app = Flask(__name__)
@app.route('/webhook', methods=['POST'])
def xray_webhook():
vuln = request.json
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)))
print(content)
return 'ok'
if __name__ == '__main__':
app.run()
http://sc.ftqq.com/{SECKEY}.send
发请求,就可以在微信里收到消息啦{SECKEY}
代替,大家需要修改为自己的值。
import requests
requests.post("https://sc.ftqq.com/{SECKEY}.send",
data={"text": "xray vuln alarm", "desp": "test content"})
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/SCU645T57f2913b7c0fc69372e997031f7cc4e0561b7f85f2b3d.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
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()
@
人,如果我们接入企业微信群做 xray 的漏洞告警,也会大大方便漏洞的第一时间发现。
def push_wechat_group(content):
resp = requests.post("https://qyapi.weixin.qq.com/cgi-bin/webhook/send",
json={"msgtype": "markdown",
"markdown": {"content": content}})
if resp.json()["errno"] != 0:
raise ValueError("push wechat group failed, %s" % resp.text)
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 邓丽君.1983-淡淡幽情(2022环球MQA-UHQCD限量版)【环球】【WAV+CUE】
- 试音天碟《专业测试第一天碟》经典天碟精选[WAV分轨][1G]
- 试音典范 《情惹发烧情HQCD》人声发烧极品 [WAV+CUE][1G]
- 世界顶级汽车音响试音王《幸福在路上》[低速原抓WAV+CUE][1.1G]
- 老头杯第二届什么时候开始 英雄联盟第二届老头杯开赛时间介绍
- 老头杯第二届什么时候结束 英雄联盟第二届老头杯结束时间介绍
- 老头杯第二届规则是什么 英雄联盟老头杯第二届规则介绍
- 王崴-爵士听堂.蓝色波萨(HQCD)[WAV+CUE]
- 群星《欧美动听情歌·柔情第5季》2CD【DTS-WAV分轨】
- [极品珍藏]德意志进行曲集卡拉扬SACD[WAV+CUE]
- 前暴雪制作人呼吁反击DEI 玩家:夺回文化!
- 腾讯证实子公司Sharkmob大规模裁员:整个市场很低迷
- 荣耀加冕 问鼎冠军 中国代表队获第四届东亚电竞锦标赛团体总冠军
- 污甩乐队.2024-Let.the.dirt.left【摩登天空】【FLAC分轨】
- 杜德伟.1994-ALL.FOR.YOU(英)【滚石】【WAV+CUE】