花两小时写了个小玩具~ 将任意数据编码成 0123456789abcdefghijklmnopqrstuvwxyz-_.
这 39 种字符,从而可使用泛域名作为数据载荷。
演示:
测试 1:
https://ieexilte62qr8gi_3y76.webtun.net
测试 2:
测试 3:
测试 4:
由于域名每段长度必须大于 0 小于 64 ,因此边界位置不能使用点号,只能使用剩余的 38 个字符,因此总体编码率略低于 Base39 。
当然这个域名不够短,本来还可以再多存储几个字节的信息。不过短域名比较贵,暂时不折腾。
另外 HTTPS 也是个麻烦事,目前只给一级域名用上证书,其他的仍然是 HTTP 。
1
a1210968738 100 天前 via Android
多级泛域名解析有哪个服务商支持呢? cloudflare 有吗?
|
2
totoro625 100 天前
|
3
sc13 100 天前
这个主要是用来解决什么问题
|
4
gaojiren 100 天前
打不开,过了一会打卡了,不知道是不是解析问题
|
5
hefish 100 天前 3
应该像三体人那样,找把尺,然后在尺子上某个地方划一刀。。。就把地球所有科技都包含了。。。
然后三体人带着这把尺,回到三体星, 找个一个精密的仪器一测,发现划的地方是 整个尺的 0.12331958i209483098089349800293078485040348u509345021989834798237409872181437809802347089123741098237409182734091872340985943653.... 然后把小数点后面的数字 decode 一下, 发现原来是维基百科的离线版。。。。超方便。。。 |
6
rekulas 99 天前
你都用域名了,为啥不用 url param, 能支持的长度远大于域名
这种还是有一些使用场景的(虽然不多) 例如你有个 5kb 的 zip 需要存储, 可以保存到不支持附件的任何文本笔记里,打开链接即可下载 |
7
meeop 99 天前
是不是我理解不对,感觉逻辑有点像太阳能手电筒
1 既然我都能拿到完整 url 了,那我直接解码就行了,何必还要打开 url 呢? http://eqh9ah1obms5ofl-v0r92s8-469-z53dbz1w3goa2zgnjmsupxkrnfn1r.eu2.7am27y1bferkctlc964qi8g88stn8u5c04pcyc1lf4wcf9kpt511dwa748lkxhy.gmn3d6ctm5msuas7utal8_5h_we5y-oc_gq6fm6icwwjpo6haa481mjlacoy3_.k19.webtun.net 2 编码的 base39 比原文长,那直接用原文作为域名不是更直白高效? 比如 你好呀.webtun.net |
10
kenvix 99 天前 1
不是,这个需求你为啥不用 TXT 记录啊。我一般就直接用 TXT 记录实现软件版本更新检测
|
11
jim9606 99 天前
都有域名和服务器了,托管小数据不是什么难事。
想一毛不拔的方法其实也有。 |
13
ssh 99 天前
然后再搞个返回 data via ipv6
基于 dns 服务器的数据传输? |
14
a1210968738 99 天前 via Android
@totoro625 试了下确实可以,不过 https 证书是不是只可以匹配*.域名,无法申请匹配 *.*.*.域名之类的多级泛域名证书?
我看你的例子里也是多级域名就用 HTTP 了… |
15
Greatshu 99 天前
像是搞黑产的,再配合 DGA 域名……
|
16
Lightbright 99 天前 via Android
@Greatshu 哈哈,赞同
|
18
neilp 99 天前
为啥要用子域名, 为啥不直接写在 path 里面: https://webrun.net/ieexilte62qr8gi_3y76
正如楼上所说, 这是个手电筒的问题. 既然我已经知道数据了, 为什么还要去访问? 这个意义是什么. |
19
cdlnls 99 天前 via Android 3
其实是有使用场景的。
当你需要秘密传输数据的时候,就可以利用这个方法。 首先自己建一个 dns 服务器,把域名的 NS 记录指向自建的服务器。 然后要发送数据的时候,把数据解析用你的方法解析成域名,然后程序执行 DNS 查询。 在经过各种 DNS 服务器层层递归转发之后,最终这个解析会被你的自建 DNS 捕捉到,这样就可以根据域名拿到数据。 就可以在神不知鬼不觉的情况下,偷偷的将信息传递出去 |
20
shilyx 99 天前
唉 一块净土又被你们盯上了,这么干很快就会废
要么限制子域名数量,要么限制长度 |
21
gaobh 99 天前
已经有二维码存储二进制文件了,好像是在 github 上,利好灰产
|
22
baobao1270 99 天前 via Android 1
终于遇到这个和我一样想法的人了
这个技术最合适的应用是侧信道攻击 把想要偷偷发送的数据通过域名编码,发起 DNS 查询 然后通过 DNS Log 接收数据 |
23
ShinichiYao 99 天前
昨天刚看到一个可以把 30M 以内文件编码成二维码的工具
|
24
BadReese 99 天前
这个还真是很有意思
|
25
chenxuuu 99 天前
https 问题可以用泛域名证书解决,或者直接挂到 cf 得了,不用管可省事
|
26
smartiscool 99 天前
DGA 检测分析,现在任何一个正规的网安产品都能检测出来,不要拿来做坏事哦
|
27
enderftt 99 天前
@ShinichiYao #23 啥工具 还找得到么
|
28
ob 99 天前 via Android
@ShinichiYao 很怀疑啥工具能让二维码存这个数量?方便共享吗?
|
30
LoreLiu 51 天前
@a1210968738 #14 印象中证书不能匹配多级子域名,对于 cloudflare 的边缘证书 *.domain 只能匹配 sub.domain
|