Я не могу определить истинную длину тела <soap>
Я использую тест boofuzz, Bufferoverflow, указатель {overflow}
Это мой код! Я запускаю код! Но длина всегда неправильная:
#!/usr/bin/env python
# Designed for use with boofuzz v0.0.9
# coding=utf-8
from boofuzz import *
def post_test_callback(target, fuzz_data_logger, session, *args, **kwargs):
target = target.recv(1000)
print(target)
buffer_overflow = "500 Internal Server Error"
if buffer_overflow in target:
exit()
def main():
session = Session(
post_test_case_callbacks=[post_test_callback],
target=Target(
connection=SocketConnection("192.168.0.1", 80, proto='tcp'),
),
)
s_initialize(name="Request")
with s_block("Request-Line"):
# LINE 1
s_static("POST", name="Method")
s_static(" ", name='space-1')
s_static("/HNAP1/")
s_static(" ", name='space-2')
s_static('HTTP/1.1', name='HTTP-Version')
s_static("\r\n")
# LINE 2
s_static("Host", name="Host")
s_static(": ")
s_static("192.168.0.1", name="ip")
s_static("\r\n")
s_static('Content-Length:',name="Content-Length-Header")
s_size('hnapbody', output_format='ascii',fuzzable=True)
s_static('\r\n')
s_static('\r\n')
with s_block('hnapbody'):
s_static('<?xml version="1.0" encoding="utf-8"?>')
s_static('<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">')
s_static('<soap:Body>')
s_static('<Login xmlns="http://purenetworks.com/HNAP1/">')
s_static('<Action>request</Action>')
s_static('<Username>Admin</Username>')
s_static('<LoginPassword>123456</LoginPassword>')
s_static('<Captcha>')
s_string("s", max_len=3000)
s_static('</Captcha>')
s_static('</Login>')
s_static('</soap:Body></soap:Envelope>')
session.connect(s_get("Request"))
session.fuzz()
if __name__ == "__main__":
main()
Каждый раз у меня всегда получалось, что длина содержимого не удалась! Когда я проверяю код, я обнаруживаю, что использую истинную функцию, так как я могу изменить код?