
该代码实现了一个完整的Web漏洞扫描系统,包括漏洞检测逻辑和基于Flask的Web服务。系统能够检测目标网站是否存在常见的Web安全漏洞,如跨站脚本攻击(XSS)、SQL注入(SQLi)、本地文件包含(LFI)以及远程代码执行(RCE),并通过RESTful API接口提供扫描服务。
ping :用于检查服务是否正常运行,返回pong。template :预留的模板路由,可用于扩展前端页面。index :主路由,负责解析请求参数、启动漏洞扫描任务并返回结果。scan_xss :检测XSS漏洞,通过注入多语言向量并检查是否触发alert。scan_sql_error :检测SQL注入漏洞,通过注入单引号并检查是否返回SQL错误。scan_sql_blind_time :检测基于时间的盲注SQL注入漏洞,通过注入延迟负载并检查响应时间。scan_lfi :检测本地文件包含漏洞,通过尝试读取/etc/passwd文件并检查返回内容。scan_rce :检测远程代码执行漏洞,通过注入延迟负载并检查响应时间。Flask :用于构建Web服务,提供RESTful API接口。ghost :用于模拟浏览器行为,支持XSS漏洞检测。requests :用于发送HTTP请求,支持GET和POST方法。漏洞检测逻辑:
python payload = 'jaVasCript:alert(1)//" name=alert(1) onErrOr=eval(name) src=1 autofocus oNfoCus=eval(name)><marquee><img src=x onerror=alert(1)></marquee>" ></textarea\></|\><details/open/ontoggle=prompt`1` ><script>prompt(1)</script>@gmail.com<isindex formaction=javascript:alert(/XSS/) type=submit>\'-->" ></script><sCrIpt>confirm(1)</scRipt>"><img/id="confirm( 1)"/alt="/"src="/"onerror=eval(id&%23x29;>\'"><!--' python mysql_payload = "SLEEP(4) /*' || SLEEP(4) || '\" || SLEEP(4) || \"*/" python payload = "/etc/passwd" python payload_get = "%60%23%27%7Csleep%24%7BIFS%7D4%7C%27%60%22%7Csleep%24%7BIFS%7D4%7C%22%3Bsleep%24%7BIFS%7D4" /etc/passwd文件并检查返回内容。Ghost库模拟浏览器行为,注入多语言向量并检查是否触发alert。Web服务逻辑:
python if "?" in url: method = 'GET' params = url.split('?')[1] regex = re.compile('([a-zA-Z0-9\-_]*?)=') matches = regex.findall(params) python for fuzz in matches: scan_xss(method, vulns, url, fuzz, cookies_ghost, useragent, data_requests) scan_lfi(method, vulns, url, fuzz, cookies_requests, useragent, data_requests) scan_sql_error(method, vulns, url, fuzz, cookies_requests, useragent, data_requests) scan_sql_blind_time(method, vulns, url, fuzz, cookies_requests, useragent, data_requests) scan_rce(method, vulns, url, fuzz, cookies_requests, useragent, data_requests) python return jsonify(vulns) python app.run(host='0.0.0.0', port=8000, threaded=True, passthrough_errors=True) app.run启动Flask服务,监听0.0.0.0:8000,支持多线程和错误穿透。该代码实现了一个完整的Web漏洞扫描系统,结合了漏洞检测逻辑和Web服务模块。系统能够高效地检测XSS、SQL注入、LFI和RCE等常见漏洞,并通过RESTful API接口提供扫描服务。代码结构清晰,功能模块化,具有良好的扩展性和实用性。
github链接地址:https://github.com/swisskyrepo/DamnWebScanner.git