靶场攻略 | 网络安全靶场合集

1

JAVA环境

1、WebGoat

WebGoat 是一个由 OWASP 维护的 Web 应用程序靶场环境,旨在帮助大家学习 web 应用程序的漏洞原理及测试方法。

项目地址:

| https://github.com/WebGoat/WebGoat

该项目使用 java 语言开发,涉及漏洞包括 OWASP Top10,参考文档:

| https://owasp.org/www-project-webgoat/

2、JVApp

Java漏洞练习程序,开发工具Eclipse,运行环境Java 1.7以上版本,Tocmat7以上。

https://github.com/shack2/JVApp

安装方法:

1.首先安装jdk1.7以上版本,下载Tomcat7以上版本,将war包程序部署到Tomcat webapps目录

2.安装mysql5.7,如果是其他5.x版本或导入SQL报错,修改JVAPP.sql中的utf8mb4为utf8,然后新建数据库apptest使用navicat导入sql文件。

3.启动tomcat,待程序解压后,修改JVApp中WEB-INF/classes/config.properties中的数据库连接信息(ip、数据库、账号、密码)等信息,修改完成后重启tomcat即可。

4.访问程序:http://127.0.0.1/JVApp/

3、SecExample

https://github.com/tangxiaofeng7/SecExample

AVA 漏洞靶场 (Vulnerability Environment For Java)

Name
Star
[注入漏洞-SQL注入]
🌟🌟🌟
[注入漏洞-命令注入]
🌟
[注入漏洞-spel表达式注入]
🌟🌟🌟
[XSS漏洞]
🌟
[CSRF漏洞]
🌟🌟
[SSRF漏洞]
🌟🌟
[CORS漏洞]
🌟🌟🌟🌟
[反序列化漏洞-Fastjson反序列化]
🌟🌟🌟🌟
[验证码相关漏洞]
🌟🌟

安装

git clone https://github.com/tangxiaofeng7/SecExample.git

cd SecExample

docker-compose up -d

访问: http://localhost:8080

http://127.0.0.1:8080/ssrfoutput

4、Micro_service_seclab

这是一个Java漏洞靶场

这个Java漏洞靶场是基于SpringBoot开发,目的是用来检测SAST工具的准确性(关注漏报和误报问题)的。

如果想学习使用CodeQL检测漏洞,可根据文章《CodeQL从入门到放弃》 结合此项目进行学习。

可以用此靶场测试(CodeQL, CheckMarx, Fortify SCA)白盒检测工具,根据预先埋点的漏洞,与测试结果进行对比,

判断在什么地方存在误报和漏报的问题。

当然,你也可以用这个靶场做黑盒测试,所有漏洞都提供了数据库文件

https://github.com/cream-sec/micro_service_seclab

支持的漏洞

SQL注入

SQL注入这部分,会出现很多不同白盒写法导致的SQL注入。

种类
解释
伪代码
String Source
输入点是字符串类型
one(@RequestParam(value = "username") String username)
List
输入点是Long泛型(用来测试误报)
longin(@RequestBody Listuser_list)
Optional
新特性
optionalLike(@RequestParam(value = "username") Optionaloptinal_username)
ListSource
输入点是String泛型
in(@RequestBody Listuser_list)
Object Source
对象类型
objectParam(@RequestBody Student user)
MyBatis注入
XML分离SQL检测
myBatis(@RequestParam(value = "name") String name)
In类型注入
In类型注入
参照代码
Like类型
Like类型注入
参照代码
Lombok
Lombok对注入漏洞的影响
参照代码
MyBatis注解方式注入
MyBatis注解方式注入
参照代码
Spring Data JPA
JPA 方式
参照代码

2). RCE命令执行

种类
解释
伪代码
processBuilder
processBuilder导致的RCE
--
Runtime.getRuntime().exec(args)
Runtime.getRuntime().exec(args)导致的RCE
--

3). FastJson反序列化漏洞

提供1.2.31版本的Fastjson供进行测试。

@RestController
@RequestMapping(value = “/fastjson”)public class FastJsonController { @PostMapping(value = “/create”) public Teacher createActivity(@RequestBody String applyData,
HttpServletRequest request, HttpServletResponse response){ Teacher teachVO = JSON.parseObject(applyData, Teacher.class); return teachVO; }

}

Bash

4. SSRF漏洞

种类
解释
伪代码
url.openConnection()
url.openConnection()引起的SSRF
参照代码
Request.Get()
Request.Get()引起的SSRF
参照代码
OkHttpClient
OkHttpClient引起的SSRF
参照代码
DefaultHttpClient
DefaultHttpClient引起的SSRF
参照代码
url.openStream()
url.openStream()引起的SSRF
参照代码

5.XXE

种类
解释
伪代码
DocumentBuilderFactory
DocumentBuilderFactory引起的SSRF
参照代码

6. 反序列化漏洞

持续添加中

7. 逻辑漏洞

添加中

5、Hello-Java-Sec

Java漏洞平台,结合漏洞代码和安全编码,帮助研发同学理解和减少漏洞,代码仅供参考

https://github.com/j3ers3/Hello-Java-Sec

●默认账号:admin/admin

●目前实现的漏洞点有:

SQLi
XSS
RCE
Deserialize
SSTI
SpEL
SSRF
Directory Traversal
Redirect
CSRF(X)
File Upload
XXE
Actuator
Fastjson
Xstream
Log4shell
JNDI
Dos
more(X)

Bash

安装运行方法如下:

IDEA

配置数据库连接,数据库文件db.sql

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.username=root
spring.datasource.password=1234567

Bash

JAR(JDK1.8)

git clone https://github.com/j3ers3/Hello-Java-Sec
cd Hello-Java-Sec
mvn clean package -DskipTests
java -jar target/hello-1.0.0-SNAPSHOT.jar

Bash

Docker

mvn clean package
./deploy.sh

Bash

技术架构:

●Java 1.8

●SpringBoot 4.0

●Bootstrap 4.6.0

●Codemirror 5.62.0

开启环境:

访问:http://127.0.0.1:8080

账号密码:admin/admin

2

Python环境

1、TIWAP

https://github.com/tombstoneghost/TIWAP

**TIWAP是一款包含大量漏洞的Web应用渗透测试学习工具,**该工具基于Python和Flask实现其功能,帮助信息安全爱好者或测试人员学习和了解各种类型的Web安全漏洞

当前版本的TIWAP实验环境中包含了二十种安全漏洞,具体如下所示:

●SQL注入

●Blind SQL注入

●NoSQL注入

●Command注入

●业务逻辑漏洞

●敏感数据泄露

●XML外部实体

●安全错误配置

●反射型XSS

●存储型XSS

●基于DOM的XSS

●HTML注入

●不安全的证书验证

●硬编码Credentials

●不安全的文件上传

●暴力破解

●目录遍历

●跨站请求伪造(CSRF)

●服务器端请求伪造(SSRF)

●服务器端模板注入(SSTI)

其中,每一种漏洞都提供了三种等级的漏洞利用难度,即低级Low、中级Medium和困难Hard,可以根据自己的需求在设置页面中进行相应的配置。

2、SSTI-labs

https://github.com/X3NNY/sstilabs书签:https://github.com/X3NNY/sstilabs

这个项目是为了帮助正在学习SSTI的伙伴,你可以从中学到一些绕过方法,同时如果你有新的绕过姿势,你可以参与到本项目的贡献之中.

flask-lab

确保你已经安装了python

克隆项目或者下载zip文件

pip install -r requirements.txt

python app.py

它将运行在5000端口上,为了安全起见,请不要使用root用户运行

3

PHP环境

1、DVWA

DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的 PHP/MySQL Web 应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助 web 开发者更好的理解 web 应用安全防范的过程。项目地址:

| https://github.com/digininja/DVWA

可docker安装

docker pull vulnerables/web-dvwa
docker run --rm -it -p 80:80 vulnerables/web-dvwa
访问80端口就可以了哈

Bash

DVWA 共有十个模块,分别是:

1.Brute Force(暴力(破解)) 2.Command Injection(命令行注入) 3.CSRF(跨站请求伪造) 4.File Inclusion(文件包含) 5.File Upload(文件上传) 6.Insecure CAPTCHA (不安全的验证码) 7.SQL Injection(SQL注入) 8.SQL Injection(Blind)(SQL盲注) 9.XSS(Reflected)(反射型跨站脚本) 10.XSS(Stored)(存储型跨站脚本)

DVWA-WooYun

DVWA-WooYun 是基于 wooyun 历史真实漏洞而设计的漏洞靶场, 项目地址:

| https://github.com/lxj616/DVWA-WooYun

包含的漏洞如下:

2、Bwapp

一款非常好用的漏洞演示平台,包含有100多个漏洞

docker search bwapp
docker pull raesene/bwapp
docker run -itd --name bwapp raesene/bwapp

Bash

3、iwebsec

4、Pikachu

Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞。如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么Pikachu可能正合你意。

Pikachu上的漏洞类型列表如下:

●Burt Force(暴力破解漏洞)

●XSS(跨站脚本漏洞)

●CSRF(跨站请求伪造)

●SQL-Inject(SQL注入漏洞)

●RCE(远程命令/代码执行)

●Files Inclusion(文件包含漏洞)

●Unsafe file downloads(不安全的文件下载)

●Unsafe file uploads(不安全的文件上传)

●Over Permisson(越权漏洞)

●…/…/…/(目录遍历)

●I can see your ABC(敏感信息泄露)

●PHP反序列化漏洞

●XXE(XML External Entity attack)

●不安全的URL重定向

●SSRF(Server-Side Request Forgery)

●管理工具

●More…(找找看?..有彩蛋!)

项目地址:

| https://github.com/zhuifengshaonianhanlu/pikachu

docker安装

git clone https://github.com/zhuifengshaonianhanlu/pikachu
cd pikachu
docker build -t “pikachu” .使用当前目录 kerfile 创建镜像,命为 pikachu。要和 Dockerfile 在同一目录,注意命令后面还有一个点
中间会拉取 lnmp 环境,大约有 200M
docker run -it -d -p 8082:80 pikachu
首页有一个初始化按钮,点击初始化后即可

Bash

5、Permeate

6、SQLI-Labs

专注于 sql 注入研究的靶场,共计 65 关,项目地址:

https://github.com/Audi-1/sqli-labs

docker安装

docker pull acgpiano/sqli-labs
docker images
docker run -dt --name sqli -p 80:80 --rm acgpiano/sqli-labs
访问80端口

Bash

7、Upload-Labs

upload-labs 是一个使用 php 语言编写的,专门收集渗透测试和 CTF 中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。项目地址:

| https://github.com/c0ny1/upload-labs

靶机包含的漏洞类型分类:

docker pull c0ny1/upload-labs
docker run -d -p 81:80 c0ny1/upload-labs
可以正常启动
但是,当上传文件时,会出现下图所示的报错,即使上传合法的文件也是报错
解决:
① 进入upload-labs容器
docker exec -it [CONTAINER ID] /bin/bash #查看CONTAINER ID命令docker ps② 创建upload文件夹:mkdir upload
③ 给upload赋权限:chmod 777 upload
此时,一切正常。靶场搭建完毕!

Bash

8、XSS-Labs

针对 xss 漏洞的专项训练靶场,一共 20 关,涉及的知识点包括:

●无过滤 XSS (level 1)

●各种难度的构造闭合 XSS (level 2、3、4、5、6)

●各种难度的绕过过滤 XSS (level 2、3、4、5、6)

●双写拼接 XSS (level 7)

●实体编码+HTML 编码 XSS (level 8、9)

●input 中的 XSS (level 10)

●HTTP headers 头中的 XSS (level 11、12、13)

●exif XSS (level 14)

●angularjs XSS (level 15)

●URL 编码 XSS (level 16)

●embed 标签的 XSS (level 17、18)

●Flash XSS (level 19、20)

项目地址:

| https://github.com/do0dl3/xss-labs

在线地址:http://test.xss.tv

XSS Vulnerability Scenarios (challenges)

https://github.com/moeinfatehi/xss_vulnerability_challenges

this repository is a docker containing some “XSS vulnerability” challenges and bypass examples.

The ideas behind challenges are:

●Javascript validation bypass

●html entities bypass

●WAF bypass

●Black-list validation bypass

●Basic XSS validation bypass

●Double encode bypass of WAF to exploit XSS

●Exploiting XSS by bypassing escape characters

启动方法:

sudo docker run -d -p 9003:80 moeinfatehi/xss_vulnerability_challenges

Bash

或者

git clone https://github.com/moeinfatehi/xss_vulnerability_challenges.git
cd xss_vulnerability_challenges
docker-compose up
访问http://localhost:9003

Bash

9、SSRF-LAB

SSRF-LABS 有一个好看又简洁的界面,提供了最基本的 REST API 和客户端 WebHook 功能用于 SSRF 测试。项目地址:

| https://github.com/m6a-UdS/ssrf-lab/

以此衍生出的新的靶场,基于实际环境的云基础设施攻击靶场 DVCA,项目地址:

| https://github.com/m6a-UdS/dvca

项目以 AWS 为目标云,通过 SSRF 漏洞获得云基础设施的管理员权限

10、Webug4.0

基础环境是基于PHP/mysql制作搭建而成,中级环境与高级环境分别都是由互联网漏洞事件而收集的漏洞存在的操作环境。部分漏洞是基于Windows操作系统的漏洞所以将WeBug的web环境都装在了一个纯净版的Windows 虚拟机中

安装

虚拟机下载地址:https://pan.baidu.com/s/1k6Th3RwJZTHrmoS2EbO6vA 提取码:pzaq

11、XXE-lab(针对XXE)

xxe-lab由国内大佬@c0ny1开发的,与sqli-labs有些类似,主要专注于XML外部实体注入漏洞这一块。

xxe-lab是一个使用php,java,python,C#四种当下最常用语言的网站编写语言来编写的一个存在xxe漏洞的web demo。

GITHUB地址:https://github.com/c0ny1/xxe-lab

安装

php_xxe
直接放在php web页面下即可运行。

java_xxe
java_xxe是serlvet项目,直接导入eclipse当中即可部署运行。

python_xxe:
安装好Flask模块
python xxe.py

Csharp_xxe
直接导入VS中运行

Bash

12、PHP7 版 sqli-labs

基于第一个 sqli-lab 项目,将所有代码适配到 php7 版本,涉及的技术和测试方法跟第一个项目相差无几,项目地址:

| https://github.com/skyblueee/sqli-labs-php7

13、Mutillidae_2

包含四十多个漏洞,使用 php 语言编写

部署:curl -sSL https://websploit.org/install.sh | sudo bash

4

ASP环境

1、MSSQL-SQLi-labs

https://github.com/Larryxi/MSSQL-SQLi-Labs

关于系统的说明

1.前期使用的架构是Windows 2003上的iis+asp+bootstrap+mssql 2000

2.asp开发参考的书目是《ASP 从入门到精通(放弃)》

3.主要的代码逻辑则仿造的是php版的sqli-labs,完成了前20关的内容,其中也有些小替换

程序的几个关键点

1.asp不支持动态包含文件所以就重复了多次前端页面

2.对于数据库的报错特性,在脚本中设置了捕获陷阱,当有报错时再把错误信息写入到页面中

3.由于使用到Recordset,不能简单地取出某一列来判断SQL语句是否有查询出结果,而是需要同时判断BOF和EOF才更加合理

4.在SQL Server 2000中QUOTED_IDENTIFIER 为 ON 时,双引号只能用于分隔标识符,不能用于分隔字符串,所以在某些关卡中对查询语句进行了替换

详见:NmapRecordSearch && MSSQL-SQLi-Labs 初步开发小结

5

NoSQLi Lab

之前的项目都是针对关系型数据库的利用,这个项目是针对非关系型数据库的漏洞环境,比如 redis、mongoDB 等,测试起来还是有所差别的,项目地址:

| https://github.com/digininja/nosqlilab

apt-get update && apt-get dist-upgrade
apt-get install php-mongodb apache2 vim mongodb git php
cd /var/www/html/
rm index.html
git clone https://github.com/digininja/nosqlilab

Bash

6

GO环境

https://github.com/leveryd/go-sec-code书签:GitHub - leveryd/go-sec-code: Go相关的安全研究

"漏洞类型"包括:

●任意文件读取

●任意文件写入

●SSRF

●命令执行注入

●SQL注入

●模板注入

●并发攻击

7

Node靶场

1、Vulnerable-node

https://github.com/cr0hn/vulnerable-node

2、JuiceShop

使用 Node.js、Express 和 Angular 编写的 web 漏洞靶场环境,同样包含 OWASP Top 10 所有漏洞,比较贴近现在流行的前后端分离的架构,学习如何发现 API 的安全漏洞

curl -sSL https://websploit.org/install.sh | sudo bash

8

Ruby靶场

Ruby靶场

https://github.com/cliffe/secgen

9

API测试环境

1、APISandbox

Pre-Built Vulnerable Multiple API Scenarios Environments Based on Docker-Compose.

APISandbox是一个包含多个场景的API漏洞靶场。

目前有以下几个API漏洞场景靶场:

✔️4ASystem: 4A认证系统下的API平行越权

✔️APIVuln: 生产消费流水线中的API缓存投毒

✔️GraphqlNotebook: 一个使用GraphQL的留言板以及经典API漏洞

✔️InfoSystem: WSDL泄露API越权进后台Getshell

✔️OASystem: SpringBoot微服务架构下的API Gateway配置问题

✔️OWASPApiTop10: 使用go作为后端实现解释OWASP API Top 10的漏洞

欢迎小伙伴提交更多API安全实战思路攻略等,社区会帮忙实现成靶场环境~

安装

在Ubuntu 20.04下安装docker/docker-compose:

# 安装pip
curl -s https://bootstrap.pypa.io/get-pip.py | python3
# 安装最新版docker
curl -s https://get.docker.com/ | sh

# 启动docker服务
systemctl start docker

# 安装composepip install docker-compose

bash

其他操作系统安装docker和docker-compose可能会有些许不同,请阅读Docker文档进行安装。

使用

# 下载项目
wget https://github.com/API-Security/APISandbox/archive/refs/heads/main.zip -O APISandbox-main.zip
unzip APISandbox-main.zip
cd APISandbox-main
# 进入某一个漏洞/环境的目录
cd OWASPApiTop10
# 自动化编译环境
docker-compose build

# 启动整个环境
docker-compose up -d

bash

每个环境目录下都有相应的说明文件,请阅读该文件,进行漏洞/环境测试。

测试完成后,删除整个环境

docker-compose down -v

本项目中所有环境仅用于测试,不可作为生产环境使用!

注意事项:为防止出现权限错误,最好使用root用户执行docker和docker-compose命令、docker部分镜像不支持在ARM等架构的机器上运行

项目地址:https://github.com/API-Security/APISandbox

10

云安全测试环境

云安全测试环境

Metarget的名称来源于meta-(元)加target(目标,靶机),是一个脆弱基础设施自动化构建框架,主要用于快速、自动化搭建从简单到复杂的脆弱云原生靶机环境。

安装环境

Ubuntu 16.04或18.04

Python >= 3.6 (不支持Python 2.x!)

pip3

从源码安装

拉取仓库,安装必要库文件:

git clone https://github.com/brant-ruan/metarget.git

cd metarget/

pip install -r requirements.txt

使用Metarget,搭建脆弱场景,例如:

./metarget cnv install cve-2019-5736

基本操作

usage: metarget [-h] [-v] subcommand …
automatic constructions of vulnerable infrastructures
positional arguments:
subcommand description
gadget cloud native gadgets (docker/k8s/…) management
cnv cloud native vulnerabilities management
appv application vulnerabilities management
optional arguments:
-h, --help show this help message and exit -v, --version show program’s version number and exit

Bash

执行./metarget gadget list了解当前支持的云原生组件。

管理云原生组件

usage: metarget gadget [-h] subcommand …
positional arguments:
subcommand description
list list supported gadgets install install gadgets
remove uninstall gadgets
optional arguments:
-h, --help show this help message and exit

Bash

示例

#安装制指定版docker./metarget gadget install docker --version 18.03.1
#安装指定版本Kubernetes./metarget gadget install k8s --version 1.16.5
#安装指定版本的Kata-containers./metarget gadget install kata --version 1.10.0
#安装指定版本Linux内核./metarget gadget install kernel --version 5.7.5

Bash

管理“云原生组件”的脆弱场景

usage: metarget cnv [-h] subcommand …

positional arguments:
subcommand description
list list supported cloud native vulnerabilities install install cloud native vulnerabilities
remove uninstall cloud native vulnerabilities

optional arguments:
-h, --help show this help message and exit

Bash

执行./metarget cnv list了解当前支持的云原生组件脆弱场景。

示例:

#CVE-2019-5736./metarget cnv install cve-2019-5736
#CVE-2018-1002105./metarget cnv install cve-2018-1002105
#Kata-containers安全容器逃逸./metarget cnv install kata-escape-2020
#CVE-2016-5195./metarget cnv install cve-2016-5195

Bash

目前支持的云原生脆弱场景

场景名称
涉及组件
场景类型
CVSS 3.x
Writeup
cve-2018-15664
docker
容器逃逸
7.5

cve-2019-13139
docker
命令执行
8.4
链接
cve-2019-14271
docker
容器逃逸
9.8
链接
cve-2020-15257
docker/containerd
容器逃逸
5.2
链接
cve-2019-5736
docker/runc
容器逃逸
8.6

cve-2019-16884
docker/runc
容器逃逸
7.5

cve-2021-30465*
docker/runc
容器逃逸
7.6
链接
cve-2017-1002101
k8s
容器逃逸
9.6
链接
cve-2018-1002105
k8s
权限提升
9.8

cve-2018-1002100
k8s/kubectl
容器逃逸
5.5

cve-2019-1002101
k8s/kubectl
容器逃逸
5.5

cve-2019-11246
k8s/kubectl
容器逃逸
6.5

cve-2019-11249
k8s/kubectl
容器逃逸
6.5

cve-2019-11251
k8s/kubectl
容器逃逸
5.7

cve-2019-11253
k8s
拒绝服务
7.5

cve-2019-9512
k8s
拒绝服务
7.5

cve-2019-9514
k8s
拒绝服务
7.5

cve-2019-9946
k8s
流量劫持
7.5

cve-2020-8554
k8s
中间人攻击
5.0

cve-2020-8555
k8s
服务端请求伪造(SSRF)
6.3

cve-2020-8557
k8s
拒绝服务
5.5

cve-2020-8558
k8s
服务暴露
8.8

cve-2020-8559
k8s
权限提升
6.8

cve-2021-25741
k8s
容器逃逸
8.1

cve-2016-5195
kernel
容器逃逸
7.8

cve-2016-8655
kernel
权限提升
7.8

cve-2017-6074
kernel
权限提升
7.8

cve-2017-7308
kernel
容器逃逸
7.8
链接
cve-2017-16995
kernel
权限提升
7.8

cve-2017-1000112
kernel
容器逃逸
7.0
链接
cve-2018-18955
kernel
权限提升
7.0

cve-2020-14386
kernel
容器逃逸
7.8

cve-2021-22555
kernel
容器逃逸
7.8

kata-escape-2020
kata-containers
容器逃逸
6.3 / 8.8 / 8.8

cap_dac_read_search-container
危险配置
容器逃逸
-
链接
cap_sys_admin-container
危险配置
容器逃逸
-

cap_sys_ptrace-container
危险配置
容器逃逸
-

privileged-container
危险配置
容器逃逸
-
链接
mount-docker-sock
危险挂载
容器逃逸
-
链接
mount-host-etc
危险挂载
容器逃逸
-

mount-host-procfs
危险挂载
容器逃逸
-
链接
mount-var-log
危险挂载
容器逃逸
-
链接

管理“云原生应用”的脆弱场景

usage: metarget appv [-h] subcommand …

positional arguments:
subcommand description
list list supported application vulnerabilities install install application vulnerabilities
remove uninstall application vulnerabilities

optional arguments:
-h, --help show this help message and exit

Bash

执行./metarget appv list了解当前支持的云原生应用脆弱场景。

注意:在构建云原生应用的脆弱场景前,需要先安装Docker及Kubernetes,可以使用Metarget相关命令来完成。

示例:

./metarget appv install dvwa

参考文档:https://github.com/Metarget/metarget/blob/master/README-zh.md

容器测试工具

CDK是一款为容器环境定制的渗透测试工具,在已攻陷的容器内部提供零依赖的常用命令及PoC/EXP。集成Docker/K8s场景特有的 逃逸、横向移动、持久化利用方式,插件化管理。

https://github.com/cdk-team/CDK/wiki/CDK-Home-CN

11

APP靶场

1、DIVA

在APP项目交付的时候经常会测试客户端今天通过靶场来学习一下客户端不规范项。

DIVA (Damn insecure and vulnerable App),是一个故意设计为全身漏洞的APP软件,它能让开发人员、QA、安全人员了解到APP软件一般存在的问题。

| https://github.com/payatu/diva-android

Compile Diva

●Download the source

●Open the project in Android Studio

●For Native library - open command line

●$ cd /app/src/main/jni

●$ make (This needs to be done only once, unless you make changes to the native code - in which case run “make clean && make”)

●This will compile the native library and copy all the compiled versions in directory jniLibs which is required when building the app

●From the menu bar: Build->Make Project or Run->Run App

Run Diva

●Compile/download the app

●On your phone settings. Go to security and check Unknown Sources checkbox. This allows you to install apps outside of play store. You don’t need to do this if you are installing the app on an emulator.

●Connect your phone to the computer (make sure USB debugging is enabled on your phone) or run the emulator.

●cd

●adb install

●Start playing.

Current Challenges include:

1.Insecure Logging

2.Hardcoding Issues – Part 1

3.Insecure Data Storage – Part 1

4.Insecure Data Storage – Part 2

5.Insecure Data Storage – Part 3

6.Insecure Data Storage – Part 4

7.Input Validation Issues – Part 1

8.Input Validation Issues – Part 2

9.Access Control Issues – Part 1

10.Access Control Issues – Part 2

11.Access Control Issues – Part 3

12.Hardcoding Issues – Part 2

13.Input Validation Issues – Part 3

不安全日志输出-Insecure Logging

开发人员有意或无意地记录敏感信息(如凭据,会话ID,财务详细信息等)

我们输入的数字”123456789”,使用adb logcat 命令可以看到

E/diva-log( 3575): Error while processing transaction with credit card: 123456789

text

使用jd-gui看下logActivity.class 可以发现

{Log.e(“diva-log”, "Error while processing transaction with credit card: " + paramView.getText().toString());
Toast.makeText(this, “An error occured. Please try again later”, 0).show();}、

Java

代码中使用了log.e,如果开发人员在debug时不小心忘记去掉log输出,将会造成很大的安全隐患。

不安全的数据存储

Insecure Data Storage -Part1

不安全的数据存储也是App常见的安全问题之一,主要有三种方式:

●将敏感数据保存到配置文件中。

●将敏感数据保存在本地的sqlite3数据库中

●将敏感数据保存在临时文件或者sd卡中。

使用了SharedPreferences类,该类是Android平台上一个轻量级的存储类,主要是用来保存一些常用的配置,本例中是用该类存储了用户名和密码,因此是具有风险的。SharedPreferences类存储的数据会以.xml的形式存储在/data/data/apppackagename/shared_prefs目录下

输入用户名和密码都为admin

使用adb连接手机查看文件

InsecureDataStorage1Activity.class

paramView = PreferenceManager.getDefaultSharedPreferences(this).edit();
EditText localEditText1 = (EditText)findViewById(2131493000);
EditText localEditText2 = (EditText)findViewById(2131493001);
paramView.putString(“user”, localEditText1.getText().toString());
paramView.putString(“password”, localEditText2.getText().toString());
paramView.commit();
Toast.makeText(this, “3rd party credentials saved successfully!”, 0).show();

Java

Insecure Data Storage -Part2

一般app对应的数据库目录: /data/data/apppackagename/databases

输入用户名,密码都为ceshi

使用adb查看数据库

InsecureDataStorage2Activity.class

SQLiteDatabase localSQLiteDatabase = this.mDB; paramView = new java/lang/StringBuilder; paramView.(); localSQLiteDatabase.execSQL(“INSERT INTO myuser VALUES (‘” + localEditText1.getText().toString() + “’, ‘” + localEditText2.getText().toString() + “’);”); this.mDB.close(); Toast.makeText(this, “3rd party credentials saved successfully!”, 0).show();

Java

Insecure Data Storage -Part3

输入用户名和密码为demo

使用adb查看临时文件,目录在/data/data/apppackagename/

InsecureDataStorage3Activity.class

  Object localObject2 \= File.createTempFile("uinfo", "tmp", (File)localObject1);      ((File)localObject2).setReadable(true);      ((File)localObject2).setWritable(true);      localObject1 \= new java/io/FileWriter;      ((FileWriter)localObject1).<init\>((File)localObject2);      localObject2 \= new java/lang/StringBuilder;      ((StringBuilder)localObject2).<init\>();      ((FileWriter)localObject1).write(localEditText.getText().toString() + ":" + paramView.getText().toString() + "\\n");      ((FileWriter)localObject1).close();      Toast.makeText(this, "3rd party credentials saved successfully!", 0).show();

Java

Insecure Data Storage -Part4

存储sd卡的目录一般在:/mnt/sdcard

InsecureDataStorage4Activity.class

paramView \= (EditText)findViewById(2131493010);    EditText localEditText \= (EditText)findViewById(2131493011);    File localFile \= Environment.getExternalStorageDirectory();    try    {      Object localObject1 \= new java/io/File;      Object localObject2 \= new java/lang/StringBuilder;      ((StringBuilder)localObject2).<init\>();      ((File)localObject1).<init\>(localFile.getAbsolutePath() + "/.uinfo.txt");      ((File)localObject1).setReadable(true);      ((File)localObject1).setWritable(true);      localObject2 \= new java/io/FileWriter;      ((FileWriter)localObject2).<init\>((File)localObject1);      localObject1 \= new java/lang/StringBuilder;      ((StringBuilder)localObject1).<init\>();      ((FileWriter)localObject2).write(paramView.getText().toString() + ":" + localEditText.getText().toString() + "\\n");      ((FileWriter)localObject2).close();      Toast.makeText(this, "3rd party credentials saved successfully!", 0).show();      return;    }

Java

可以看到使用Environment.getExternalStorageDirectory()来获取sd卡的目录,文件名为.unifo.txt

12

其他测试环境

1、Vulhub

Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。项目地址:

| https://vulhub.org/

使用文档:

| https://vulhub.org/#/docs/

当前涉及漏洞环境 200 个,Github 项目地址:

| https://github.com/vulhub/vulhub

2、VulApps

收集各种漏洞环境,为方便使用,统一采用 Dockerfile 形式。同时也收集了安全工具环境。

| 喜欢请点 Star,如果不打算贡献,千万别 Fork

本项目 GitHub 地址: https://github.com/Medicean/VulApps

DockerHub 在线镜像地址

http://vulapps.evalbug.com/

3、vulawdhub

https://github.com/0xs1riu5/vulawdhub

利用docker技术创建的有漏洞的cms环境集合

13

综合靶场环境

1、Metasploitable

它是一个虚拟靶机系统,里面含有大量未被修复的安全漏洞,它主要是用于metasploit-framework测试的漏洞目标。

安装

下载链接:https://github.com/rapid7/metasploitable3

导入Oracle VM VirtualBox虚拟机即可

2、VulnHub

Vulnhub 它是一个提供各种漏洞环境的平台,里面大部分的环境是要用 VMware 或者 VirtualBox 打开运行的。目前该项目已累计设计开发 700+ 靶场,官方网站:

| https://www.vulnhub.com/

3、Vulnstack

红蓝对抗,内网、域渗透最新靶场:地址:http://vulnstack.qiyuanxuetang.net/vuln/

下载靶机,导入虚拟机即可开始

4、Vulntarget

vulntarget靶场系列仅供安全专业人员练习渗透测试技术,此靶场所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用靶场中的技术资料对任何计算机系统进行入侵操作。利用此靶场所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。 vulntarget靶场系列拥有对此靶场系列的的修改、删除和解释权限,未经授权,不得用于其他!!!

vulntarget靶场是我们自行设计搭建的靶场,其中涵盖Web漏洞、主机漏洞、域漏洞、工控漏洞等等。

目前正在不断更新中。。。。。。

靶场下载

vulntrarget-a~vulntarget-f

百度云:链接: 链接: https://pan.baidu.com/s/1sv9qdioNF4PTUliix5HEfg 提取码: 2dwq

5、WebSploit Labs

https://websploit.org/

#安装
curl -sSL https://websploit.org/install.sh | sudo bash

#更新
wget https://websploit.org/update.sh
sudo bash update.sh

Bash

-END-

▎经典文章精选

安全攻防 | APP抓包大全

安全攻防 | frp内网穿透

安全攻防 | mysql安全问题及修复方式

安全攻防 | MSF生成Payload方式总结

安全攻防 | 浅谈ms17-010多种利用方式

安全攻防 | CobaltStrike与水坑攻击的联动

安全攻防 | 记一次sql注入到内网漫游

安全攻防 | 多种方式关闭讨厌的defender!

题外话

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:

  • 2023届全国高校毕业生预计达到1158万人,就业形势严峻;

  • 国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

2022届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。

“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。

网络安全行业特点

1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

题外话

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的网安视频教程,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。

内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,200多G的资源,不用担心学不全。
在这里插入图片描述
因篇幅有限,仅展示部分资料,需要见下图即可前往获取
在这里插入图片描述

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要见下图即可前往获取
在这里插入图片描述

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话见下图即可前往获取
在这里插入图片描述

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要见下图即可前往获取
在这里插入图片描述

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

靶场,是指为信息安全人员提供实战演练、渗透测试和攻防对抗等训练环境的虚拟或实体场地。在不同的领域中,靶场扮演着重要的角色,尤其是在网络安全领域,靶场成为培养和提高安全专业人员技能的重要平台。 首先,靶场安全从业者提供了一个模拟真实网络环境的平台。通过构建类似实际网络的拓扑结构、部署各种安全设备和应用,靶场可以模拟出多样化的网络攻防场景。这使得安全人员能够在安全的环境中进行实际操作,全面提升其实战能力。 其次,靶场是渗透测试和漏洞攻防演练的理想场所。在靶场中,安全专业人员可以模拟攻击者的行为,发现系统和应用的漏洞,并进行渗透测试,从而及时修复和改进防御机制。同时,这也为防御方提供了锻炼机会,通过对抗攻击提高防御能力。 靶场的搭建还促进了团队协作与沟通。在攻防对抗中,往往需要多人协同作战,团队成员之间需要密切配合,共同制定攻击和防御策略。这有助于培养团队合作意识,提高协同作战的效率。 此外,靶场为学习者提供了一个安全的学习环境。在靶场中,学生可以通过实际操作掌握安全知识,了解攻击技术和防御策略。这样的学习方式比传统的理论课程更加生动直观,有助于深化对安全领域的理解。 最后,靶场也是安全社区交流的平台。在靶场中,安全从业者可以分享攻防经验,交流最新的安全威胁情报,共同探讨解决方案。这有助于建立更广泛的安全社区,推动整个行业的发展。 总体而言,靶场在信息安全领域具有重要地位,为安全专业人员提供了实战演练的机会,促进了团队协作与沟通,为学习者提供了安全的学习环境,同时也是安全社区交流的重要平台。通过靶场的实践操作,安全从业者能够更好地应对不断演变的网络威胁,提高整体的安全水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网安导师小李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值