“这是一篇机场文 飞机延误已经四个多小时了
刚写好的文章点了刷新然后就没了又重写了一遍的我真的要哭了꒦ິㅿ꒦ີ”
Xray&Burp简单联动
这里主要来说一说细节,基本配置xray官网就有哦。
Xray
首先要开启监听端口生成报告模式:
./xray_darwin_amd64 webscan --listen 127.0.0.1:7777 --html-output yodidi.html
这里的意思是将7777端口设置成监听端口,完事儿所有流量转发到7777端口的都会被xray进行被动扫描。
Burp
Burp首先监听端口,默认是127.0.0.1:8080,位置在Proxy-Options-Proxy Listeners下进行添加到目前位置:
这里还没有将Burp与Xray进行连接哦,下面进入User options-Upstream Proxy Servers下进行添加:
Destination host就是要扫描的站点,指定yodidi.cn。
就是经过8080端口(bp代理端口)的yodidi.cn的流量会转发到7777端口。
如果是要扫全部站点的流量,就用*通配符进行匹配
Xray&Burp&Fiddler超级联动
为什么要多出来一个Fiddler呢?
你问我?你问我?啊,居然是我问我!
噫,那我告诉我叭。
有时候我们测条件竞争、测并发的时候,Burp虽然也可以做到这个功能,但是效果不是很好。有些条件竞争的点,burp测不出来,但是Fiddler可以,与网络环境无关(亲测)
这里与上一步只多出来一个Fiddler
但是多出来好几步!!!
这里由于本地是macos,所以fiddler是开了一个windows虚拟机,ip如下:
mac地址:192.168.199.222(Burp、firefox[浏览器])
windows地址:192.168.199.239(Fiddler)
大致思路是:
firefox-->Fiddler-->Burp-->xray
设置如下:
①
Burp在Proxy-Options-Proxy Listeners下添加一个本地代理:192.168.199.222:8080。
可能有憨憨要问:美丽可爱的迪迪酱,不是有127.0.0.1:8080了吗?
确实哦,但是这个是环回口呀呀呀(//°ꈊ°//)。
就是本机访问本机是127.0.0.1,当windows的Fiddler去访问mac的时候,就必须要有ip地址了呀,就是192.168.199.222这个。
②
Fiddler在如下位置填入mac的ip地址及代理:192.168.199.222:8080
可以点击Show Current Gateway Info来进行测试代理连通性哦
测试结果就是下面的样子
成功截图:
失败截图:
失败的原因可能就是代理不通叭
以下为成功的样子⁽⁽ (๑˃̶͈̀ ᗨ ˂̶͈́) ⁾⁾:
firefox访问yodidi.cn以后,Fiddler出现了yodidi.cn的流量,burp也出现了yodidi.cn的流量,xray也出现了yodidi.cn的流量
Xray&Crawl的可爱联动(Server酱)
Crawl是一款动态爬虫,联动所需要的文件链接如下:
https://github.com/timwhitez/crawlergo_x_XRAY
crawl下载链接:
https://github.com/0Kee-Team/crawlergo/releases/tag/0.4.0
这里Xray官网也写了大概的设置。
嘤嘤嘤这里我先说一下我遇到的坑˃̣̣̥᷄⌓˂̣̣̥᷅:
①
脚本默认配置的是127.0.0.1:7777,这个一般不需要改哦。
但是如果你改了Xray的端口,这里就要改了!!!
②
google的可执行文件,在windows下是exe,在mac下是可执行文件。
每个人的路径不一样,得自己去找,方法就是找到Google Chrome浏览器,然后右键,显示包内容:
可以看到,下图中的Google Chrome就是可执行文件哦
将Google Chrome的路径替换launcher.py的路径就可以啦( ᐛ )
命令如下:
crawl文件夹下
python launcher.py
Xray:
./xray_darwin_amd64 webscan --listen 127.0.0.1:7777 --webhook-output http://127.0.0.1:5000/webhook
# 这里http://127.0.0.1:5000/webhook就是和server酱开启联动的(∩•̀ω•́)⊃-*⋆
这里这个东东,就是可可爱爱Server酱。
Xray官网也有介绍,Server酱用的是flask的框架,代码如下:
# -*- coding:utf-8 -*-from flask import Flask, requestimport requestsimport datetimeimport loggingapp = Flask(__name__)def push_ftqq(content): resp = requests.post("https://sc.ftqq.com/{key}.send", # key即为申请到的SECKEY data={"text": "xray vuln alarm", "desp": content}) print(resp) 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 的数据 print(vuln) 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) print(content) except Exception as e: logging.exception(e) return 'ok'if __name__ == '__main__': app.run()
用SECKEY替换一下参数key就可以啦!
✧(可爱的效果图:
飞机飞机飞机快要起飞啦!
好想看大熊猫?!
多多指教peko!!!