前言
项目地址:
https://github.com/SPuerBRead/Bridge
主要功能
DNSLOG
HTTPLOG
自定义DNS解析
DNS Rebinding
自定义HTTP Response(Response内容、状态码、Header)
数据查询API
部署方法
配置A记录,子域名ns,解析到10.10.10.10
配置NS记录,子域名dns,解析到ns.dnslog.com
配置A记录,子域名dnslog,解析到10.10.10.10
source bridge.sql
mvn clean package -DskipTests
java -jar dns_log-0.0.1-SNAPSHOT.jar dns.dnslog.com dnslog.dnslog.com 10.10.10.10 a1b2c3d4
第一个参数指定payload设置对应的子域名
第二个参数指定访问平台对应的子域名
第三个参数服务器的IP地址
第四个参数设置注册时的注册暗号,注册需要填写该字段
git clone https://github.com/SPuerBRead/Bridge.git
cd ./Bridge
1. docker-compose.yml文件中的MYSQL_ROOT_PASSWORD项
2. 程序配置文件application.properties中的spring.datasource.password
java -jar dns_log-0.0.1-SNAPSHOT.jar dns.dnslog.com dnslog.dnslog.com 10.10.10.10 a1b2c3d4
参数含义见手动部署部分。
配置完成后执行以下命令:
docker-compose build
docker-compose up -d
部分截图
DNSLOG
HTTPLOG
API接口
apiKey在登录后的API信息页面中
http://xxx.xx/api/dnslog/search?token={apiKey}&keyword={test}
keyword参数值必须是完整除去logAdress后的部分,此处没有模糊查询,如aaaaaa.1.dnslog.com对应keyword=aaaaaa,返回数据格式样例如下:
[
{
"ip": "localhost",
"host": "test1.1.dns.xxxx.com",
"time": "2019-07-30 15:25:14.0",
"type": "A(1)"
}
]
http://xxx.xx/api/weblog/search?token={apiKey}&keyword={test}
keyword要求同上,返回数据格式样例如下:
[
{
"path": "/",
"method": "POST",
"data": "",
"ip": "10.10.37.75",
"host": "test.1.dns.xxxx.com",
"header": "{\"content-length\":\"22896\",\"postman-token\":\"9575b873-ccd9-4d5b-ba8a-c1f746e40086\",\"host\":\"test.1.dns.xxxx.com\",\"content-type\":\"text/plain\",\"connection\":\"keep-alive\",\"cache-control\":\"no-cache\",\"accept-encoding\":\"gzip, deflate\",\"user-agent\":\"PostmanRuntime/7.13.0\",\"accept\":\"*/*\"}",
"time": "2019-07-23 17:50:10.0",
"params": null,
"version": "HTTP/1.1"
}
]
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!
推荐阅读