from flask import request #from routersploit.modules.exploits.routers.dlink.multi_hnap_rce_exploit import Exploit payload = None def apply_response(*args, **kwargs): global payload payload = request.headers['SOAPAction'] return "TEST", 200 def response_func(*args, **kwargs): global payload return payload, 200 def test_check_success(target): return """ Test scenario - successful check """ global payload cgi_mock1 = target.get_route_mock("/HNAP1/", methods=["POST"]) cgi_mock1.side_effect = apply_response cgi_mock2 = target.get_route_mock("/HNAP1/<path:dummy>", methods=["GET"]) cgi_mock2.side_effect = response_func exploit = Exploit() exploit.target = target.host exploit.port = target.port assert exploit.check() assert exploit.run() is None