Giter VIP home page Giter VIP logo

h1ve's Introduction

issues forks stars license

What is H1ve

An Easy / Quick / Cheap Integrated Platform

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

How to use

git clone https://github.com/D0g3-Lab/H1ve.git
cd H1ve

Single Mode (Recommended)

docker-compose -f single.yml up

Single-Nginx Mode

docker-compose -f single-nginx.yml up

Know more on the wiki

Plugins Settings

CTFd-Owl

CTFd-Glowworm

Aliyun-Instance

Architecture

Open Source Schedule

一体化自研版基于Flask、Docker、d3.JS、layui编写,已应用到数次AWD训练赛中,但由于前端框架layui为付费开发框架,不宜开源,目前仅在内部使用。

Live Demo

解题赛CTFd版

https://ctf.d0g3.cn

https://ctf.dao.ge (备用)

平台首页

CTF Challenge

基于CTFd进行二次开发,在保留CTFd稳定性的情况下,提供优化版前端界面,队伍隔离容器,动态Flag机制。

攻防对抗赛CTFd版

AWD Challenge

一体化自研版

初始化比赛信息

排行榜

银河麒麟版

编译界面

Project Vision

该平台设计的初衷,是为网安人才培养领域提供一个低成本、高成效的教学平台。希望通过线上解题、线下ADA赛制自动化部署流程,降低比赛举办难度。

希望能为新晋CTF战队提供简单易用的训练平台,并希望通过AWD,将攻防对抗体验引进大学、中学课堂,引导网安科班生建立兴趣,降低攻防技术的学习成本,进而逐步精进自身的网络安全实战技术。

Bugs Bounty Plan

若在使用过程中发现了平台Bug,欢迎提交Issue,我们会尽快修复。 贡献者ID将被加入平台的贡献者荣誉列表。 并有机会获得D0g3年度纪念礼品(定制T恤、感谢Logo银贴等)

Suggestions Bounty Plan

如果有哪些有助于“项目愿景”实现的意见和建议,欢迎提交Issue,或在“道格安全”官方微信公众号中留言。 重大可行建议贡献者的ID将被加入平台贡献者荣誉列表。

Copyright Affirm

本项目遵循Apache License 2.0开源许可

各大高校、安全团队、技术爱好者可随意使用该平台作为训练平台或举办内部训练赛,欢迎使用该平台进行公益性技术分享。

但不允许在未经许可的情况下,使用该平台代码开展商业培训、商业比赛、产品销售。尤其禁止恶意更换平台Logo及界面,开展任何营利性行为。

一经发现,使用者ID、相关商业机构名称将被挂在Github项目“抄袭者列表”。 同时D0g3,保留追究其法律责任的权力。

h1ve's People

Contributors

0akarma avatar ph0rse avatar threezh1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

h1ve's Issues

举办200人左右的比赛平台异常缓慢等问题

New Issue Checklist (自检清单)

  • [Y] Updated H1ve to the latest version (是否更新到最新版本)
  • [ Y] I have read the README
  • [ Y] I searched for existing GitHub issues

Issue Description (问题描述)

使用Hive平台举办了公司内部的CTF线上赛(解题赛),采用docker single部署方式,分配了12C 100G的虚机,60多支队伍,200人左右同时比赛,出现很多问题,主要有如下几个,不知是什么原因。
1、Redis连接数无法释放,超过最大值后报502错误(设置了timeout和增加最大连接数也无法缓解,最后写脚本定期清理连接数才有所缓解)。
2、平台在5到8分钟后会突然开始异常缓慢,页面需要数分钟才能打开,强行重启hive主进程有所缓解,但是重启5到8分钟后又开始异常缓慢(但是此时查看宿主机的cpu内存等各项参数都正常)。
3、动态容器的题目小部分队伍(不到10支)开启成功后,后续的队伍开启时报ipv4的错误。
4、平台自动运行一段时间(可能是几天,也可能是几小时),莫名其妙崩溃无法访问。
5、平台报502错误后,强行重启服务器(重启系统)一定概率强制进入setup页面,之后重启3到4次后回复正常。

Version & Environment (系统/环境版本)

  • Docker version 19.03.12, build 48a66213fe
  • docker-compose version 1.26.2, build eefe0d31
  • Os Version Ubuntu 19.10
  • Browser Version Google Chrome 版本 87.0.4280.88(正式版本) (64 位)

redis.exceptions.ConnectionError: max number of clients reached

New Issue Checklist (自检清单)

Issue Description (问题描述)

服务器使用一段时间后会出现500问题,查看ErrorLog典型错误如下:

[2020-03-16 11:00:43,372] ERROR in app: Exception on /themes/H1ve-theme/static/img/favicon.ico [GET]
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 755, in execute_command
    return self.parse_response(connection, command_name, **options)
  File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 768, in parse_response
    response = connection.read_response()
  File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 636, in read_response
    raise e
  File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 633, in read_response
    response = self._parser.read_response()
  File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 308, in read_response
    raise error
redis.exceptions.ConnectionError: max number of clients reached

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2291, in wsgi_app
    ctx.push()
  File "/usr/local/lib/python3.7/site-packages/flask/ctx.py", line 377, in push
    self.app, self.request
  File "/home/ec2-user/H1ve/CTFd/utils/sessions/__init__.py", line 66, in open_session
    val = cache.get(self.key_prefix + sid)
  File "/usr/local/lib/python3.7/site-packages/flask_caching/__init__.py", line 233, in get
    return self.cache.get(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/werkzeug/contrib/cache.py", line 631, in get
    return self.load_object(self._client.get(self.key_prefix + key))
  File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 1207, in get
    return self.execute_command('GET', name)
  File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 761, in execute_command
    return self.parse_response(connection, command_name, **options)
  File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 768, in parse_response
    response = connection.read_response()
  File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 636, in read_response
    raise e
  File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 633, in read_response
    response = self._parser.read_response()
  File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 308, in read_response
    raise error
redis.exceptions.ConnectionError: max number of clients reached
[2020-03-16 11:00:43,533] ERROR in app: Request finalizing failed with an error while handling an error
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 755, in execute_command
    return self.parse_response(connection, command_name, **options)
  File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 768, in parse_response
    response = connection.read_response()
  File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 636, in read_response
    raise e
  File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 633, in read_response
    response = self._parser.read_response()
  File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 308, in read_response
    raise error
redis.exceptions.ConnectionError: max number of clients reached

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2291, in wsgi_app
    ctx.push()
  File "/usr/local/lib/python3.7/site-packages/flask/ctx.py", line 377, in push
    self.app, self.request
  File "/home/ec2-user/H1ve/CTFd/utils/sessions/__init__.py", line 66, in open_session
    val = cache.get(self.key_prefix + sid)
  File "/usr/local/lib/python3.7/site-packages/flask_caching/__init__.py", line 233, in get
    return self.cache.get(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/werkzeug/contrib/cache.py", line 631, in get
    return self.load_object(self._client.get(self.key_prefix + key))
  File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 1207, in get
    return self.execute_command('GET', name)
  File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 761, in execute_command
    return self.parse_response(connection, command_name, **options)
  File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 768, in parse_response
    response = connection.read_response()
  File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 636, in read_response
    raise e
  File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 633, in read_response
    response = self._parser.read_response()
  File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 308, in read_response
    raise error
redis.exceptions.ConnectionError: max number of clients reached

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1833, in finalize_request
    response = self.process_response(response)
  File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2114, in process_response
    self.session_interface.save_session(self, ctx.session, response)
  File "/home/ec2-user/H1ve/CTFd/utils/sessions/__init__.py", line 80, in save_session
    if session.modified:
AttributeError: 'NoneType' object has no attribute 'modified'

Version & Environment (系统/环境版本)

  • Docker Version: Docker version 17.03.2-ce, build f5ec1e2
  • Docker-compose Version: docker-compose version 1.25.4, build unknown
  • Os Version: Amazon Linux 2 AMI

docker 无法启动frps容器

WARNING: The Docker Engine you're using is running in swarm mode.

Compose does not use swarm mode to deploy services to multiple nodes in a swarm. All containers will be scheduled on the current node.

To deploy your application across the swarm, use docker stack deploy.

Creating network "h1ve_internal" with the default driver
Creating network "h1ve_default" with the default driver
Creating network "h1ve_frp_containers" with driver "bridge"
Creating network "h1ve_frp" with driver "bridge"
Creating h1ve_frpc_1 ...
Creating h1ve_cache_1 ...
Creating h1ve_db_1 ...
Creating h1ve_frpc_1 ... done
Creating h1ve_cache_1 ... done
Creating h1ve_db_1 ... donedbf3af3bfa65dfdbd751f9e058): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use
Creating h1ve_main_1 ... done

ERROR: for frps Cannot start service frps: driver failed programming external connectivity on endpoint h1ve_frps_1 (67fe2be4666c55f056258269b36c27f345fa54dbf3af3bfa65dfdbd751f9e058): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use
ERROR: Encountered errors while bringing up the project.

h1ve_main_1 exited with code 126

New Issue Checklist (自检清单)

Issue Description (问题描述)

删除H1ve目录下的.data隐藏文件夹
docker-compose.yml down
修改single-nginx.yml文件中db的镜像版本为 mariadb:10.4.12
重新建立项目
执行以上操作依然提示 h1ve_main_1 exited with code 126 无法运行

Version & Environment (系统/环境版本)

  • Docker Version
    docker version
    Client: Docker Engine - Community
    Version: 19.03.13
    API version: 1.40
    Go version: go1.13.15
    Git commit: 4484c46d9d
    Built: Wed Sep 16 17:03:45 2020
    OS/Arch: linux/amd64
    Experimental: false

Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:02:21 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.3.7
GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683

  • Docker-compose Version
    docker-compose version 1.25.1, build a82fef07
    docker-py version: 4.1.0
    CPython version: 3.7.4
    OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019

  • Os Version
    Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

  • Browser Version

awd插件初始化失败和容器无法启动

New Issue Checklist (自检清单)

Issue Description (问题描述)

Version & Environment (系统/环境版本)

  • Docker Version 19.03.8
  • Docker-compose Version 1.25.4
  • Os Version centos8
  • Browser Version firefox 76.0.1

awd初始化的时候失败,并且弹出:int() argument must be a string, a bytes-like object or a number, not 'NoneType'

在启动容器的时候,我看到log文件-p的端口有问题,可能这个就是导致我无法正常启动容器的原因,但是我并不知道该如何去修复它,我尝试过重启,并没有什么用处:

docker: invalid publish opts format (should be name=value but got '110280:8000').

docker run -tid --restart=on-failure:10 --privileged --name Team2_web_pyblog --cpus=0.5 -m 512M -v "/root/H1ve/CTFd/plugins/ctfd_glowworm/华理CTF/team2/web_pyblog/conf":"/conf" -p 110280:8000 -p 110222:22 --network h1ve_frp_containers d0g3/web_pyblog "/conf/service.sh"

而且,我明明设置的1024M,但是这里却是512M,我在里面设置的随机端口是30000-40000,但是好像并没有起作用。

希望师傅能帮我解决一下这个问题,谢谢师傅

redis的问题

New Issue Checklist (自检清单)

Issue Description (问题描述)

redis连接数会随着页面的访问一直增加,直到到达最大连接数(默认为10000)后便无法连接,于是乎便500了。

img1

img2

img3

重启redis后恢复正常,但一段时间后出现相同问题。试过在redis中设置timeout无果,怀疑是没有释放redis连接造成的。

Version & Environment (系统/环境版本)

  • Docker Version 19.03.5
  • Docker-compose Version 1.23.1
  • Os Version centos7

/admin/statistics 中视图显示异常

其他一切正常,也pull到了最新,就是admin/statistics中的以下代码所在的图表显示异常。
div class="row"

  div class="col-md-12"
  div id="solve-percentages-graph"
  div class="text-center"
  i class="fas fa-circle-notch fa-spin fa-3x fa-fw spinner" /i
  /div
  /div
  /div
  /div>
error

awd插件的问题

问题:

按照readme所给的步骤做,但是在初始化的时候出错了。
image

我的配置:

题目:
image

插件:
image
这边是有那个镜像的,并且镜像可用
image

Version & Environment (系统/环境版本)

  • Docker版本:19.03.5
  • Docker-compose:1.23.1
  • Os Version:centos7

安装中docker-compose -f single.yml up问题

h1ve_main_1 exited with code 1
main_1 | db is ready
main_1 | Traceback (most recent call last):
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
main_1 | cursor, statement, parameters, context
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
main_1 | cursor.execute(statement, parameters)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/cursors.py", line 170, in execute
main_1 | result = self._query(query)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/cursors.py", line 328, in _query
main_1 | conn.query(q)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 516, in query
main_1 | self._affected_rows = self._read_query_result(unbuffered=unbuffered)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 727, in _read_query_result
main_1 | result.read()
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 1066, in read
main_1 | first_packet = self.connection._read_packet()
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 683, in _read_packet
main_1 | packet.check_error()
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/protocol.py", line 220, in check_error
main_1 | err.raise_mysql_exception(self._data)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
main_1 | raise errorclass(errno, errval)
main_1 | pymysql.err.InternalError: (1060, "Duplicate column name 'captain_id'")
main_1 |
main_1 | The above exception was the direct cause of the following exception:
main_1 |
main_1 | Traceback (most recent call last):
main_1 | File "manage.py", line 8, in
main_1 | app = create_app()
main_1 | File "/opt/H1ve/CTFd/init.py", line 156, in create_app
main_1 | upgrade()
main_1 | File "/usr/local/lib/python3.7/site-packages/flask_migrate/init.py", line 95, in wrapped
main_1 | f(*args, **kwargs)
main_1 | File "/usr/local/lib/python3.7/site-packages/flask_migrate/init.py", line 280, in upgrade
main_1 | command.upgrade(config, revision, sql=sql, tag=tag)
main_1 | File "/usr/local/lib/python3.7/site-packages/alembic/command.py", line 298, in upgrade
main_1 | script.run_env()
main_1 | File "/usr/local/lib/python3.7/site-packages/alembic/script/base.py", line 489, in run_env
main_1 | util.load_python_file(self.dir, "env.py")
main_1 | File "/usr/local/lib/python3.7/site-packages/alembic/util/pyfiles.py", line 98, in load_python_file
main_1 | module = load_module_py(module_id, path)
main_1 | File "/usr/local/lib/python3.7/site-packages/alembic/util/compat.py", line 184, in load_module_py
main_1 | spec.loader.exec_module(module)
main_1 | File "", line 728, in exec_module
main_1 | File "", line 219, in _call_with_frames_removed
main_1 | File "migrations/env.py", line 89, in
main_1 | run_migrations_online()
main_1 | File "migrations/env.py", line 82, in run_migrations_online
main_1 | context.run_migrations()
main_1 | File "", line 8, in run_migrations
main_1 | File "/usr/local/lib/python3.7/site-packages/alembic/runtime/environment.py", line 846, in run_migrations
main_1 | self.get_context().run_migrations(**kw)
main_1 | File "/usr/local/lib/python3.7/site-packages/alembic/runtime/migration.py", line 520, in run_migrations
main_1 | step.migration_fn(**kw)
main_1 | File "/opt/H1ve/migrations/versions/b5551cd26764_add_captain_column_to_teams.py", line 32, in upgrade
main_1 | op.add_column('teams', sa.Column('captain_id', sa.Integer(), nullable=True))
main_1 | File "", line 8, in add_column
main_1 | File "", line 3, in add_column
main_1 | File "/usr/local/lib/python3.7/site-packages/alembic/operations/ops.py", line 1929, in add_column
main_1 | return operations.invoke(op)
main_1 | File "/usr/local/lib/python3.7/site-packages/alembic/operations/base.py", line 374, in invoke
main_1 | return fn(self, operation)
main_1 | File "/usr/local/lib/python3.7/site-packages/alembic/operations/toimpl.py", line 132, in add_column
main_1 | operations.impl.add_column(table_name, column, schema=schema, **kw)
main_1 | File "/usr/local/lib/python3.7/site-packages/alembic/ddl/impl.py", line 237, in add_column
main_1 | self._exec(base.AddColumn(table_name, column, schema=schema))
main_1 | File "/usr/local/lib/python3.7/site-packages/alembic/ddl/impl.py", line 140, in _exec
main_1 | return conn.execute(construct, *multiparams, **params)
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 988, in execute
main_1 | return meth(self, multiparams, params)
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/ddl.py", line 72, in _execute_on_connection
main_1 | return connection._execute_ddl(self, multiparams, params)
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1050, in _execute_ddl
main_1 | compiled,
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1248, in _execute_context
main_1 | e, statement, parameters, cursor, context
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1466, in _handle_dbapi_exception
main_1 | util.raise_from_cause(sqlalchemy_exception, exc_info)
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 383, in raise_from_cause
main_1 | reraise(type(exception), exception, tb=exc_tb, cause=cause)
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 128, in reraise
main_1 | raise value.with_traceback(tb)
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
main_1 | cursor, statement, parameters, context
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
main_1 | cursor.execute(statement, parameters)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/cursors.py", line 170, in execute
main_1 | result = self._query(query)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/cursors.py", line 328, in _query
main_1 | conn.query(q)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 516, in query
main_1 | self._affected_rows = self._read_query_result(unbuffered=unbuffered)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 727, in _read_query_result
main_1 | result.read()
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 1066, in read
main_1 | first_packet = self.connection._read_packet()
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 683, in _read_packet
main_1 | packet.check_error()
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/protocol.py", line 220, in check_error
main_1 | err.raise_mysql_exception(self._data)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
main_1 | raise errorclass(errno, errval)
main_1 | sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1060, "Duplicate column name 'captain_id'")
main_1 | [SQL: ALTER TABLE teams ADD COLUMN captain_id INTEGER]
main_1 | (Background on this error at: http://sqlalche.me/e/2j85)

New Issue Checklist (自检清单)

Issue Description (问题描述)

Version & Environment (系统/环境版本)

  • Docker Version
    image

  • Docker-compose Version
    image

  • Os Version
    image

  • Browser Version
    image

计分板问题

你好,测试过程中发现计分板没有一血二血图标,而且题目做出后没有那个对勾√,不知道什么原因?

端口问题

问题:

我设置的端口号分配是10000~20000,我按例子配置后能够正常运行docker,端口号也能正常变成,10001。但是我自己配置一个题目doker运行起来后端口不能正常的变成10001,而保持原本的docker-compose.yml中的不变。我的系统是ubuntu18.04,docker版本18.09.7,docker-compose版本1.21.2

image
image

我的题目配置:

image
image

插件配置:

image
image

正常启动后无法访问后台8000端口

New Issue Checklist (自检清单)

Issue Description (问题描述)

启动成功之后
image
无法访问8000端口 查看虚拟机8000端口没有打开,已经通过虚拟机IP:http://192.168.3.225:8000访问,没办法成功进入配置页面

image

Version & Environment (系统/环境版本)

  • Do
    image
    cker Version

  • Docker-compose Version
    image

  • Os Version
    image

  • Browser Version
    image

AWD模式docker启动报错

New Issue Checklist (自检清单)

Issue Description (问题描述)

Version & Environment (系统/环境版本)

  • Docker Version
  • Docker-compose Version
  • Os Version
  • Browser Version

我试实例的那个环境,有这个报错是为啥呢?
image

h1ve_main_1 exited with code 1

Issue Description

run command docker-compose -f single.yml up or docker-compose -f single-nginx.yml up happened same question

Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    app = create_app()
  File "/home/docker/H1ve/CTFd/__init__.py", line 156, in create_app
    upgrade()
  File "/usr/local/lib/python3.7/site-packages/flask_migrate/__init__.py", line 95, in wrapped
    f(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/flask_migrate/__init__.py", line 280, in upgrade
    command.upgrade(config, revision, sql=sql, tag=tag)
  File "/usr/local/lib/python3.7/site-packages/alembic/command.py", line 298, in upgrade
    script.run_env()
  File "/usr/local/lib/python3.7/site-packages/alembic/script/base.py", line 489, in run_env
    util.load_python_file(self.dir, "env.py")
  File "/usr/local/lib/python3.7/site-packages/alembic/util/pyfiles.py", line 98, in load_python_file
    module = load_module_py(module_id, path)
  File "/usr/local/lib/python3.7/site-packages/alembic/util/compat.py", line 184, in load_module_py
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "migrations/env.py", line 89, in <module>
    run_migrations_online()
  File "migrations/env.py", line 82, in run_migrations_online
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "/usr/local/lib/python3.7/site-packages/alembic/runtime/environment.py", line 846, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/usr/local/lib/python3.7/site-packages/alembic/runtime/migration.py", line 520, in run_migrations
    step.migration_fn(**kw)
  File "/home/docker/H1ve/migrations/versions/b5551cd26764_add_captain_column_to_teams.py", line 32, in upgrade
    op.add_column('teams', sa.Column('captain_id', sa.Integer(), nullable=True))
  File "<string>", line 8, in add_column
  File "<string>", line 3, in add_column
  File "/usr/local/lib/python3.7/site-packages/alembic/operations/ops.py", line 1929, in add_column
    return operations.invoke(op)
  File "/usr/local/lib/python3.7/site-packages/alembic/operations/base.py", line 374, in invoke
    return fn(self, operation)
  File "/usr/local/lib/python3.7/site-packages/alembic/operations/toimpl.py", line 132, in add_column
    operations.impl.add_column(table_name, column, schema=schema, **kw)
  File "/usr/local/lib/python3.7/site-packages/alembic/ddl/impl.py", line 237, in add_column
    self._exec(base.AddColumn(table_name, column, schema=schema))
  File "/usr/local/lib/python3.7/site-packages/alembic/ddl/impl.py", line 140, in _exec
    return conn.execute(construct, *multiparams, **params)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 988, in execute
    return meth(self, multiparams, params)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/ddl.py", line 72, in _execute_on_connection
    return connection._execute_ddl(self, multiparams, params)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1050, in _execute_ddl
    compiled,
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1248, in _execute_context
    e, statement, parameters, cursor, context
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1466, in _handle_dbapi_exception
    util.raise_from_cause(sqlalchemy_exception, exc_info)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 383, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 128, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
    cursor, statement, parameters, context
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.7/site-packages/pymysql/cursors.py", line 170, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.7/site-packages/pymysql/cursors.py", line 328, in _query
    conn.query(q)
  File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 516, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 727, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 1066, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 683, in _read_packet
    packet.check_error()
  File "/usr/local/lib/python3.7/site-packages/pymysql/protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1060, "Duplicate column name 'captain_id'")
[SQL: ALTER TABLE teams ADD COLUMN captain_id INTEGER]
(Background on this error at: http://sqlalche.me/e/2j85)

Version & Environment

OS Version

Ubuntu 18.04.4 LTS 

Docker-compose Version

docker-compose version 1.25.5, build 8a1c60f6

Docker Version

Docker version 19.03.8, build afacb8b7f0

Browser Version

Microsoft Edge 
Version 81.0.416.72 (Official build) (64-bit)

AWD端口号自动分配出错

在AWD题目设置中,已经设置了
Random Minimum Port
10000
Random Maximum Port
15000
但是平台自动分配的端口号是根据题目ID确定的,出现了>70000的端口号,是无法访问到的

图片
图片

1.1.3部署问题

New Issue Checklist (自检清单)

Issue Description (问题描述)

我使用的版本是release版本,1.1.3
image

通过docker-compose -f single.yml up -d通过浏览器无法访问
image
由于网络原因,修改了single.yml里的网络地址,修改后如下:

version: '3.5'

services:

  main:
    build:
      context: .
      args:
        - WORKDIR=$PWD
    image: h1ve-main
    user: root
    restart: always
    ports:
      - 8000:4000
    environment:
      - UPLOAD_FOLDER=/var/uploads
      - DATABASE_URL=mysql+pymysql://root:ctfd@db/ctfd
      - REDIS_URL=redis://cache:6379
      - WORKERS=1
      - LOG_FOLDER=/var/log/CTFd
      - ACCESS_LOG=/var/log/CTFd/access.log
      - ERROR_LOG=/var/log/CTFd/error.log
    volumes:
      - .data/CTFd/logs:/var/log/CTFd
      - .data/CTFd/uploads:/var/uploads
      - $PWD:$PWD
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - db
    networks:
      default:
      internal:
      frp_containers:
        ipv4_address: 10.201.0.10

  db:
    image: mariadb:10.4
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=ctfd
      - MYSQL_USER=ctfd
      - MYSQL_PASSWORD=ctfd
      - MYSQL_DATABASE=ctfd
    volumes:
      - .data/mysql:/var/lib/mysql
    networks:
      internal:
    # This command is required to set important mariadb defaults
    command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --wait_timeout=28800, --log-warnings=0]

  cache:
    image: redis:4
    restart: always
    volumes:
    - .data/redis:/data
    networks:
       internal:

  frps:
    image: d0g3/h1ve-frp
    # you can build image by yourself if you want.
    # build: ./frp
    restart: always
    volumes:
      - ./frp:/conf/
    ports:
      - 8001:80
    entrypoint:
      - /app/frps
      - -c
      - /conf/frps.ini
    networks:
      frp:
        ipv4_address: 10.200.0.3

  frpc:
    image: d0g3/h1ve-frp
    # you can build image by yourself if you want.
    # build: ./frp
    restart: always
    volumes:
      - ./frp:/conf/
    expose:
      - 7400
    entrypoint:
      - /app/frpc
      - -c
      - /conf/frpc.ini
    networks:
      frp:
        ipv4_address: 10.200.0.4
      frp_containers:

networks:
    default:
    internal:
        internal: true
    frp:
      name: "h1ve_frp"
      driver: bridge
      ipam:
        config:
          - subnet: 10.200.0.0/16
    frp_containers:
        name: "h1ve_frp_containers"
        driver: bridge
        ipam:
          config:
            - subnet: 10.201.0.0/16

容器都正常启动,并且访问无日志
image
image

Version & Environment (系统/环境版本)

  • Docker Version: 19.03.12, build 48a66213fe
  • Docker-compose Version: 1.27.2, build unknown
  • Os Version: CentOS Linux release 7.5.1804 (Core)
  • Browser Version: 85.0.4183.102

awd前台用户没有Instance Info

New Issue Checklist (自检清单)

  • Updated H1ve to the latest version (是否更新到最新版本)
    已经最新
  • I have read the README
    已经阅读
  • I searched for existing GitHub issues

Issue Description (问题描述)

awd比赛启动后,后台CTFd Glowworm Instances所有显示都有,但是前台Instance Info获取不到

Version & Environment (系统/环境版本)

  • Docker Version
    Docker version 1.13.1, build cccb291/1.13.1
  • Docker-compose Version
    docker-compose version 1.26.0-rc3, build 46118bc5
  • Os Version
  • Browser Version

404 error when updating glowworm configuration

Issue Description

I added glow_worm plugin to my CTFd v2.2.0, when I tried to update the settings on the Glowworm Configuration page("/plugins/ctfd-glowworm/admin/settings"), a 404 error occurred, I had no clue how it happened, is there something could be done to fix that problem? Thanks

Version & Environment

  • Docker Version
  • Docker-compose Version
  • Os Version Mac
  • Browser Version

I just used python serve.py to run my app, without docker.

Mariadb Datafile Error?

When I just use docker-compose -f single.yml up,the db1 container reports the following error:

db_1     | 2019-12-02 13:36:25 0 [Note] mysqld (mysqld 10.4.10-MariaDB-1:10.4.10+maria~bionic) starting as process 1 ...
cache_1  | 1:M 02 Dec 13:36:28.944 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
db_1     | 2019-12-02 13:36:25 0 [Note] InnoDB: Using Linux native AIO
db_1     | 2019-12-02 13:36:25 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
db_1     | 2019-12-02 13:36:25 0 [Note] InnoDB: Uses event mutexes
db_1     | 2019-12-02 13:36:25 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
db_1     | 2019-12-02 13:36:25 0 [Note] InnoDB: Number of pools: 1
db_1     | 2019-12-02 13:36:25 0 [Note] InnoDB: Using SSE2 crc32 instructions
db_1     | 2019-12-02 13:36:25 0 [Note] mysqld: O_TMPFILE is not supported on /tmp (disabling future attempts)
main_1   | db is ready
db_1     | 2019-12-02 13:36:25 0 [Note] InnoDB: Initializing buffer pool, total size = 256M, instances = 1, chunk size = 128M
db_1     | 2019-12-02 13:36:25 0 [Note] InnoDB: Completed initialization of buffer pool
cache_1  | 1:M 02 Dec 13:36:28.944 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
db_1     | 2019-12-02 13:36:25 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
db_1     | 2019-12-02 13:36:35 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
db_1     | 2019-12-02 13:36:35 0 [Note] InnoDB: Creating shared tablespace for temporary tables
db_1     | 2019-12-02 13:36:35 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
db_1     | 2019-12-02 13:36:35 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
db_1     | 2019-12-02 13:36:35 0 [Note] InnoDB: 10.4.10 started; log sequence number 113901; transaction id 9
cache_1  | 1:M 02 Dec 13:36:28.945 * DB loaded from disk: 0.000 seconds
db_1     | 2019-12-02 13:36:35 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
db_1     | 2019-12-02 13:36:35 0 [Note] InnoDB: Buffer pool(s) load completed at 191202 13:36:35
db_1     | 2019-12-02 13:36:35 0 [Note] Server socket created on IP: '::'.
db_1     | 2019-12-02 13:36:35 0 [ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
db_1     | 2019-12-02 13:36:35 0 [Warning] Can't open and lock time zone table: Table 'mysql.time_zone_leap_second' doesn't exist trying to live without them
cache_1  | 1:M 02 Dec 13:36:28.945 * Ready to accept connections
db_1     | 2019-12-02 13:36:35 0 [ERROR] Cannot open mysql.event
db_1     | 2019-12-02 13:36:35 0 [ERROR] mysqld: Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler.
db_1     | 2019-12-02 13:36:35 6 [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 1146: Table 'mysql.gtid_slave_pos' doesn't exist
db_1     | 2019-12-02 13:36:35 0 [Note] mysqld: ready for connections.
db_1     | Version: '10.4.10-MariaDB-1:10.4.10+maria~bionic'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution

So,the pymysql reports erros also:pymysql.err.InternalError: Packet sequence number wrong - got 1 expected 0
Maybe the mysql data file is coruptted?

能否提供一个详细的使用说明

docker-compose -f single.yml up,已经正常启用,感谢开源。
但是登陆界面后完全懵圈,能否提供一下平台使用的简单说明,包括新建比赛,添加账号,赛题,awd环境。特别是如何添加docker环境并使用,ctf的似乎docker直接提供链接就行,awd的怎么能使用docker生成多少比赛环境呢?求解

docker-compose -f single.yml up

New Issue Checklist (自检清单)

Issue Description (问题描述)

Version & Environment (系统/环境版本)

window10 子系统下如下问题:
zks@DESKTOP-CJR79G2:/mnt/c/Users/Administrator/Desktop/awd/H1ve$ docker --version
Docker version 18.09.7, build 2d0083d
zks@DESKTOP-CJR79G2:/mnt/c/Users/Administrator/Desktop/awd/H1ve$ docker-compose --version
docker-compose version 1.8.0, build unknown
zks@DESKTOP-CJR79G2:/mnt/c/Users/Administrator/Desktop/awd/H1ve$ sudo docker-compose -f single.yml up
ERROR: Version in "./single.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

CTFd update

New Issue Checklist (自检清单)

  • [ X ] Updated H1ve to the latest version (是否更新到最新版本)
  • [ X ] I have read the README
  • [ X ] I searched for existing GitHub issues

Using Master (Commit 97a9a3f)

Compiled and ran the docker version. It appears that CTFd has a new version available (2.2.3). It has a lot of new features. Any idea when it will be updated to the newest version in this project?

awd模式题目无法启动

选择awd模式后题目添加正常,初始化正常,运行正常(后台的),但是docker 镜像却没有启动,还是之前那种,删除镜像后重新启动的话,也没有设置端口映射.是什么原因呢?

sudo docker-compose -f single.yml up 报错无法启动

New Issue Checklist (自检清单)

最新版本

Issue Description (问题描述)

kali:~/awd/H1ve$ sudo docker-compose -f single.yml up
WARNING: The PWD variable is not set. Defaulting to a blank string.
Building main
Step 1/10 : FROM d0g3/h1ve
---> 04a6ba2a504a
Step 2/10 : ARG WORKDIR
---> Using cache
---> 1b3b34a7e0eb
Step 3/10 : ENV WORKDIR_IN ${WORKDIR}
---> Using cache
---> 22acd4f45666
Step 4/10 : WORKDIR $WORKDIR
ERROR: Service 'main' failed to build: cannot normalize nothing

Version & Environment (系统/环境版本)

kali:/awd/H1ve$ docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b7f0
Built: Wed Mar 11 01:26:02 2020
OS/Arch: linux/amd64
Experimental: false
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/version: dial unix /var/run/docker.sock: connect: permission denied
kali:
/awd/H1ve$ docker-compose version
docker-compose version 1.25.0, build unknown
docker-py version: 4.1.0
CPython version: 3.8.2
OpenSSL version: OpenSSL 1.1.1g 21 Apr 2020
kali:~/awd/H1ve$ uname -a
Linux kali 5.5.0-kali2-amd64 #1 SMP Debian 5.5.17-1kali1 (2020-04-21) x86_64 GNU/Linux

Matrix页面500错误

New Issue Checklist (自检清单)

Issue Description (问题描述)

仅Matrix页面出现Internal Server Error
image
使用了single.yml文件进行compose
使用docker映射到127.0.0.1:8000端口,并用nginx进行了反向代理。但这也许不是问题所在。
访问matrix页面并得到500错误的30s后,在main容器的log里出现了一个看起来像是martix的段落。
image
另,我之前将已将redis禁用并改为了filesystem作为缓存。(redis设置最大客户端数量似乎有问题)

Version & Environment (系统/环境版本)

  • Docker Version: 19.03.8
  • Docker-compose Version: 1.25.3
  • Os Version: Debian 9.9 x86_64
  • Browser Version: Chrome 81.0.4044.138 (正式版本) (64 位) (cohort: Stable)

subdomain using redirect_type HTTP does not work

New Issue Checklist (自检清单)

Issue Description (问题描述)

I tried to use subdomain generate by h1ve to spawn docker challenge, i already setup exactly like on README at https://github.com/D0g3-Lab/H1ve/tree/master/CTFd/plugins/ctfd-owl

Docker run as expected, I get test challenge (file-upl0ad) using direct IP but not subdomain, when launch instance, I get direct IP, not d916e71a000a315f902e6bd9a739bfe5.node.jj.com

I can access the challenge using direct IP

image
image

ctfd-owl setting

image

file-upl0ad setting

image

test@scoreboard:~/H1ve$ cat frp/frpc.ini
[common]
token = random_this
server_addr = frps
server_port = 80
admin_addr = 0.0.0.0
admin_port = 7400

[http_user1_file-upl0ad_service_1]
type = http
local_ip = user1_file-upl0ad_service_1
local_port = 80
subdomain = d916e71a000a315f902e6bd9a739bfe5
use_compression = true

test@scoreboard:~/H1ve$ cat frp/frps.ini
# 下面这句开头必须要有,表示配置的开始
[common]

# frp 服务端端口(必须)
bind_port = 80

# frp 服务端密码(必须)
token = random_this

# 认证超时时间,由于时间戳会被用于加密认证,防止报文劫持后被他人利用
# 因此服务端与客户端所在机器的时间差不能超过这个时间(秒)
# 默认为900秒,即15分钟,如果设置成0就不会对报文时间戳进行超时验证
authentication_timeout = 900

# 仪表盘端口,只有设置了才能使用仪表盘(即后台)
# dashboard_port = 7500
# 仪表盘访问的用户名密码,如果不设置,则默认都是 admin
# dashboard_user =
# dashboard_pwd =

# 如果你想要用 frp 穿透访问内网中的网站(例如路由器设置页面)
# 则必须要设置以下两个监听端口,不设置则不会开启这项功能
vhost_http_port = 80
vhost_https_port = 443

# 此设置需要配合客户端设置,仅在穿透到内网中的 http 或 https 时有用(可选)
# 假设此项设置为 example.com,客户端配置 http 时将 subdomain 设置为 test,
# 则你将 test.example.com 解析到服务端后,可以使用此域名来访问客户端对应的 http
subdomain_host = node.jj.com

Version & Environment (系统/环境版本)

  • Docker Version 19.03.13, build 4484c46d9d
  • Docker-compose Version
docker-py version: 4.3.1
CPython version: 3.7.7
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019
  • Os Version : Ubuntu 20.04.1 LTS
  • Browser Version : Edge Version 87.0.664.47

owl插件不支持ctfd3.x版本

New Issue Checklist (自检清单)

  • [✓] Updated H1ve to the latest version (是否更新到最新版本)
  • [✓] I have read the README
  • [✓] I searched for existing GitHub issues

Issue Description (问题描述)

Version & Environment (系统/环境版本)

  • Docker Version
  • Docker-compose Version
  • Os Version
  • Browser Version
    ctf_owl插件不支持ctfd3.x版本,保存配置的时候404

h1ve-main镜像启动失败

。。。。。。
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1248, in _execute_context
main_1 | e, statement, parameters, cursor, context
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1466, in _handle_dbapi_exception
main_1 | util.raise_from_cause(sqlalchemy_exception, exc_info)
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 383, in raise_from_cause
main_1 | reraise(type(exception), exception, tb=exc_tb, cause=cause)
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 128, in reraise
main_1 | raise value.with_traceback(tb)
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1244, in _execute_context
main_1 | cursor, statement, parameters, context
main_1 | File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 552, in do_execute
main_1 | cursor.execute(statement, parameters)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/cursors.py", line 170, in execute
main_1 | result = self._query(query)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/cursors.py", line 328, in _query
main_1 | conn.query(q)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 516, in query
main_1 | self._affected_rows = self._read_query_result(unbuffered=unbuffered)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 727, in _read_query_result
main_1 | result.read()
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 1066, in read
main_1 | first_packet = self.connection._read_packet()
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/connections.py", line 683, in _read_packet
main_1 | packet.check_error()
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/protocol.py", line 220, in check_error
main_1 | err.raise_mysql_exception(self._data)
main_1 | File "/usr/local/lib/python3.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
main_1 | raise errorclass(errno, errval)
main_1 | sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1060, "Duplicate column name 'captain_id'")
main_1 | [SQL: ALTER TABLE teams ADD COLUMN captain_id INTEGER]
main_1 | (Background on this error at: http://sqlalche.me/e/2j85)

测试时使用管理员账户提交其他用户的flag被ban

New Issue Checklist (自检清单)

  • Updated H1ve to the latest version (是否更新到最新版本)
    已更新至最新
  • I have read the README
    已阅读
  • I searched for existing GitHub issues

Issue Description (问题描述)

  1. 测试时使用管理员账户提交其他用户的flag被ban

    建议增加检测机制,如果检测到是管理员,即使提交了其他用户的flag也不ban,只提醒。以及后台增加检测到作弊的选项:ban/只提醒/ban加提醒。

  2. H1ve/CTFd/themes/core/static/css/vendor/font-awesome/fontawesome-fonts.css,引用了外网资源,不方便内网部署

    建议将外网资源文件加入项目目录。

希望H1ve越来越好!

启动后,一直刷NameError: name 'FrpUtils' is not defined

New Issue Checklist (自检清单)

Issue Description (问题描述)

执行docker-compose -f single.yml up启动后,一直刷NameError: name 'FrpUtils' is not defined,请问如何处理?
image

Version & Environment (系统/环境版本)

  • Docker Version 19.03.10
  • docker-compose version 1.26.0-rc4, build d279b7a8
  • Os Version Ubuntu 20.04 LTS
  • Browser Version Firefox 76.0.1

搭建问题

当平台搭建完毕后访问8000端口还是正常的ctfd 并没有如readme所说的界面

动态flag的问题

普通的题可以动态flag,平台也能成功。但如果像sql注入或者flag在配置项中这类题目,也就是flag不是一个单独的文件,如何实现动态flag?如果不能实现动态flag,怎么实现静态flag呢?(使用docker运行题目)

配置完成后web无法建立端口连接udp错误

配置后,Direct模式,建立后出现udp错误,无法建立端口连接。

Issue Description (问题描述)

frpc_1 | 2021/10/24 08:27:49 [I] [admin_api.go:252] Http put request [/api/config]
frpc_1 | 2021/10/24 08:27:49 [I] [admin_api.go:254] Http put response [/api/config], code [200]
frpc_1 | 2021/10/24 08:27:49 [I] [admin_api.go:40] Http request [/api/reload]
frpc_1 | 2021/10/24 08:27:49 [I] [proxy_manager.go:144] [7bdb2397ac572ce0] proxy added: [direct_user1_online_tool_service_1_tcp direct_user1_online_tool_service_1_udp]
frpc_1 | 2021/10/24 08:27:49 [I] [admin_api.go:80] success reload conf
frpc_1 | 2021/10/24 08:27:49 [I] [admin_api.go:42] Http response [/api/reload], code [200]
frps_1 | 2021/10/24 08:27:49 [I] [tcp.go:63] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_tcp] tcp proxy listen port [33301]
frps_1 | 2021/10/24 08:27:49 [I] [control.go:420] [7bdb2397ac572ce0] new proxy [direct_user1_online_tool_service_1_tcp] success
frps_1 | 2021/10/24 08:27:49 [I] [udp.go:81] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] udp proxy listen port [33301]
frps_1 | 2021/10/24 08:27:49 [I] [control.go:420] [7bdb2397ac572ce0] new proxy [direct_user1_online_tool_service_1_udp] success
frpc_1 | 2021/10/24 08:27:49 [I] [control.go:164] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_tcp] start proxy success
frpc_1 | 2021/10/24 08:27:49 [W] [control.go:162] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] start error: lookup user1_online_tool_service_1 on 127.0.0.11:53: no such host
frps_1 | 2021/10/24 08:27:49 [I] [proxy.go:92] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] get a new work connection: [10.1.0.4:51356]
frpc_1 | 2021/10/24 08:27:49 [I] [proxy.go:438] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] incoming a new work connection for udp proxy, 10.1.0.3:80
frpc_1 | 2021/10/24 08:27:54 [I] [admin_api.go:252] Http put request [/api/config]
frpc_1 | 2021/10/24 08:27:54 [I] [admin_api.go:254] Http put response [/api/config], code [200]
frpc_1 | 2021/10/24 08:27:54 [I] [admin_api.go:40] Http request [/api/reload]
frpc_1 | 2021/10/24 08:27:54 [I] [proxy_manager.go:130] [7bdb2397ac572ce0] proxy removed: [direct_user1_online_tool_service_1_tcp direct_user1_online_tool_service_1_udp]
frpc_1 | 2021/10/24 08:27:54 [I] [proxy_manager.go:144] [7bdb2397ac572ce0] proxy added: [direct_user1_online_tool_service_1_udp direct_user1_online_tool_service_1_tcp]
frpc_1 | 2021/10/24 08:27:54 [I] [admin_api.go:80] success reload conf
frps_1 | 2021/10/24 08:27:54 [W] [udp.go:99] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] read from workConn for udp error: EOF
frpc_1 | 2021/10/24 08:27:54 [I] [admin_api.go:42] Http response [/api/reload], code [200]
frps_1 | 2021/10/24 08:27:54 [I] [proxy.go:92] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] get a new work connection: [10.1.0.4:51356]
frpc_1 | 2021/10/24 08:27:54 [W] [proxy.go:460] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] read from workConn for udp error: EOF
frpc_1 | 2021/10/24 08:27:54 [I] [proxy.go:474] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] writer goroutine for udp work connection closed
frps_1 | 2021/10/24 08:27:54 [I] [proxy.go:76] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_tcp] proxy closing
frpc_1 | 2021/10/24 08:27:54 [I] [proxy.go:438] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] incoming a new work connection for udp proxy, 10.1.0.3:80
frps_1 | 2021/10/24 08:27:54 [I] [proxy.go:147] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_tcp] listener is closed
frps_1 | 2021/10/24 08:27:54 [I] [control.go:429] [7bdb2397ac572ce0] close proxy [direct_user1_online_tool_service_1_tcp] success
frps_1 | 2021/10/24 08:27:54 [I] [proxy.go:76] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] proxy closing
frps_1 | 2021/10/24 08:27:54 [I] [udp.go:153] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] sender goroutine for udp work connection closed
frpc_1 | 2021/10/24 08:27:54 [W] [proxy.go:460] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] read from workConn for udp error: EOF
frps_1 | 2021/10/24 08:27:54 [I] [control.go:429] [7bdb2397ac572ce0] close proxy [direct_user1_online_tool_service_1_udp] success
frps_1 | 2021/10/24 08:27:54 [W] [udp.go:99] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] read from workConn for udp error: EOF
frps_1 | 2021/10/24 08:27:54 [I] [udp.go:137] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] sender goroutine for udp work connection closed
frps_1 | 2021/10/24 08:27:54 [I] [tcp.go:63] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_tcp] tcp proxy listen port [33301]
frps_1 | 2021/10/24 08:27:54 [I] [control.go:420] [7bdb2397ac572ce0] new proxy [direct_user1_online_tool_service_1_tcp] success
frpc_1 | 2021/10/24 08:27:54 [I] [control.go:164] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_tcp] start proxy success
frps_1 | 2021/10/24 08:27:54 [I] [udp.go:81] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] udp proxy listen port [33301]
frps_1 | 2021/10/24 08:27:54 [I] [control.go:420] [7bdb2397ac572ce0] new proxy [direct_user1_online_tool_service_1_udp] success
frpc_1 | 2021/10/24 08:27:54 [W] [control.go:162] [7bdb2397ac572ce0] [direct_user1_online_tool_service_1_udp] start error: lookup user1_online_tool_service_1 on 127.0.0.11:53: no such host

Version & Environment (系统/环境版本)

  • Docker Version 20.10.9, build c2ea9bc
  • Docker-compose Version 1.25.0-rc2, build 661ac20e
  • Os Version centos 7
  • Browser Version

项目编译成功后问题

Issue Description (问题描述)

项目成功运行后,移动项目文件夹位置,启动失败
如何清除docker-compose编译记录???重新编译

Version & Environment (系统/环境版本)

  • Docker Version Docker version 20.10.6, build 370c289
  • Docker-compose Version docker-compose version 1.29.1, build c34c88b2
  • Os Version macos 最新
  • Browser Version Google最新

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.