Я не могу определить истинную длину тела <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()

Каждый раз у меня всегда получалось, что длина содержимого не удалась! Когда я проверяю код, я обнаруживаю, что использую истинную функцию, так как я могу изменить код?

0 ответов

Другие вопросы по тегам