mirror of
https://github.com/nmap/nmap.git
synced 2026-08-03 22:29:06 +00:00
In dns-zone-transfer.nse, return "<parse error>" in case domain decoding fails.
otherwise there is an assertion failure trying to insert a nil into an output table in tab.lua. Increase the maximum number of message compression pointers we will follow in dns.lua from 3 to 10, because Brandon found a server that used 4..
This commit is contained in:
parent
5924490adf
commit
62aa04c11a
2 changed files with 4 additions and 2 deletions
|
|
@ -486,7 +486,7 @@ function decStr(data, pos)
|
|||
local part
|
||||
|
||||
-- Avoid infinite recursion on malformed compressed messages.
|
||||
limit = limit or 3
|
||||
limit = limit or 10
|
||||
if limit < 0 then
|
||||
return pos, nil
|
||||
end
|
||||
|
|
|
|||
|
|
@ -123,7 +123,9 @@ end
|
|||
--@param data String of data.
|
||||
--@param offset Offset in the string to read the domain name.
|
||||
function parse_domain(data, offset)
|
||||
return dns.decStr(data, offset)
|
||||
local offset, domain = dns.decStr(data, offset)
|
||||
domain = domain or "<parse error>"
|
||||
return offset, domain
|
||||
end
|
||||
|
||||
--- Build RFC 1035 root domain name from the name of the DNS server
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue