1 1.1 christos ; config options 2 1.1 christos server: 3 1.1 christos target-fetch-policy: "0 0 0 0 0" 4 1.1 christos qname-minimisation: no 5 1.1 christos iter-scrub-promiscuous: yes 6 1.1 christos 7 1.1 christos stub-zone: 8 1.1 christos name: "." 9 1.1 christos stub-addr: 1.2.3.0 # ns.root 10 1.1 christos CONFIG_END 11 1.1 christos 12 1.1 christos SCENARIO_BEGIN Test iterator with scrub of authority MX records 13 1.1 christos ; The test queries receive spoofed answers. The check queries see if 14 1.1 christos ; the record is returned by the original server or by a spoofed source. 15 1.1 christos ; The test domain is pollute3.mesa. 16 1.1 christos ; with ns.pollute3.mesa A records are tested for cache placement. 17 1.1 christos ; MX records and other records should not be allowed to make glue in cache, 18 1.1 christos ; when present in the authority section. 19 1.1 christos 20 1.1 christos ; ns.root 21 1.1 christos RANGE_BEGIN 0 400 22 1.1 christos ADDRESS 1.2.3.0 23 1.1 christos ENTRY_BEGIN 24 1.1 christos MATCH opcode qtype qname 25 1.1 christos ADJUST copy_id 26 1.1 christos REPLY QR AA NOERROR 27 1.1 christos SECTION QUESTION 28 1.1 christos . IN NS 29 1.1 christos SECTION ANSWER 30 1.1 christos . IN NS NS.ROOT. 31 1.1 christos SECTION ADDITIONAL 32 1.1 christos NS.ROOT. IN A 1.2.3.0 33 1.1 christos ENTRY_END 34 1.1 christos 35 1.1 christos ENTRY_BEGIN 36 1.1 christos MATCH opcode subdomain 37 1.1 christos ADJUST copy_id copy_query 38 1.1 christos REPLY QR NOERROR 39 1.1 christos SECTION QUESTION 40 1.1 christos mesa. IN NS 41 1.1 christos SECTION AUTHORITY 42 1.1 christos mesa. IN NS ns.mesa. 43 1.1 christos SECTION ADDITIONAL 44 1.1 christos ns.mesa. IN A 1.2.7.7 45 1.1 christos ENTRY_END 46 1.1 christos RANGE_END 47 1.1 christos 48 1.1 christos ; ns.mesa 49 1.1 christos RANGE_BEGIN 0 400 50 1.1 christos ADDRESS 1.2.7.7 51 1.1 christos ENTRY_BEGIN 52 1.1 christos MATCH opcode subdomain 53 1.1 christos ADJUST copy_id copy_query 54 1.1 christos REPLY QR NOERROR 55 1.1 christos SECTION QUESTION 56 1.1 christos pollute3.mesa. IN NS 57 1.1 christos SECTION AUTHORITY 58 1.1 christos pollute3.mesa. IN NS ns.pollute3.mesa. 59 1.1 christos SECTION ADDITIONAL 60 1.1 christos ns.pollute3.mesa. IN A 1.2.4.3 61 1.1 christos ENTRY_END 62 1.1 christos 63 1.1 christos ENTRY_BEGIN 64 1.1 christos MATCH opcode subdomain 65 1.1 christos ADJUST copy_id copy_query 66 1.1 christos REPLY QR NOERROR 67 1.1 christos SECTION QUESTION 68 1.1 christos attacker.mesa. IN NS 69 1.1 christos SECTION AUTHORITY 70 1.1 christos attacker.mesa. IN NS ns.attacker.mesa. 71 1.1 christos SECTION ADDITIONAL 72 1.1 christos ns.attacker.mesa. IN A 5.6.7.8 73 1.1 christos ENTRY_END 74 1.1 christos RANGE_END 75 1.1 christos 76 1.1 christos ; ns.pollute3.mesa 77 1.1 christos RANGE_BEGIN 0 400 78 1.1 christos ADDRESS 1.2.4.3 79 1.1 christos 80 1.1 christos ; This is the spoofed answer that is returned. 81 1.1 christos ENTRY_BEGIN 82 1.1 christos MATCH opcode qtype qname 83 1.1 christos ADJUST copy_id 84 1.1 christos REPLY QR AA NOERROR 85 1.1 christos SECTION QUESTION 86 1.1 christos test3.atkr.pollute3.mesa. IN A 87 1.1 christos SECTION ANSWER 88 1.1 christos test3.atkr.pollute3.mesa. 86400 IN A 1.2.3.4 89 1.1 christos SECTION AUTHORITY 90 1.1 christos test3.atkr.pollute3.mesa. 86400 IN MX 20 ns.pollute3.mesa. 91 1.1 christos SECTION ADDITIONAL 92 1.1 christos ns.pollute3.mesa. 86400 IN A 5.6.7.8 93 1.1 christos ENTRY_END 94 1.1 christos 95 1.1 christos ; correct answer for the check query. 96 1.1 christos ENTRY_BEGIN 97 1.1 christos MATCH opcode qtype qname 98 1.1 christos ADJUST copy_id 99 1.1 christos REPLY QR AA NOERROR 100 1.1 christos SECTION QUESTION 101 1.1 christos check.pollute3.mesa. IN A 102 1.1 christos SECTION ANSWER 103 1.1 christos check.pollute3.mesa. IN A 1.8.9.3 104 1.1 christos ENTRY_END 105 1.1 christos RANGE_END 106 1.1 christos 107 1.1 christos ; ns.attacker.mesa 108 1.1 christos RANGE_BEGIN 0 400 109 1.1 christos ADDRESS 5.6.7.8 110 1.1 christos 111 1.1 christos ENTRY_BEGIN 112 1.1 christos MATCH opcode qtype qname 113 1.1 christos ADJUST copy_id 114 1.1 christos REPLY QR AA NOERROR 115 1.1 christos SECTION QUESTION 116 1.1 christos ns.attacker.mesa. IN A 117 1.1 christos SECTION ANSWER 118 1.1 christos ns.attacker.mesa. 86400 IN A 5.6.7.8 119 1.1 christos ENTRY_END 120 1.1 christos 121 1.1 christos ENTRY_BEGIN 122 1.1 christos MATCH opcode qtype qname 123 1.1 christos ADJUST copy_id 124 1.1 christos REPLY QR AA NOERROR 125 1.1 christos SECTION QUESTION 126 1.1 christos ns.attacker.mesa. IN AAAA 127 1.1 christos SECTION AUTHORITY 128 1.1 christos attacker.mesa. 3600 IN SOA ns.attacker.mesa. root.attacker.mesa. 4 7200 3600 604800 3600 129 1.1 christos ENTRY_END 130 1.1 christos 131 1.1 christos ENTRY_BEGIN 132 1.1 christos MATCH opcode qtype qname 133 1.1 christos ADJUST copy_id 134 1.1 christos REPLY QR AA NOERROR 135 1.1 christos SECTION QUESTION 136 1.1 christos ns.attacker.mesa. IN A 137 1.1 christos SECTION ANSWER 138 1.1 christos ns.attacker.mesa. 86400 IN A 5.6.7.8 139 1.1 christos ENTRY_END 140 1.1 christos 141 1.1 christos ENTRY_BEGIN 142 1.1 christos MATCH opcode qtype qname 143 1.1 christos ADJUST copy_id 144 1.1 christos REPLY QR AA NOERROR 145 1.1 christos SECTION QUESTION 146 1.1 christos check.pollute3.mesa. IN A 147 1.1 christos SECTION ANSWER 148 1.1 christos check.pollute3.mesa. 86400 IN A 5.6.7.9 149 1.1 christos ENTRY_END 150 1.1 christos RANGE_END 151 1.1 christos 152 1.1 christos ; Test query with authority section MX glue. 153 1.1 christos STEP 10 QUERY 154 1.1 christos ENTRY_BEGIN 155 1.1 christos REPLY RD 156 1.1 christos SECTION QUESTION 157 1.1 christos test3.atkr.pollute3.mesa. IN A 158 1.1 christos ENTRY_END 159 1.1 christos 160 1.1 christos STEP 20 CHECK_ANSWER 161 1.1 christos ENTRY_BEGIN 162 1.1 christos MATCH all 163 1.1 christos REPLY QR RD RA NOERROR 164 1.1 christos SECTION QUESTION 165 1.1 christos test3.atkr.pollute3.mesa. IN A 166 1.1 christos SECTION ANSWER 167 1.1 christos test3.atkr.pollute3.mesa. 86400 IN A 1.2.3.4 168 1.1 christos ENTRY_END 169 1.1 christos 170 1.1 christos ; Check the cache contents, for query with authority section MX glue. 171 1.1 christos STEP 100 QUERY 172 1.1 christos ENTRY_BEGIN 173 1.1 christos REPLY RD 174 1.1 christos SECTION QUESTION 175 1.1 christos check.pollute3.mesa. IN A 176 1.1 christos ENTRY_END 177 1.1 christos 178 1.1 christos STEP 110 CHECK_ANSWER 179 1.1 christos ENTRY_BEGIN 180 1.1 christos MATCH all 181 1.1 christos REPLY QR RD RA NOERROR 182 1.1 christos SECTION QUESTION 183 1.1 christos check.pollute3.mesa. IN A 184 1.1 christos SECTION ANSWER 185 1.1 christos ; good answer 186 1.1 christos check.pollute3.mesa. IN A 1.8.9.3 187 1.1 christos ; bad answer 188 1.1 christos ;check.pollute3.mesa. IN A 5.6.7.9 189 1.1 christos ENTRY_END 190 1.1 christos 191 1.1 christos SCENARIO_END 192