mirror of
https://github.com/nmap/nmap.git
synced 2025-12-16 04:39:03 +00:00
Do a print_debug in ssh2.lua when an incomplete packet is processed.
This commit is contained in:
@@ -45,7 +45,13 @@ end
|
|||||||
transport.payload = function( packet )
|
transport.payload = function( packet )
|
||||||
local packet_length, padding_length, payload_length, payload, offset
|
local packet_length, padding_length, payload_length, payload, offset
|
||||||
offset, packet_length, padding_length = bin.unpack( ">Ic", packet )
|
offset, packet_length, padding_length = bin.unpack( ">Ic", packet )
|
||||||
|
assert(packet_length and padding_length)
|
||||||
payload_length = packet_length - padding_length - 1
|
payload_length = packet_length - padding_length - 1
|
||||||
|
-- Add 4 for the packet_length field.
|
||||||
|
if packet_length + 4 > packet:len() then
|
||||||
|
stdnse.print_debug("SSH-2 packet too short: payload_length is %d but total length is only %d.", packet_length, packet:len())
|
||||||
|
return nil
|
||||||
|
end
|
||||||
offset, payload = bin.unpack( ">A" .. payload_length, packet, offset )
|
offset, payload = bin.unpack( ">A" .. payload_length, packet, offset )
|
||||||
return payload
|
return payload
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user