{% load static %} {{ title }}
{% if fail %}
{{ fail }}
{% endif %} {% if suc %}
{{ suc }}
{% endif %} {% if type == 'dns'%}
{% include 'auto_reload.html' %}
{% for log in logs %} {% endfor %}
ID 域名 Type IP 位置 时间 操作
{{log.id}} {{ log.host }} {{ log.type }} {% if log.ip %} {{ log.ip }} {% else %}   {% endif %} {% if log.city %} {{ log.city }} {% else %}   {% endif %} {{ log.created_time|date:'Y-m-d H:i:s' }} 删除
{% include 'pager.html' %}
{% endif %} {% if type == 'web'%}
{% include 'auto_reload.html' %}
{% for log in logs %} {% endfor %}
ID URL IP 位置 时间 操作
{{log.id}} {{ log.path }} {% if log.remote_addr %} {{ log.remote_addr }} {% else %}   {% endif %} {% if log.city %} {{ log.city }} {% else %}   {% endif %} {{ log.created_time|date:'Y-m-d H:i:s' }} 查看 删除
{% if log.city %}{{ log.headers }}{% else %}{{ log.remote_addr }}{% endif %}
{% include 'pager.html' %}
{% endif %} {% if type == 'config'%}

子域名: {{userdomain}} Token: {{token}} {% if is_admin %} 开启用户注册功能 开启产生随机账号 {% endif %}

单个请求命中查询

{{host}}/api/{type}/{{username}}/{prefix}/?token={{ token }}

  • type: 设置为 dns 或者 web
  • prefix: 三级域名前缀

检查是否触发 test.{{userdomain}},访问:{{host}}/api/dns/{{username}}/test/?token={{ token }}

  • 返回 True,请求被触发
  • 返回 False,请求未触发
多个请求命中查询

{{host}}/api/group/dns/{{username}}/{prefix}/?token={{ token }}

  • prefix: 三级域名前缀

对于一个较大的Payload集合,首先批量投递payload,再通过单个请求,来检查哪些payload触发执行成功。

  • 扫描器投递 payload1,使用域名:payload1.xxx-rce.{{userdomain}}
  • 扫描器投递 payload2,使用域名:payload2.xxx-rce.{{userdomain}}
  • 扫描器投递 payload3,使用域名:payload3.xxx-rce.{{userdomain}}
  • ...

检查是否存在漏洞,访问:{{host}}/api/group/dns/{{user_domain}}/xxx-rce/?token={{ token }}

  • 返回 False,漏洞未触发
  • 返回 {"success": "true", "data": ["payload3", "payload2", "payload1"]},漏洞被触发,data字段包含成功触发的payload清单,至多返回50个
{% endif %} {% if type == 'rebind'%}
生成域名

什么是DNS重绑定

应用程序在请求用户可控的URL/域名资源时,有安全经验的程序员,往往会先解析域名,判断域名指向的IP是否在允许的范围中

例如,为了防御SSRF攻击,开发会首先检测URL中的域名指向的是一个非内网IP,才会在应用中发起后续请求。但是,由于第二步HTTP请求并不直接依赖第一步DNS请求的结果,黑客可以控制第二步请求中的目标IP,导致绕过检测。

攻击的方法是:
在程序做合法性校验时,DNS服务器首先返回一个预期的合法IP。由于DNS记录TTL为0,当应用真正发起HTTP请求资源时,再次DNS查询,此时DNS服务器立即返回一个非法的IP。

{% endif %}