by mijndert on 8/18/21, 7:07 AM with 71 comments
by jacobkiers on 8/19/21, 6:22 AM
I used DoH because to the best of my knowledge it's not possible to open raw sockets from the browser. Otherwise I'd have done that.
I don't think there's any practical use. And I did not intend it to have any.
by p4bl0 on 8/19/21, 8:15 AM
Anyway, this made me think of iodine [1], an IP over DNS solution, which I still run on my main server even though it has a lot less use now than it had until a few years ago when there were a lot of open wifi with captive portals and way less 4G available.
by xg15 on 8/19/21, 11:46 AM
- A website can bring its own DoH client and bypass both the OS resolver and the browser's trusted DoH resolver for anything except the initial page request.
- Any website can now access the full DNS information of any domain: Not just A/AAAA records, but also TXT, MX, SRV etc. Record metadata such as TTLs likewise.
All of that without requiring any backend infrastructure or exotic web API. It's literally just a static HTML file and fetch().
That's a genuinely new capability that wasn't available to websites before public DoH servers became available. I'm no security expert, but this smells like it should have some implications for web security.
by ignoramous on 8/19/21, 6:02 AM
[0] https://unit42.paloaltonetworks.com/dns-tunneling-how-dns-ca...
[1] https://github.com/Jigsaw-Code/choir (disclosure: I co-develop hard-forks of two other related Jigsaw-Code projects)
by 1vuio0pswjnm7 on 8/19/21, 6:04 AM
const dohServer = "https://cloudflare-dns.com/dns-query?ct=application/dns-json&type=TXT&name=";
const baseDomain = "hod.experiments.jacobkiers.net";
About 12 years ago I experimented with HTML over UDP DNS by modifying dnstxt from djbdns to output a MIME header. I could store tiny web pages, i.e., hyperlinks, in a zone file and serve them with tinydns. (This was before the size of DNS packets ballooned with adoption of EDNS.)by ThePhysicist on 8/19/21, 8:45 AM
by geocrasher on 8/19/21, 5:51 AM
by beembuild on 8/19/21, 11:34 AM
by PinguTS on 8/19/21, 7:34 AM
$ dig posts-2021-08-17-serving-blog-content-over-dns-md.hod.experiments.jacobkiers.net TXT
; <<>> DiG 9.8.3-P1 <<>> posts-2021-08-17-serving-blog-content-over-dns-md.hod.experiments.jacobkiers.net TXT
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49067
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;posts-2021-08-17-serving-blog-content-over-dns-md.hod.experiments.jacobkiers.net. IN TXT
;; AUTHORITY SECTION:
hod.experiments.jacobkiers.net. 292 IN SOA home.kie.rs. postmaster.kie.rs. 2021081903 3600 900 604800 3600
by masklinn on 8/19/21, 7:30 AM
Or at all since the content is entirely injected via JS with no fallback (and the JS uses class fields in case you thought an old browser might be able to load it).
by mvolfik on 8/20/21, 12:18 PM
dig TXT content.uniquekey.dnskv.com
--> 'ok'
dig TXT uniquekey.dnskv.com
--> 'content'
Only thing that comes to my mind is data exfiltration from sites with content-security-policy which for some reason allows some DoH siteby erkkonet on 8/19/21, 11:13 AM
"In contrast to other top-level domains, .tel information is stored directly within the Domain Name System (DNS) [...] as opposed to the DNS simply returning details (such as IP addresses)"
by IncRnd on 8/19/21, 6:38 AM
For anyone who wants to research the subject, the class of security vulnerabilities are called DNS tunneling.
by kix53 on 8/19/21, 11:07 AM
by mobilemidget on 8/19/21, 11:52 AM
dns works fine at those rates or higher, and you'll use caching dns servers of ISPs, scales like no other, geo support etc etc. I think its great idea for public data.
by redspl on 8/19/21, 1:32 PM
by fsiefken on 8/19/21, 9:42 AM
by sonicggg on 8/19/21, 5:58 AM