您当前的位置:首页 > 电脑百科 > 程序开发 > 架构

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

时间:2023-09-15 13:34:24  来源:  作者:Alpha_h4ck

关于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;

工具安装

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

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

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

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镜像的安装与配置:

cd installation/optional/

Python/ target=_blank class=infotextkey>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了。

工具运行截图

挑战列表页面:

挑战解决页面:

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

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

容器管理:

工具演示视频

管理员功能演示:【点我观看】

许可证协议

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

项目地址

Kurukshetra:【GitHub传送门】

参考资料

https://docs.kurukshetra.io/

https://docs.docker.com/engine/api/v1.24/

https://askubuntu.com/a/856794

https://docs.docker.com/install/

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04

https://success.docker.com/article/how-do-i-enable-the-remote-api-for-dockerd

https://www.YouTube.com/watch?v=yrfmyz3p9a4

本文作者:Alpha_h4ck, 转载请注明来自FreeBuf.COM



Tags:Kurukshetra   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除。
▌相关推荐
关于KurukshetraKurukshetra是一款功能强大的开源框架,该框架的主要目标就是通过交互式的问题解决方式来告诉广大研究人员或开发人员如何能够更好地实现安全编码。Kurukshetr...【详细内容】
2023-09-15  Tags: Kurukshetra  点击:(0)  评论:(0)  加入收藏
▌简易百科推荐
关于KurukshetraKurukshetra是一款功能强大的开源框架,该框架的主要目标就是通过交互式的问题解决方式来告诉广大研究人员或开发人员如何能够更好地实现安全编码。Kurukshetr...【详细内容】
2023-09-15  Alpha_h4ck    Tags:Kurukshetra   点击:(0)  评论:(0)  加入收藏
在 JDK1.8 中,HashMap 还引入了一个新的概念,叫做负载因子(load factor),它是指哈希表中键值对的数量与数组长度的比值。当键值对的数量超过了负载因子与数组长度的乘积时,就会...【详细内容】
2023-09-15  微风01  今日头条  Tags:HashMap   点击:(0)  评论:(0)  加入收藏
环境:SpringBoot2.5.13Spring Cloud Gateway提供了一个名为ProxyExchange的实用程序对象。你可以在常规Spring web处理程序中使用它作为方法参数。它通过镜像HTTP动词的方法...【详细内容】
2023-09-15   Spring全家桶实战案例源码    Tags:Spring Cloud   点击:(0)  评论:(0)  加入收藏
在 Spring Boot 中,拦截器和动态代理都是用来实现功能增强的,所以在很多时候,有人会认为拦截器的底层是通过动态代理实现的,所以本文就来盘点一下他们两的区别,以及拦截器的底层...【详细内容】
2023-09-15  Java中文社群  微信公众号  Tags:SpringBoot   点击:(1)  评论:(0)  加入收藏
1 判断类型注入的属性判断其类型: Optional ObjectFactory ObjectProvider javax.inject.Providerpublic class DefaultListableBeanFactory extends AbstractAutowireCapabl...【详细内容】
2023-09-14  Spring全家桶实战案例源码    Tags:Spring   点击:(1)  评论:(0)  加入收藏
RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。我之前的HTTP开发是用apache的Htt...【详细内容】
2023-09-14  PlayInJava  今日头条  Tags:Springboot   点击:(4)  评论:(0)  加入收藏
本文目录- 说在前面- 喜马拉雅自研亿级API网关技术实践- 1、第1版:Tomcat NIO+Async Servlet- 2、第2版:Netty+全异步 - 2.1 接入层 - 2.2 业务逻辑层 - 2.3 服务调用层...【详细内容】
2023-09-14  技术老男孩  微信公众号  Tags:架构设计   点击:(0)  评论:(0)  加入收藏
1、含义不同微服务架构是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中。分布式系统是若干独立计算机的集合,这些计算机对用户来说就像单个相...【详细内容】
2023-09-13  AI改变你我  微信公众号  Tags:架构   点击:(4)  评论:(0)  加入收藏
分布式锁是一种用于保证分布式系统中多个进程或线程同步访问共享资源的技术。同时它又是面试中的常见问题,所以我们本文就重点来看分布式锁的具体实现(含实现代码)。在分布式系...【详细内容】
2023-09-13  Java中文社群    Tags:分布式锁   点击:(0)  评论:(0)  加入收藏
大家好,我是不才陈某~在排查线上异常的过程中,查询日志总是必不可缺的一部分。现今大多采用的微服务架构,日志被分散在不同的机器上,使得日志的查询变得异常困难。工欲善其事,必...【详细内容】
2023-09-13  码猿技术专栏  微信公众号  Tags:Spring Boot   点击:(5)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条