CTF靶场集合大放送(非常详细)零基础入门到精通,收藏这一篇就够了

253 篇文章 0 订阅
252 篇文章 2 订阅

针对github上面的靶场进行调研

在这里插入图片描述

先说一些个人觉得比较好的

CTFd

CTF平台的鼻祖网站

项目地址:https://github.com/CTFd/CTFd

在这里插入图片描述

建CTF平台首选,实际上也没有太多别的选择orz

CTFd是一款基于Apache2.0协议的开源CTF平台,最新版本目前为3.5.1。该平台功能强大,基本上能够满足目前的CTF竞赛需求,同时,该平台提供了强大的插件功能,可以自己进行插件开发实现自己的功能。

CTFD docker搭建

docker方式一般都不会遇到啥问题,这里就跳过了

CTFD源码搭建

在本地进行搭建方便调试

我本地的python环境是3.8.10,下载CTFD版本为3.5.1当前最新版

在这里插入图片描述

下载项目代码

在这里插入图片描述

设置一下虚拟环境防止项目包混乱

在这里插入图片描述

terminal打开虚拟环境,安装库文件

`pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple` 

安装进行中

在这里插入图片描述

安装完成后执行 python server.py

突然的一个问题

运行的时候显示

* Importing gevent and monkey patching. Use --disable-gevent to disable.

INFO [alembic.runtime.migration] Context impl SQLiteImpl.

INFO [alembic.runtime.migration] Will assume non-transactional DDL.

INFO [alembic.runtime.migration] Running stamp_revision -> 46a278193a94

* Loaded module, <module ‘CTFd.plugins.challenges’ from ‘C:\Users\Cl0udG0d\Desktop\temp\CTFd-3.5.1\CTFd-3.5.1\CTFd\plugins\challenges\init.py’>

* Loaded module, <module ‘CTFd.plugins.dynamic_challenges’ from ‘C:\Users\Cl0udG0d\Desktop\temp\CTFd-3.5.1\CTFd-3.5.1\CTFd\plugins\dynamic_challenges\init.py’>

* Loaded module, <module ‘CTFd.plugins.flags’ from ‘C:\Users\Cl0udG0d\Desktop\temp\CTFd-3.5.1\CTFd-3.5.1\CTFd\plugins\flags\init.py’>

* Serving Flask app “CTFd” (lazy loading)

* Environment: development

* Debug mode: on

INFO [werkzeug] * Restarting with stat

然后服务一直没有起来

在这里插入图片描述

试了一下还是不行

python serve.py --disable-gevent

查一下 https://github.com/CTFd/CTFd/issues/1855

采用flask run的方式启动

在这里插入图片描述

在这里插入图片描述

现在能够正常访问了

在这里插入图片描述

目录结构

在这里插入图片描述

CTFd   ├──conf 配置文件,这里面是nginx的配置   ├──CTFd 网站主要源码   ├──migrations flask数据库迁移文件   ├──scripts  docker安装相关的脚本,具体的操作后面进行分析   └──tests 测试代码   

在这里插入图片描述

这部分见名知意了

├──CTFd 网站主要源码   │  ├── admin 管理后台页面路由   │  ├── api 信息查询api接口/api/v1/???   │  ├── cache 清理缓存相关   │  ├── constants 一些常量   │  ├── events 事件实时通知接口(长链接)   │  ├── exceptions 定义错误类型   │  ├── forms 对表单数据进行获取和过滤   │  ├── logs 分类日志文件   │  ├── models 数据库model   │  ├── plugins 插件目录   │  ├── schemas 模式,对数据库数据传入规范化   │  ├── themes 主题,网页文件   │  ├── uploads 默认文件上传目录   │  ├── utils 工具类   └──   

该目录下的其他的文件是路由文件,在__init__.py里面可以看到注册蓝图

app.register_blueprint(views)   app.register_blueprint(teams)   app.register_blueprint(users)   app.register_blueprint(challenges)   app.register_blueprint(scoreboard)   app.register_blueprint(auth)   app.register_blueprint(api)   app.register_blueprint(events)      app.register_blueprint(admin)   

H1ve

https://github.com/D0g3-Lab/H1ve

H1ve是一款自研CTF平台,同时具备解题、攻防对抗模式。其中,解题赛部分对Web和Pwn题型,支持独立题目容器及动态Flag防作弊。攻防对抗赛部分支持AWD一键部署,并配备炫酷地可视化战况界面。

道格战队出品,docker一键安装

在这里插入图片描述

vulfocus

https://github.com/fofapro/vulfocus

虽然但是,vulfocus有这样的一行话

漏洞靶场是目前每个安全人员以及想学习信息安全的人必备的东西,但目前商业化产品居多,还有一些类似 dvwa、 sqli-labs 这类的开源项目,但是漏洞环境比较固定,使用完一次后就失去其作用。搭建的成本过高,每次启动的流程会比较繁琐,甚至很多场景是不满足的,之前关于漏洞环境镜像使用多的是 vulhub,但是作为企业、高校等以及相关的培训,单纯的漏洞环境不一定能满足使用的需求,所以我们基于当下的一些靶场项目做出了小小的改进来符合我们的一些需求,比如增加 flag 的形式,来满足一些考核与验证的需求,可以对我们内部人员能力进行考核,于是 Vulfocus 就诞生了。

如上介绍的这些项目,大部分都是跟DVWA类似,可能使用完一次之后就失去了作用,而且启动的流程比较繁琐,虽然有的配套了docker环境,但还是缺乏扩展性

想要靶场保持生命力,除了有高质量的题目外,靶场还需要有良好的扩展性

在这里插入图片描述

靶场的框架很容易就能够搭建,但里面的用例和靶场环境需要通过有生命力的社区来定期长时间更新

关于vulfocus的搭建…(下篇说

vulhub

https://github.com/vulhub/vulhub

vulhub,不多说了

在这里插入图片描述

ElectricRat

新出的电气鼠靶场

https://github.com/linjiananallnt/ElectricRat

在这里插入图片描述

vulstudy

https://github.com/c0ny1/vulstudy

粘合剂项目

在这里插入图片描述

同时运行所有平台

cd vulstudy

docker-compose up -d #启动容器

docker-compose stop #停止容器

单独运行某一平台

cd vulstudy/XSSed

docker-compose up -d #启动容器

docker-compose stop #停止容器

都是通过docker-compose.yml文件来进行控制,把不同靶场的80端口映射出去

在这里插入图片描述

DVWA

https://github.com/digininja/DVWA

WEB安全的应该没有不知道这个靶场的吧

可能有先入为主的原因,我个人觉得这种界面还挺好的,但是这个是综合类的靶场

在这里插入图片描述

sqli-labs

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

SQL注入的王牌靶场

在这里插入图片描述

安装步骤是:

  • 修改配置文件的数据库账号密码

  • 在网页上点击Setup/reset Database初始化数据库

  • 进行对应关卡的挑战即可

upload-labs

不得不说c0ny1师傅做的靶场很优雅捏

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

在这里插入图片描述

不足的地方在于这种界面和模式对于文件上传比较合适,因为文件上传的每个界面都差不多,只需要有一个文件上传的按钮即可。但是对于安全开发的靶场来说每个题目的环境可能都是不一样的,所以相关的界面定制化比较多

显示源码和查看提示功能可以参考

pikachu

https://github.com/zhuifengshaonianhanlu/pikachu

综合类靶场

在这里插入图片描述

PHP训练靶场

https://github.com/admin360bug/PHP

在这里插入图片描述

蒽…这界面,直接下一个吧

SecExample

https://github.com/tangxiaofeng7/SecExample

JAVA 漏洞靶场,界面略粗糙

在这里插入图片描述

Vub_ENV

https://github.com/yaofeifly/Vub_ENV

跟踪真实漏洞相关靶场环境搭建

看到这个项目就很快会想到vulhub,虽然跟踪真实漏洞环境搭建很有意义,但是在vulhub的漏洞环境数量面前就拼不过了,所以需要做出差异性才可以。

我们的差异性在于每一个漏洞环境都能够锻炼靶场联系者的脚本编写能力,并且靶场要么来自真实漏洞挖掘经历,要么就是平时渗透、安全开发过程中经常遇到的情况

WebBug

https://github.com/mysticbinary/WebBug

综合类靶场,感觉没有什么特色

在这里插入图片描述

sstilabs

https://github.com/X3NNY/sstilabs

SSTI专门的靶场

在这里插入图片描述

xss-demo

https://github.com/haozi/xss-demo

示例网址:https://xss.haozi.me/

界面还挺有趣的

在这里插入图片描述

xxe-lab

https://github.com/c0ny1/xxe-lab

XXE专用靶场

在这里插入图片描述

VulnRange

https://github.com/wgpsec/VulnRange

粗糙版vulfocus

在这里插入图片描述

FoxTown

https://github.com/smallfox233/FoxTown

狐狸小镇

在这里插入图片描述

RootTheBox

从雪殇的博客看到的 - http://www.snowywar.top/?p=2711

项目链接:https://github.com/moloch–/RootTheBox

界面很炫酷,我直接复制雪殇的结论吧

优点:功能多,平台有趣,自带中文,玩法多,搭建速度块,内置多种玩法,可以二次开发

缺点:功能繁琐,分类不明确,归类困难,不适合搭建训练靶场,不能在题目上直接上传附件(痛点)

评价:那这个靶场用作内部训练过一段时间,除了分类困难,其他都挺好用的,内置翻译准确的中文就可以吊打众多靶场了,用作比赛平台还是非常不错的选择,同时还内置了cyberchif,非常的给力。

在这里插入图片描述

在这里插入图片描述

Sieberrsec CTF

项目地址 https://github.com/IRS-Cybersec/ctf_platform

使用 ReactJS 和 NodeJS 编写,界面好二次元

不过我没有NodeJS的编写经验,如果要魔改起来比较费劲

在这里插入图片描述

参考链接

  • http://www.snowywar.top/?p=2711

总结

后续的主要关注点会在 vulfocus 和 RootTheBox 上

**题外话

黑客&网络安全如何学习

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

1.学习路线图

在这里插入图片描述

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

2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

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

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

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

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

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

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

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

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

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

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

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

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

  • 13
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CTF入门基础知识是指在CTF(Capture The Flag)比赛中,掌握关于堆(heap)的一些基础知识。堆是计算机内存的一部分,用于存储动态分配的数据。在堆中,数据可以通过malloc()和free()这样的函数进行分配和释放。 为了应对CTF堆相关的问题和挑战,以下是几个基础知识点: 1. 堆管理:了解堆内存的布局,包括堆段(heap segment)的起始地址、结束地址以及分配的内存块。此外,还需要了解堆块(heap chunk)的结构,包括堆块的头部和尾部。堆块中的元数据通常用于管理分配和释放。对于不同的堆管理器,其堆块结构可能有所不同。 2. 溢出漏洞:堆溢出是一种常见的漏洞类型。当程序没有正确地管理堆内存时,会导致堆溢出漏洞。攻击者可以通过溢出篡改重要的数据或劫持程序流程。学习如何利用堆溢出漏洞可以帮助我们理解程序的弱点以及如何加强安全性。 3. 堆分配技巧:在CTF中,有时需要进行堆分配,比如分配特定大小的堆块或者创建一定数量的堆块。掌握一些堆分配技巧可以帮助我们解决一些堆相关的CTF问题。 4. 堆利用技术:了解堆利用技术是掌握CTF堆基础的重要部分。常见的堆利用技术包括重叠堆块、fastbin攻击、unsorted bin攻击等。通过这些技术,攻击者可以在利用堆溢出漏洞时实现特定的攻击目标。 以上是CTF入门基础知识的一些关键点。通过学习和实践,逐渐掌握这些知识可以帮助我们在CTF比赛中更好地理解和解决堆相关的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值