前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何利用Kurukshetra以交互式的方式学习如何进行安全编码

如何利用Kurukshetra以交互式的方式学习如何进行安全编码

作者头像
FB客服
发布2023-09-19 08:26:57
1500
发布2023-09-19 08:26:57
举报
文章被收录于专栏:FreeBuf
关于Kurukshetra

Kurukshetra是一款功能强大的开源框架,该框架的主要目标就是通过交互式的问题解决方式来告诉广大研究人员或开发人员如何能够更好地实现安全编码。Kurukshetra本质上是一个Web框架,并未托管合理复杂的安全编码挑战提供坚实的基础,同时仍然能够根据用户输入高效动态地在安全的沙盒环境中执行每个挑战。

Kurukshetra由两个组件组成,一个是用PHP编写的后端框架,它的任务是管理并利用底层Docker系统为挑战执行提供安全的沙盒环境;另一个组件则是前端部分,它是一个面向用户的Web应用程序,主要负责提供所有必要的控制机制,供管理员托管和修改挑战,用户执行和查看每个输入的结果。

支持的平台

Kurukshetra已经在Ubuntu/Debian(基于apt-get的发行版)和Mac操作系统上进行了测试。理想情况下,它可以在任何安装了PHP 7.2、MySQL和Docker(以及启用了远程API)的Linux的发行版操作系统上正常运行

工具要求

该工具的正常运行需要使用到下列依赖组件以及配置参数:

1、Git客户端:sudo apt-get install git; 2、PHPv7.2:sudo apt-ge install php7.2-curl php7.2-mbstring php7.2-mysql; 3、MySQL:sudo apt-get install mysql-server; 4、Docker; 5、启用DockerAPI; 6、在/var/config/路径下创建一个文件夹,权限设置为www;

工具安装

该工具的安装非常简单,广大研究人员只需要将该项目源码克隆至本地:

代码语言:javascript
复制


git clone https://github.com/a0xnirudh/kurukshetra.git

然后切换到项目目录中,创建目录并提供对应权限即可:

代码语言:javascript
复制
cd kurukshetra

cp -r * /var/www/html/

chmod 755 -R /var/www/html

Docker容器配置

Kurukshetra使用Dockers API来运行用户提交的代码。在我们使用docker API之前,需要一次性配置,操作如下所示:

1、获取Docker镜像:docker pull phusion/baseimage:latest; 2、切换到安装目录:cd installation/optional/; 3、使用Dockerfile构建Kurukshetra镜像:docker build -t kurukshetra .;

除此之外,你也可以直接运行下列命令自动化完成工具Docker镜像的安装与配置:

代码语言:javascript
复制
cd installation/optional/

python install.py

工具使用

完成工具安装与配置后,我们就可以访问http://localhost或http://127.0.0.1来进入安装页面了:

输入MySQL数据库凭证,并点击验证,然后输入Google OAuth的Client ID和Client密钥,并确保重定向URL设置为了http://your-domain.com/login/index.php。

此时,我们就可以开始使用Kurukshetra了。

工具运行截图

挑战列表页面:

挑战解决页面:

管理员面板(统计数据):

管理员挑战修改/添加页面:

容器管理:

工具演示视频

管理员功能演示:https://www.youtube.com/watch?v=yrfmyz3p9a4

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可证协议。

项目地址

Kurukshetra:https://github.com/a0xnirudh/kurukshetra

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-14 19:34,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 支持的平台
  • 工具要求
  • 工具安装
    • Docker容器配置
    • 工具使用
    • 工具运行截图
    • 工具演示视频
    • 许可证协议
    • 项目地址
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档