Skip to content

Commit 6bb9338

Browse files
committed
New features and updates
1 parent 5578112 commit 6bb9338

File tree

53 files changed

+716
-35
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+716
-35
lines changed

changelog

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
08/Jul/2025
2+
- release version 1.6.6
3+
- added the `rrfz` module for resource record fuzzing
4+
- various small fixes across `polardns.py`, individual modules and the test runner `test/run.sh`
5+
- added tests (total test count: 2405)
6+
- updated documentation
7+
18
01/Jul/2025
29
- release version 1.6.5
310
- added support for configuring arbitrary number of nameservers managing the domain

docs/catalogue/catalogue.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,12 @@ <h1>PolarDNS Catalogue</h1>
499499
<td class="info">Recalculate DNS packet length in TCP (used in combination with cut/add)</td>
500500
<td class="catg">Packet manipulation</td>
501501
<td class="tags"></td>
502+
</tr> <tr>
503+
<td class="name"><a href="html/rrfz.html"><strong>rrfz</strong></a></td>
504+
<td class="type">feature</td>
505+
<td class="info">Resource Record (RR) fuzzing generator</td>
506+
<td class="catg">Fuzzing</td>
507+
<td class="tags"></td>
502508
</tr> <tr>
503509
<td class="name"><a href="html/self.html"><strong>self</strong></a></td>
504510
<td class="type">feature</td>

docs/catalogue/html/afuzz1.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ <h2>From the same category</h2>
8787
<li><a href="manybintxt.html">ManyBinTxt - Many TXT Records with Binary Data</a></li>
8888
<li><a href="manytxt.html">ManyTxt - Many TXT Records with Random Text</a></li>
8989
<li><a href="nfz.html">Nfz - Name Fuzzing Generator</a></li>
90+
<li><a href="rrfz.html">Rrfz - Resource Record Fuzzing Generator</a></li>
9091
</ul>
9192
<br><p>Go <strong><u><a href='../catalogue.html'>back to catalogue</a></strong></u>.</p>
9293
</body>

docs/catalogue/html/afuzz2.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,7 @@ <h2>From the same category</h2>
364364
<li><a href="manybintxt.html">ManyBinTxt - Many TXT Records with Binary Data</a></li>
365365
<li><a href="manytxt.html">ManyTxt - Many TXT Records with Random Text</a></li>
366366
<li><a href="nfz.html">Nfz - Name Fuzzing Generator</a></li>
367+
<li><a href="rrfz.html">Rrfz - Resource Record Fuzzing Generator</a></li>
367368
</ul>
368369
<br><p>Go <strong><u><a href='../catalogue.html'>back to catalogue</a></strong></u>.</p>
369370
</body>

docs/catalogue/html/bigbintxt.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ <h2>From the same category</h2>
171171
<li><a href="manybintxt.html">ManyBinTxt - Many TXT Records with Binary Data</a></li>
172172
<li><a href="manytxt.html">ManyTxt - Many TXT Records with Random Text</a></li>
173173
<li><a href="nfz.html">Nfz - Name Fuzzing Generator</a></li>
174+
<li><a href="rrfz.html">Rrfz - Resource Record Fuzzing Generator</a></li>
174175
</ul>
175176
<br><p>Go <strong><u><a href='../catalogue.html'>back to catalogue</a></strong></u>.</p>
176177
</body>

docs/catalogue/html/bigtxt.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ <h2>From the same category</h2>
169169
<li><a href="manybintxt.html">ManyBinTxt - Many TXT Records with Binary Data</a></li>
170170
<li><a href="manytxt.html">ManyTxt - Many TXT Records with Random Text</a></li>
171171
<li><a href="nfz.html">Nfz - Name Fuzzing Generator</a></li>
172+
<li><a href="rrfz.html">Rrfz - Resource Record Fuzzing Generator</a></li>
172173
</ul>
173174
<br><p>Go <strong><u><a href='../catalogue.html'>back to catalogue</a></strong></u>.</p>
174175
</body>

docs/catalogue/html/manybintxt.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,7 @@ <h2>From the same category</h2>
460460
<li><a href="bigtxt.html">BigTxt - TXT Record with Multiple Text Strings</a></li>
461461
<li><a href="manytxt.html">ManyTxt - Many TXT Records with Random Text</a></li>
462462
<li><a href="nfz.html">Nfz - Name Fuzzing Generator</a></li>
463+
<li><a href="rrfz.html">Rrfz - Resource Record Fuzzing Generator</a></li>
463464
</ul>
464465
<br><p>Go <strong><u><a href='../catalogue.html'>back to catalogue</a></strong></u>.</p>
465466
</body>

docs/catalogue/html/manytxt.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,7 @@ <h2>From the same category</h2>
458458
<li><a href="bigtxt.html">BigTxt - TXT Record with Multiple Text Strings</a></li>
459459
<li><a href="manybintxt.html">ManyBinTxt - Many TXT Records with Binary Data</a></li>
460460
<li><a href="nfz.html">Nfz - Name Fuzzing Generator</a></li>
461+
<li><a href="rrfz.html">Rrfz - Resource Record Fuzzing Generator</a></li>
461462
</ul>
462463
<br><p>Go <strong><u><a href='../catalogue.html'>back to catalogue</a></strong></u>.</p>
463464
</body>

docs/catalogue/html/nfz.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,7 @@ <h2>From the same category</h2>
517517
<li><a href="bigtxt.html">BigTxt - TXT Record with Multiple Text Strings</a></li>
518518
<li><a href="manybintxt.html">ManyBinTxt - Many TXT Records with Binary Data</a></li>
519519
<li><a href="manytxt.html">ManyTxt - Many TXT Records with Random Text</a></li>
520+
<li><a href="rrfz.html">Rrfz - Resource Record Fuzzing Generator</a></li>
520521
</ul>
521522
<br><p>Go <strong><u><a href='../catalogue.html'>back to catalogue</a></strong></u>.</p>
522523
</body>

docs/catalogue/html/nsgluetest.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ <h2>Examples</h2>
3030
; &lt;&lt;&gt;&gt; DiG 9.20.7-1-Debian &lt;&lt;&gt;&gt; nsgluetest0.sub.yourdomain.com @127.0.0.1
3131
;; global options: +cmd
3232
;; Got answer:
33-
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 31722
33+
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 55489
3434
;; flags: qr aa; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
3535

3636
;; QUESTION SECTION:
@@ -44,57 +44,57 @@ <h2>Examples</h2>
4444

4545
;; Query time: 0 msec
4646
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
47-
;; WHEN: Tue Jul 01 10:43:51 +04 2025
47+
;; WHEN: Tue Jul 08 15:11:22 +04 2025
4848
;; MSG SIZE rcvd: 138</pre></div><p><a href='../outputs/nsgluetest/dig_nsgluetest0.sub.yourdomain.com__127.0.0.1.pcap'>Download PCAP File</a></p><p><p>We can see that the <code class='code-block'>sub.yourdomain.com</code> zone is managed by <code class='code-block'>ns.sub.yourdomain.com</code> at <code class='code-block'>10.211.55.2</code>.</p></p><br>
4949
<p>When we query the designated nameserver directly, it returns the response and reaffirms its authority over the zone by including authoritative data &mdash; namely the <code class='code-block'>NS</code> and <code class='code-block'>A</code> (glue) records:</p>
5050
<div><pre class='output-block'><strong># dig nsgluetest0.sub.yourdomain.com @10.211.55.2</strong>
5151

5252
; &lt;&lt;&gt;&gt; DiG 9.20.7-1-Debian &lt;&lt;&gt;&gt; nsgluetest0.sub.yourdomain.com @10.211.55.2
5353
;; global options: +cmd
5454
;; Got answer:
55-
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 25141
55+
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 44703
5656
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
5757

5858
;; QUESTION SECTION:
5959
;nsgluetest0.sub.yourdomain.com. IN A
6060

6161
;; ANSWER SECTION:
62-
nsgluetest0.sub.yourdomain.com. 60 IN A 2.3.4.5
62+
nsgluetest0.sub.yourdomain.com. 60 IN A 192.0.2.79
6363

6464
;; AUTHORITY SECTION:
6565
sub.yourdomain.com. 60 IN NS ns.sub.yourdomain.com.
6666

6767
;; ADDITIONAL SECTION:
6868
ns.sub.yourdomain.com. 60 IN A 10.211.55.2
6969

70-
;; Query time: 8 msec
70+
;; Query time: 12 msec
7171
;; SERVER: 10.211.55.2#53(10.211.55.2) (UDP)
72-
;; WHEN: Tue Jul 01 10:47:10 +04 2025
72+
;; WHEN: Tue Jul 08 15:13:20 +04 2025
7373
;; MSG SIZE rcvd: 154</pre></div><p><a href='../outputs/nsgluetest/dig_nsgluetest0.sub.yourdomain.com__10.211.55.2.pcap'>Download PCAP File</a></p><p><p>We can see that the authoritative zone information matches that provided by the parent nameserver.</p></p><br>
7474
<p>Next, we request the inclusion of the second nameserver &mdash; intentionally misconfigured in the child zone&#x27;s PolarDNS configuration file &mdash; as glue. The response still includes the answer but presents conflicting authoritative information for the zone:</p>
7575
<div><pre class='output-block'><strong># dig nsgluetest1.sub.yourdomain.com @10.211.55.2</strong>
7676

7777
; &lt;&lt;&gt;&gt; DiG 9.20.7-1-Debian &lt;&lt;&gt;&gt; nsgluetest1.sub.yourdomain.com @10.211.55.2
7878
;; global options: +cmd
7979
;; Got answer:
80-
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 31351
80+
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 39051
8181
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
8282

8383
;; QUESTION SECTION:
8484
;nsgluetest1.sub.yourdomain.com. IN A
8585

8686
;; ANSWER SECTION:
87-
nsgluetest1.sub.yourdomain.com. 60 IN A 2.3.4.5
87+
nsgluetest1.sub.yourdomain.com. 60 IN A 192.0.2.183
8888

8989
;; AUTHORITY SECTION:
9090
sub.yourdomain.com. 60 IN NS ns.sub.yourdomain.com.
9191

9292
;; ADDITIONAL SECTION:
9393
ns.sub.yourdomain.com. 60 IN A 6.6.6.6
9494

95-
;; Query time: 8 msec
95+
;; Query time: 12 msec
9696
;; SERVER: 10.211.55.2#53(10.211.55.2) (UDP)
97-
;; WHEN: Tue Jul 01 10:47:12 +04 2025
97+
;; WHEN: Tue Jul 08 15:13:21 +04 2025
9898
;; MSG SIZE rcvd: 154</pre></div><p><a href='../outputs/nsgluetest/dig_nsgluetest1.sub.yourdomain.com__10.211.55.2.pcap'>Download PCAP File</a></p><p><p>Here, we observe that the <code class='code-block'>sub.yourdomain.com</code> zone is indicated as being managed by <code class='code-block'>ns.sub.yourdomain.com</code> at <code class='code-block'>6.6.6.6</code>, which conflicts with the information provided by the parent zone. This inconsistency may potentially confuse the resolver.</p></p><br>
9999

100100
<h2>From the same category</h2>

0 commit comments

Comments
 (0)