您当前的位置:首页 > 电脑百科 > 安全防护 > 漏洞

Web漏洞靶场搭建(OWASP Benchmark)

时间:2022-09-01 16:28:41  来源:  作者:爱生活的VVGktA

【摘要】 漏洞靶场,不仅可以帮助我们锻炼渗透测试能力、可以帮助我们分析漏洞形成机理、更可以学习如何修复提高代码能力,同时也可以帮助我们检测各种各样漏洞扫描器的效果。

Web漏洞靶场搭建(OWASP Benchmark)

渗透测试切记纸上谈兵,学习渗透测试知识的过程中,我们通常需要一个包含漏洞的测试环境来进行训练。而在非授权情况下,对于网站进行渗透测试攻击,是触及法律法规的,所以我们常常需要自己搭建一个漏洞靶场,避免直接对公网非授权目标进行测试。
漏洞靶场,不仅可以帮助我们锻炼渗透测试能力、可以帮助我们分析漏洞形成机理、更可以学习如何修复提高代码能力,同时也可以帮助我们检测各种各样漏洞扫描器的效果。


本次靶场选择 OWASP Benchmark | OWASP Foundation 靶场。Owasp benchmark 旨在评估安全测试工具的能力(准确率、覆盖度、扫描速度等等),量化安全测试工具的扫描能力,从而更好得比较各个安全工具优缺点。

测试用例

目前 v1.2 版本包含了近3000个漏洞,覆盖常见的SQL注入、命令注入、路径遍历、XSS,以及众多安全编码类的问题

 

每个漏洞包含多种漏洞场景,对于命令注入来说,可以校验测试工具在:

  • 多种注入位置:param/data/form-data/json/mut/header/cookie/
  • 多种调用场景:ProcessBuilder/RuntimeExec
  • 不同拼接方式:可控变量作为独立的命令拼接、仅作为ls/echo 的参数
  • 复杂业务流程: if/else/switch 导致无法进入漏洞位置(假漏洞场景)
    等等场景下的表现。

评分标准

Benchmark 可以根据测试工具的扫描报告为测试工具进行评分。Benchmark靶场的所有漏洞信息储存在
BenchmarkJAVA/expectedresults-1.2.csv at master · OWASP-Benchmark/BenchmarkJava ,此文件用于标识每个场景下的漏洞信息。Benchmark解析测试工具的扫描报告再与预期结果进行对比,从而为每个工具进行打分。
对于测试工具来说,我们期望他能够

  • 发现所有的真正是问题的漏洞 即 True Positive,TP指数,检出率尽可能高
  • 能够忽略所有非问题的漏洞 即False Positive,FP指数,误报率尽可能低

Benchmark 将以TP,FP为坐标轴绘制一张图,当点越靠近左上方时,认为测试功能能力更优。

 

Benchmark最后得分参考约登指数给出,用以下公式计算分值,得分越靠近 11 表明测试工具能力越强。

Sensitivity+Specificity-1=TP+(1-FP)-1=TP-FPSensitivity+Specificity−1=TP+(1−FP)−1=TPFP

扫描报告解析

Benchmark目前支持大部分主流测试工具,详见 OWASP Benchmark | OWASP Foundation 页面。
当评估测试工具时,可以自行扩展
OWASP-Benchmark/BenchmarkUtils: OWASP Benchmark Project Utilities - Provides scorecard generation and crawling tools for Benchmark style test suites. 中的
org.owasp.benchmarkutils.score.parsers.Reader 类

  • 重写 parse方法:用于解析报告内容
  • 重写canRead 方法:用于判断解析哪种报告文件

解析报告中的 url/cwe 等关键信息,实现自动打分。

Demo

package org.owasp.benchmark.score.parsers;  
  
import org.dom4j.Document;  
import org.dom4j.Element;  
import org.dom4j.io.SAXReader;  
  
import java.io.File;  
import java.util.List;  
import java.util.regex.Matcher;  
import java.util.regex.Pattern;  
  
public class SecScanReader extends Reader {  
    private static final String NUMBER_PATTERN = "BenchmarkTest(\d+)";  
    private static Pattern pattern;  
  
    public SecScanReader() {  
        pattern = Pattern.compile(NUMBER_PATTERN);  
    }  

	public boolean canRead(ResultFile resultFile) {
		return resultFile.filename().endsWith(".xml") && resultFile.xmlRootNodeName().equals("XXXXXX");
	}

    public TestResults parse(File file) throws Exception {  
        TestResults tr = new TestResults("XXXXXX", true, TestResults.ToolType.DAST);  
        for (Object obj : issues) {  
			// .....
			TestCaseResult tcr = new TestCaseResult();  
			tcr.setCategory("XSS");  
			tcr.setCWE(cweLookup(13));
			tcr.setNumber(0001);
            tr.put(tcr);  
        }  
        return tr;  
    }  
  
    public static int cweLookup(String pluginId) {  
        switch (pluginId) {  
            default: return 0;  
        }  
    }  

}

生成评分报告

$  mvn validate -Pbenchmarkscore -Dexec.args="expectedresults-1.2.csv results"

部署运行

$ git clone https://github.com/OWASP-Benchmark/BenchmarkJava
$ cd benchmark
$ mvn compile   (This compiles it)
$ runRemoteAccessibleBenchmark.sh/.bat - This compiles and runs it.


runRemoteAccessibleBenchmark 脚本用于开启可被远程访问的Benchmark Web应用。



Tags:Web漏洞   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
【摘要】 漏洞靶场,不仅可以帮助我们锻炼渗透测试能力、可以帮助我们分析漏洞形成机理、更可以学习如何修复提高代码能力,同时也可以帮助我们检测各种各样漏洞扫描器的效果。W...【详细内容】
2022-09-01  Tags: Web漏洞  点击:(65)  评论:(0)  加入收藏
一、SQL注入漏洞SQL 注入攻击( SQL Injection ),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串...【详细内容】
2021-12-10  Tags: Web漏洞  点击:(132)  评论:(0)  加入收藏
AWVS是Acunetix Web Vulnerability Scanner的缩写它是一个自动化的Web应用程序安全测试工具,审计检查漏洞。它可以扫描任何可通过Web浏览器访问的和遵循HTTP/HTTPS规则的Web...【详细内容】
2021-01-27  Tags: Web漏洞  点击:(1032)  评论:(0)  加入收藏
CSRF跨站请求伪造(Cross-Site Request Forgery)CSRF经常配合XSS一起进行攻击!(同XSS类似,都属于跨站攻击,不攻击服务器端而攻击正常访问网站的用户!)XSS利用站点内的信任用户,CS...【详细内容】
2020-10-22  Tags: Web漏洞  点击:(1103)  评论:(0)  加入收藏
前边的文章中,我们已经介绍过许多漏洞扫描的工具,今天我们就来介绍其中一款名叫AWVS漏洞扫描工具的使用。Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络漏洞扫...【详细内容】
2020-09-04  Tags: Web漏洞  点击:(594)  评论:(0)  加入收藏
可以检查安全应用程序中的漏洞。攻击者可能会发现他们可能利用的隐藏目录和敏感文件等漏洞。Ots ANQ本地文件包含带有URL /gui/file_viewer.php的应用程序可能容易受到本地...【详细内容】
2020-08-03  Tags: Web漏洞  点击:(324)  评论:(0)  加入收藏
Kali工具库之Nikto作者:Arch3r工具简介Nikto是一个开源的WEB扫描评估软件,可以对Web服务器进行多项安全测试,能在230多种服务器上扫描出 2600多种有潜在危险的文件、CGI及其他...【详细内容】
2020-05-29  Tags: Web漏洞  点击:(324)  评论:(0)  加入收藏
SSI 注入全称Server-Side Includes Injection,即服务端包含注入。SSI 是类似于 CGI,用于动态页面的指令。SSI 注入允许远程在 Web 应用中注入脚本来执行代码。SSI是嵌入HTML页...【详细内容】
2020-05-25  Tags: Web漏洞  点击:(196)  评论:(0)  加入收藏
CSRF介绍什么是CSRF呢?我们直接看例子。https://mp.toutiao.com/profile_v3/graphic/preview?do=delete&pgc_id=6829574701128352260这个URL是头条删除pgc_id为6829574701128...【详细内容】
2020-05-25  Tags: Web漏洞  点击:(202)  评论:(0)  加入收藏
仅用于学习测试,违法自负! 这里给大家分享几点关于越权漏洞的发现方法,这类型漏洞通常发生在Web应用提供给用户基于输入的对象中,漏洞造成的影响将会致使攻击者可以绕过授权限...【详细内容】
2020-01-09  Tags: Web漏洞  点击:(237)  评论:(0)  加入收藏
▌简易百科推荐
Python 编程语言中一个被忽视了 15 年的漏洞,正在重新引发人们的关注,因为它可能对超过 35 万个开源存储库项目造成影响。其实早在 2007 年,就已经有安全研究人员披露并标记过...【详细内容】
2022-09-22  cnBeta.COM     Tags:Python漏洞   点击:(43)  评论:(0)  加入收藏
安全分析与研究专注于全球恶意软件的分析与研究前言近日,国外某人在社交媒体论坛上宣称,自己的团队入侵了LockBit勒索病毒的服务器,并找到了LockBit Black(3.0)勒索病毒的生成...【详细内容】
2022-09-21  安全分析与研究   企鹅号  Tags:LockBit   点击:(35)  评论:(0)  加入收藏
nessus号称是漏洞评估领域的全球黄金标准、世界上最流行的漏洞扫描程序,广受 30000 家企业的信赖,全球下载量达 2 百万。Nessus不同于传统的漏洞扫描软件,它的每个功能的设计都...【详细内容】
2022-09-20  程序猿研究中心  今日头条  Tags:Nessus   点击:(69)  评论:(0)  加入收藏
IT之家 9 月 7 日消息,谷歌于 9 月 2 日发布了其 Chrome 浏览器的更新,其中包含针对 Mac 和 Windows 版漏洞的修复。Chrome 浏览器 105.0.5195.102 版本更新已推出,修复了一个...【详细内容】
2022-09-07    IT之家  Tags:0 day 漏洞   点击:(57)  评论:(0)  加入收藏
log4j-2远程代码执行漏洞是因为log4j的版本中存在jndi(java Naming and Directory Interface)注入漏洞,jndi注入是利用的动态类加载机制完成攻击的,当程序将用户输入的数据进...【详细内容】
2022-09-04  互联网资讯看板     Tags:log4j2   点击:(101)  评论:(0)  加入收藏
【摘要】 漏洞靶场,不仅可以帮助我们锻炼渗透测试能力、可以帮助我们分析漏洞形成机理、更可以学习如何修复提高代码能力,同时也可以帮助我们检测各种各样漏洞扫描器的效果。W...【详细内容】
2022-09-01  爱生活的VVGktA    Tags:Web漏洞   点击:(65)  评论:(0)  加入收藏
CVE-2022-22965A Spring MVC or Spring WebFlux application running on JDK 9+ may be vulnerable to remote code execution (RCE) via data binding. The specific explo...【详细内容】
2022-08-31  BYsususu    Tags:漏洞   点击:(74)  评论:(0)  加入收藏
安全研究人员发现有超过8万台海康威视摄像头受到CVE-2021-36260漏洞的影响。CVE-2021-36260漏洞是一个命令注入漏洞,攻击者利用该漏洞可以发送伪造的消息给有漏洞的web服务器...【详细内容】
2022-08-26  嘶吼RoarTalk  网易  Tags:漏洞   点击:(210)  评论:(0)  加入收藏
一、前言1.1 下载地址二、CVE-2017-175622.1 漏洞分析cve-2017-17562远程命令执行漏洞影响Goahead 2.5.0到Goahead 3.6.5之间的版本。在cgiHandler函数中,将用户的HTTP请求参...【详细内容】
2022-08-26  iHacking    Tags:漏洞   点击:(60)  评论:(0)  加入收藏
什么是0day漏洞? 0day漏洞,是指已经被发现,但是还未被公开,同时官方还没有相关补丁的漏洞;通俗的讲,就是除了黑客,没人知道他的存在,其往往具有很大的突发性、破坏性、致命性。0day...【详细内容】
2022-08-25  中科三方  搜狐号  Tags:0day漏洞   点击:(93)  评论:(0)  加入收藏
站内最新
站内热门
站内头条