Giter Club home page Giter Club logo

vulfocus's Introduction

Welcome to Vulfocus 🚀

Vulfocus 是一个漏洞集成平台,将漏洞环境 docker 镜像,放入即可使用,开箱即用。

Vulfocus 官网:https://fofapro.github.io/vulfocus/

在线 Vulfocus:

http://vulfocus.cn/

http://vulfocus.io/

http://vulfocus.club/

背景

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

认识 Vulfocus

因为 Vulfocus 一个漏洞集成平台,所以可以无限向里添加漏洞环境没有限制,前提是你的内存足够大。因为漏洞环境是docker镜像的原因每次重新启动漏洞环境都会还原,不用出现你会对环境造成破坏下次无法启动的现象。

Vulfocus 的 docker 仓库 https://hub.docker.com/u/vulfocus

Vulfocus的特性

  1. 启动:一键漏洞环境启动,方便简单。
  2. 自带 Flag 功能:每次启动 flag 都会自动更新,明确漏洞是否利用成功。
  3. 带有计分功能也可适用于相关安全人员能力的考核。
  4. 兼容 VulhubVulapps 中所有漏洞镜像。
  5. 支持可视化编排漏洞环境

使用

  1. 安装完成后,访问80端口

  2. 用设置好的管理员账户登录

  3. 首页为漏洞集成页面,刚开始是没有漏洞镜像的需要从 https://hub.docker.com/ 网站拉取镜像,或自己以tar包的形式上传。

    漏洞镜像的拉取和上传(需管理员权限):

    (1)、在镜像管理中,添加功能

    (2)、分别填入漏洞名称、镜像、rank、描述

    • 镜像又分为文件和文本
  • 文本:是从 https://hub.docker.com/u/vulfocus 官网拉取镜像。内容为如: vulfocus/webmin-cve_2019_15107
    • 文件:本地漏洞镜像打成tar包的形式上传。
  1. 下载完成后点击启动即可。

  2. 镜像启动后,会在环境里写入一个 flag (默认 flag 会写入 /tmp/ 下),读取到 flag 后填入 flag 窗口,镜像会自动关闭,如需重新启动,需强刷一下,然后再次点击启动即可。

  3. 可视化编排(管理员权限)

  1. 场景模式(普通用户权限)

  1. 计时模式

FAQ

普通用户无法查看漏洞题目?

1.以管理员身份登录系统,进入镜像管理界面,选择某一个镜像修改(如果这里镜像显示为空可以先添加镜像)

2.将镜像的分数设置为0

3.以普通用户身份登录进入vulfocus首页,这时可以看见自己刚才修改的镜像,启动镜像并且提交flag,通关后将显示所有镜像

镜像启动后立即访问地址失败?

  1. 根据镜像的大小,启动时间会有不同的延迟,一般在几秒以内。

提交完 flag 后会有卡住?

  1. 在提交完正确flag后,会镜像关闭的动作,所以会有几秒的延迟。

拉取镜像时一直卡在哪里

  1. 由于网络延迟或镜像太大的原因时间会长一点。
  2. 镜像名称填错,也会卡在哪里,建议强刷一下。

通过docker运行vulfocus提示服务器内部错误

1.通过docker logs命令查看容器日志信息

2.通过docker exec -it <container_id> /bin/sh命令进入容器(container_id为容器运行id)在容器内部执行tail -f celery.log查看后台日志信息

Centos 无权限操作Docker

centos7 docker版本应用无法添加镜像

环境一直处于启动中

  1. 查看celery.log的日志文件输出,检查是否抛出异常信息
  2. 检查服务器CPU和内存的使用情况,倘若内存和CPU不足也会导致镜像无法启动

如何将容器内部数据保存到主机上

docker create -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock -v /xxx/db.sqlite3:/vulfocus-api/db.sqlite3 -e VUL_IP=xxx.xxx.xxx.xxx vulfocus/vulfocus:latest

docker start container_id

注意:当第一次使用docker create -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock -v /xxx/db.sqlite3:/vulfocus-api/db.sqlite3 -e VUL_IP=xxx.xxx.xxx.xxx vulfocus/vulfocus:latest 时必须要保证/xxx/db.sqlite3是从GitHub上下载的最新数据库,否则容器运行将会抛出服务器内部错误

自定义安装数据库迁移报错

进入项目所在的目录的vulfocus-api文件夹目录下,执行下面命令

rm -rf $(find ./**/migrations/00*)

执行命令

python3 manage.py makemigrations
python3 manage.py migrate --fake

若经过上面步骤如果数据库迁移还是报错,请检查数据库是否与文件夹下的迁移记录产生冲突,可用数据库连接工具检查数据库的表结构

场景无法下载

目前官网的所有场景支持压缩包方式构建,构建步骤如下

  1. 进入场景管理/环境编排管理,点击添加场景,选择创建编排模式

2.点击上传,选中要构建的场景压缩包(压缩包暂不支持普通用户下载,可联系系统管理员下载)

​ 3.上传成功后点击保存

​ 4.这时可在环境编排管理界面看见新上传的场景,点击发布并且发布成功后即可使用(发布的过程会下载场景所需镜像,等待镜像下载完毕即可)

5.发布成功后即可在场景处看见新的场景

如何设置镜像运行时长

在系统管理/系统配置处可修改镜像的运行时长

镜像一键同步报错

  • 自定义安装

修改项目目录下的vulfocus-api/dockerapi/views.py文件,修改get_timing_imgs函数,将vulfocus.fofa.so替换成vulfocus.io

  • docker镜像启动

    1.将容器内部的/vulfocus-api/dockerapi/views.py文件拷贝至主机当前目录

修改当前目录下拷贝出来的views.py文件,修改get_timing_imgs函数,将vulfocus.fofa.so替换成vulfocus.io

将修改好的views文件重新copy至容器内部

Contributors

Thanks goes to these wonderful people :


anonymity3712

🐛 📝

TC130

🐛

hackwuli

💬

lxyevil

⚠️

littleheary

👀

Rai Sun

🤔

luobei-Dynamic

🤔

wanglaiqi

🤔

zhuhongchang1227

🤔

daibing

🤔

zhangfeitao

🤔

TORRYGUO

🤔

李大壮

📖

Vdeem

📝

xiajibaxie

📝 💻

Frivolous-scholar

💻

D4ch1au

💻

M2ayill

💻

Whippet

💻

Aa1141415869

💻

fengyehack

💻

wuli

💻

Liiuliu

💻

atdpa4sw0rd

💻

讨论区

如有问题可以在 GitHub 提 issue, 也可在下方的讨论组里

GitHub issue: https://github.com/fofapro/vulfocus/issues

微信群: 通过扫描以下二维码加入并且备注 申请 Vulfocus 加入 Vulfocus 官方微信群。

致谢

声明

该项目会收集了当下比较流行的漏洞环境,若有侵权,请联系我们!

vulfocus's People

Contributors

403allowed avatar allcontributors[bot] avatar anonymity3712 avatar ansanqwq avatar atdpa4sw0rd avatar becivells avatar cdhe avatar dependabot[bot] avatar fengye2023 avatar frivolous-scholar avatar hu4wufu avatar liiuliu avatar linlinger avatar littleheary avatar m2ayill avatar wuli888 avatar xiajibaxie avatar xxxxbxxxxx avatar zfyy1x 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  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

vulfocus's Issues

配置Docker IP

目前只支持 -v 形式进行映射本机的Docker服务,但是无法支持其他服务器的Docker。

centos7 docker版本应用无法添加镜像

操作系统版本:CentOS Linux release 7.7.1908 (Core)
内核版本:Linux localhost.localdomain 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
应用添加本地镜像时提示报错“服务器内部错误,请联系管理员”
跟踪docker日志,报错信息如下:
[24/Apr/2020 12:24:26] "POST /images/ HTTP/1.0" 500 22704
Starting nginx: nginx.
Watching for file changes with StatReloader
[24/Apr/2020 12:30:05] "GET /user/info HTTP/1.0" 200 179
[24/Apr/2020 12:30:05] "GET /images/?query= HTTP/1.0" 200 2
Internal Server Error: /images/
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/lib/python3.8/http/client.py", line 1230, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1276, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1225, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1004, in _send_output
self.send(msg)
File "/usr/local/lib/python3.8/http/client.py", line 944, in send
self.connect()
File "/usr/local/lib/python3.8/site-packages/docker/transport/unixconn.py", line 43, in connect
sock.connect(self.unix_socket)
PermissionError: [Errno 13] Permission denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 724, in urlopen
retries = retries.increment(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 403, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/local/lib/python3.8/site-packages/urllib3/packages/six.py", line 734, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/lib/python3.8/http/client.py", line 1230, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1276, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1225, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1004, in _send_output
self.send(msg)
File "/usr/local/lib/python3.8/http/client.py", line 944, in send
self.connect()
File "/usr/local/lib/python3.8/site-packages/docker/transport/unixconn.py", line 43, in connect
sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', PermissionError(13, 'Permission denied'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/vulfocus-api/dockerapi/views.py", line 132, in create
image = client.images.get(image_name)
File "/usr/local/lib/python3.8/site-packages/docker/models/images.py", line 316, in get
return self.prepare_model(self.client.api.inspect_image(name))
File "/usr/local/lib/python3.8/site-packages/docker/utils/decorators.py", line 19, in wrapped
return f(self, resource_id, *args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/docker/api/image.py", line 245, in inspect_image
self._get(self._url("/images/{0}/json", image)), True
File "/usr/local/lib/python3.8/site-packages/docker/utils/decorators.py", line 46, in inner
return f(self, *args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/docker/api/client.py", line 230, in _get
return self.get(url, **self._set_request_timeout(kwargs))
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 543, in get
return self.request('GET', url, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', PermissionError(13, 'Permission denied'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/lib/python3.8/http/client.py", line 1230, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1276, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1225, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1004, in _send_output
self.send(msg)
File "/usr/local/lib/python3.8/http/client.py", line 944, in send
self.connect()
File "/usr/local/lib/python3.8/site-packages/docker/transport/unixconn.py", line 43, in connect
sock.connect(self.unix_socket)
PermissionError: [Errno 13] Permission denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 724, in urlopen
retries = retries.increment(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 403, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/local/lib/python3.8/site-packages/urllib3/packages/six.py", line 734, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/lib/python3.8/http/client.py", line 1230, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1276, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1225, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1004, in _send_output
self.send(msg)
File "/usr/local/lib/python3.8/http/client.py", line 944, in send
self.connect()
File "/usr/local/lib/python3.8/site-packages/docker/transport/unixconn.py", line 43, in connect
sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', PermissionError(13, 'Permission denied'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/rest_framework/viewsets.py", line 114, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/rest_framework/views.py", line 505, in dispatch
response = self.handle_exception(exc)
File "/usr/local/lib/python3.8/site-packages/rest_framework/views.py", line 465, in handle_exception
self.raise_uncaught_exception(exc)
File "/usr/local/lib/python3.8/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
raise exc
File "/usr/local/lib/python3.8/site-packages/rest_framework/views.py", line 502, in dispatch
response = handler(request, *args, **kwargs)
File "/vulfocus-api/dockerapi/views.py", line 134, in create
images = client.images.pull(image_name)
File "/usr/local/lib/python3.8/site-packages/docker/models/images.py", line 440, in pull
pull_log = self.client.api.pull(
File "/usr/local/lib/python3.8/site-packages/docker/api/image.py", line 395, in pull
response = self._post(
File "/usr/local/lib/python3.8/site-packages/docker/utils/decorators.py", line 46, in inner
return f(self, *args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/docker/api/client.py", line 226, in _post
return self.post(url, **self._set_request_timeout(kwargs))
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 578, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', PermissionError(13, 'Permission denied'))

改进

请简单描述一下需要改进/新增功能
web管理界面在拉取漏洞镜像时,总是刷新到第一页内容。需要不停的重复点击各个页面才能拉取镜像
描述你想要的解决方案

补充内容

vulfocus功能优化建议

1、漏洞信息模块:侧边栏可以添加漏洞信息模块,由使用者自己编辑。编辑的漏洞信息可以关联到镜像信息中。

2、添加web terminal功能:1、方便进行命令端操作;2、使用者学习漏洞修复时可以直接通过web terminal操作。

3、添加分组功能:镜像组管理-->添加镜像组名称-->打开镜像组-->添加docker镜像

镜像同步功能

请简单描述一下需要改进/新增功能

可一键同步docker hub 仓库信息,将不存在本地的漏洞环境信息同步到本地中。

描述你想要的解决方案

通过调用 docker hub API 接口进行获取目前docker hub 中漏洞镜像,然后与本地进行比较,扩充漏洞信息。

补充内容

页面删除按钮问题

首页容器启动后的删除按钮的icon将按钮的上下距离拉大,导致页面card布局出现问题
微信图片_20210111165900

redis-server服务问题

报错信息
redis未运行
操作系统
ubuntu19.10
内核版本
Linux vul 5.3.0-46-generic
Python 环境版本
python3.7
Vulfocus 版本
2.1
详细报错信息或堆栈报错信息
运行pip3 install -r requirements.txt后可以 依旧会提示redis-server未安装切redis服务未启动。重新执行apt-get install redis-server才可以

过期时间设置为0,永不过期时,启动容器报错

报错信息
当容器过期时间设置为0,永不过期时,无法启动容器,后端报错

详细报错信息或堆栈报错信息
TypeError at /images/bacbfa68-4408-4920-85a3-cbf88963318b/start/
run_container() missing 1 required positional argument: 'countdown'

Request Method: GET
Request URL: http://127.0.0.1:8000/images/bacbfa68-4408-4920-85a3-cbf88963318b/start/
Django Version: 2.2.13
Python Executable: /usr/local/bin/python3
Python Version: 3.9.0
Python Path: ['/vulfocus-api', '/vulfocus-api', '/usr/local/lib/python39.zip', '/usr/local/lib/python3.9', '/usr/local/lib/python3.9/lib-dynload', '/usr/local/lib/python3.9/site-packages']
Server time: 星期二, 30 三月 2021 19:54:39 +0800
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'user',
'corsheaders',
'dockerapi',
'network',
'tasks',
'layout_image']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']

Traceback:

File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py" in inner
34. response = get_response(request)

File "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py" in _get_response
115. response = self.process_exception_by_middleware(e, request)

File "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py" in _get_response
113. response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/local/lib/python3.9/site-packages/django/views/decorators/csrf.py" in wrapped_view
54. return view_func(*args, **kwargs)

File "/usr/local/lib/python3.9/site-packages/rest_framework/viewsets.py" in view
114. return self.dispatch(request, *args, **kwargs)

File "/usr/local/lib/python3.9/site-packages/rest_framework/views.py" in dispatch
505. response = self.handle_exception(exc)

File "/usr/local/lib/python3.9/site-packages/rest_framework/views.py" in handle_exception
465. self.raise_uncaught_exception(exc)

File "/usr/local/lib/python3.9/site-packages/rest_framework/views.py" in raise_uncaught_exception
476. raise exc

File "/usr/local/lib/python3.9/site-packages/rest_framework/views.py" in dispatch
502. response = handler(request, *args, **kwargs)

File "/vulfocus-api/dockerapi/views.py" in start_container
289. task_id = tasks.create_container_task(container_vul, user, get_request_ip(request))

File "/vulfocus-api/tasks/tasks.py" in create_container_task
156. run_container.delay(container_vul.container_id, user_id, task_id)

File "/usr/local/lib/python3.9/site-packages/celery/app/task.py" in delay
425. return self.apply_async(args, kwargs)

File "/usr/local/lib/python3.9/site-packages/celery/app/task.py" in apply_async
530. check_arguments(*(args or ()), **(kwargs or {}))

Exception Type: TypeError at /images/bacbfa68-4408-4920-85a3-cbf88963318b/start/
Exception Value: run_container() missing 1 required positional argument: 'countdown'
Request information:
USER: admin

GET: No GET data

POST: No POST data

FILES: No FILES data

COOKIES:
PHPSESSID = '5ii409ghvj0tp3fkjgf7ttgcb6'
security = 'low'
vue_admin_template_token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNjE3MTcyMjU0LCJlbWFpbCI6ImFkbWluQGZvZmEuc28ifQ.gLROoi7QMmCPREtGZ8_aMGxtm_Ps4AqF774K9D8edzc'
JSESSIONID = 'AB55093B5D2BAA4716E6EAE33D8ED6C4'

META:
CONTENT_LENGTH = ''
CONTENT_TYPE = 'text/plain'
DJANGO_SETTINGS_MODULE = 'vulfocus.settings'
DOCKER_HOST = 'unix://var/run/docker.sock'
DOCKER_URL = 'unix://var/run/docker.sock'
GATEWAY_INTERFACE = 'CGI/1.1'
GPG_KEY = 'E3FF2839C048B25C084DEBE9B26995E310250568'
HOME = '/root'
HOSTNAME = '2699f54f7f58'
HTTP_ACCEPT = 'application/json, text/plain, /'
HTTP_ACCEPT_ENCODING = 'gzip, deflate'
HTTP_ACCEPT_LANGUAGE = 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7'
HTTP_AUTHORIZATION = 'BMH eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNjE3MTcyMjU0LCJlbWFpbCI6ImFkbWluQGZvZmEuc28ifQ.gLROoi7QMmCPREtGZ8_aMGxtm_Ps4AqF774K9D8edzc'
HTTP_CONNECTION = 'close'
HTTP_COOKIE = 'PHPSESSID=5ii409ghvj0tp3fkjgf7ttgcb6; security=low; vue_admin_template_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNjE3MTcyMjU0LCJlbWFpbCI6ImFkbWluQGZvZmEuc28ifQ.gLROoi7QMmCPREtGZ8_aMGxtm_Ps4AqF774K9D8edzc; JSESSIONID=AB55093B5D2BAA4716E6EAE33D8ED6C4'
HTTP_HOST = '127.0.0.1:8000'
HTTP_REFERER = 'http://10.91.3.21/'
HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36'
LANG = 'C.UTF-8'
PATH = '/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
PATH_INFO = '/images/bacbfa68-4408-4920-85a3-cbf88963318b/start/'
PWD = '/vulfocus-api'
PYTHON_GET_PIP_SHA256 = '6e0bb0a2c2533361d7f297ed547237caf1b7507f197835974c0dd7eba998c53c'
PYTHON_GET_PIP_URL = 'https://github.com/pypa/get-pip/raw/fa7dc83944936bf09a0e4cb5d5ec852c0d256599/get-pip.py'
PYTHON_PIP_VERSION = '20.2.4'
PYTHON_VERSION = '3.9.0'
QUERY_STRING = ''
REMOTE_ADDR = '127.0.0.1'
REMOTE_HOST = ''
REQUEST_METHOD = 'GET'
RUN_MAIN = 'true'
SCRIPT_NAME = ''
SECRET_KEY = 'b0^+yw+!frh4(sta2+6+iisn(7m3r(-80%0#1muohxkjtj@yk!'
SERVER_NAME = '2699f54f7f58'
SERVER_PORT = '8000'
SERVER_PROTOCOL = 'HTTP/1.0'
SERVER_SOFTWARE = 'WSGIServer/0.2'
TZ = 'Asia/Shanghai'
VUL_IP = '10.91.3.21'
wsgi.errors = <_io.TextIOWrapper name='' mode='w' encoding='utf-8'>
wsgi.file_wrapper = ''
wsgi.input = <django.core.handlers.wsgi.LimitedStream object at 0x7f8ea0ded100>
wsgi.multiprocess = False
wsgi.multithread = True
wsgi.run_once = False
wsgi.url_scheme = 'http'
wsgi.version = '(1, 0)'

Settings:
Using settings module vulfocus.settings
ABSOLUTE_URL_OVERRIDES = {}
ADMINS = []
ALLOWED_HOSTS = ['*']
ALLOWED_IMG_SUFFIX = ['jpg', 'jpeg', 'png']
APPEND_SLASH = True
AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS = ''
AUTH_USER_MODEL = 'user.UserProfile'
BASE_DIR = '/vulfocus-api'
CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_KEY_PREFIX = '
'
CACHE_MIDDLEWARE_SECONDS = 600
CELERY_ACCEPT_CONTENT = ['json']
CELERY_BROKER_URL = 'redis://127.0.0.1:6379/0'
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/0'
CELERY_TASK_SERIALIZER = 'json'
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = ['http://localhost:9527']
CSRF_COOKIE_AGE = 31449600
CSRF_COOKIE_DOMAIN = None
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_NAME = 'csrftoken'
CSRF_COOKIE_PATH = '/'
CSRF_COOKIE_SAMESITE = 'Lax'
CSRF_COOKIE_SECURE = False
CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS = []
CSRF_USE_SESSIONS = False
DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3', 'NAME': '/vulfocus-api/db.sqlite3', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'USER': '', 'PASSWORD': '', 'HOST': '', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
DATABASE_ROUTERS = []
DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
DATETIME_FORMAT = 'N j, Y, P'
DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
DATE_FORMAT = 'N j, Y'
DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG = True
DEBUG_PROPAGATE_EXCEPTIONS = False
DECIMAL_SEPARATOR = '.'
DEFAULT_CHARSET = 'utf-8'
DEFAULT_CONTENT_TYPE = 'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL = 'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE = ''
DEFAULT_TABLESPACE = ''
DISALLOWED_USER_AGENTS = []
DOCKER_COMPOSE = '/vulfocus-api/docker-compose'
DOCKER_CONTAINER_TIME = 60
DOCKER_URL = 'unix://var/run/docker.sock'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_HOST_PASSWORD = '
'
EMAIL_HOST_USER = ''
EMAIL_PORT = 25
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = ''
EMAIL_SUBJECT_PREFIX = '[Django] '
EMAIL_TIMEOUT = None
EMAIL_USE_LOCALTIME = False
EMAIL_USE_SSL = False
EMAIL_USE_TLS = False
FILE_CHARSET = 'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
FILE_UPLOAD_PERMISSIONS = None
FILE_UPLOAD_TEMP_DIR = None
FIRST_DAY_OF_WEEK = 0
FIXTURE_DIRS = []
FORCE_SCRIPT_NAME = None
FORMAT_MODULE_PATH = None
FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS = []
INSTALLED_APPS = ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'user', 'corsheaders', 'dockerapi', 'network', 'tasks', 'layout_image']
INTERNAL_IPS = []
JWT_AUTH = {'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1), 'JWT_AUTH_HEADER_PREFIX': 'BMH'}
LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE = 'zh-hans'
LANGUAGE_COOKIE_AGE = None
LANGUAGE_COOKIE_DOMAIN = None
LANGUAGE_COOKIE_NAME = 'django_language'
LANGUAGE_COOKIE_PATH = '/'
LOCALE_PATHS = []
LOGGING = {}
LOGGING_CONFIG = 'logging.config.dictConfig'
LOGIN_REDIRECT_URL = '/accounts/profile/'
LOGIN_URL = '/accounts/login/'
LOGOUT_REDIRECT_URL = None
MANAGERS = []
MEDIA_ROOT = ''
MEDIA_URL = ''
MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE = ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware']
MIGRATION_MODULES = {}
MONTH_DAY_FORMAT = 'F j'
NUMBER_GROUPING = 0
PASSWORD_HASHERS = '
'
PASSWORD_RESET_TIMEOUT_DAYS = ''
PREPEND_WWW = False
REDIS_HOST = '127.0.0.1'
REDIS_PASS = '
'
REDIS_POOL = ConnectionPool<Connection<host=127.0.0.1,port=6379,db=1>>
REDIS_PORT = 6379
REST_FRAMEWORK = {'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticated'], 'DEFAULT_AUTHENTICATION_CLASSES': ['rest_framework_jwt.authentication.JSONWebTokenAuthentication', 'rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.BasicAuthentication'], 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'PAGE_SIZE': 20}
ROOT_URLCONF = 'vulfocus.urls'
SECRET_KEY = '********************'
SECURE_BROWSER_XSS_FILTER = False
SECURE_CONTENT_TYPE_NOSNIFF = False
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_HSTS_SECONDS = 0
SECURE_PROXY_SSL_HEADER = None
SECURE_REDIRECT_EXEMPT = []
SECURE_SSL_HOST = None
SECURE_SSL_REDIRECT = False
SERVER_EMAIL = 'root@localhost'
SESSION_CACHE_ALIAS = 'default'
SESSION_COOKIE_AGE = 1209600
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = 'sessionid'
SESSION_COOKIE_PATH = '/'
SESSION_COOKIE_SAMESITE = 'Lax'
SESSION_COOKIE_SECURE = False
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_FILE_PATH = None
SESSION_SAVE_EVERY_REQUEST = False
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE = 'vulfocus.settings'
SHORT_DATETIME_FORMAT = 'm/d/Y P'
SHORT_DATE_FORMAT = 'm/d/Y'
SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = []
STATICFILES_DIRS = ['/vulfocus-api/static']
STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = None
STATIC_URL = '/static/'
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/vulfocus-api/templates'], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}]
TEST_NON_SERIALIZED_APPS = []
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR = ','
TIME_FORMAT = 'P'
TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_THOUSAND_SEPARATOR = False
USE_TZ = False
USE_X_FORWARDED_HOST = False
USE_X_FORWARDED_PORT = False
VUL_IP = '10.91.3.21'
WSGI_APPLICATION = 'vulfocus.wsgi.application'
X_FRAME_OPTIONS = 'SAMEORIGIN'
YEAR_MONTH_FORMAT = 'F Y'

You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.

定时功能

可以自定义定时关闭 Docker 容器,进行解决资源被占满的问题。

镜像队列

目前拉取镜像 没有状态交互,增加异步操作,使用队列的形式处理。

增加靶场时常控制功能

建议增加靶场时长控制功能,可自定义设置靶场存活时间,存活时间可以设置为30分钟,60分,90分钟,120分钟。

有一个问题:docker环境部署的vulfocus,如何修改靶场默认的存活时间(30分钟)?

排名不一致

报错信息

操作系统

内核版本

Python 环境版本

Vulfocus 版本

详细报错信息或堆栈报错信息

积分排行失效。

image

快速安装失败

报错信息
[root@localhost /]# docker run -d -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP= 192.168.100.125 vulfocus/vulfocus
Unable to find image '192.168.100.125:latest' locally
docker: Error response from daemon: pull access denied for 192.168.100.125, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
操作系统
linux
内核版本
Linux localhost.localdomain 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Python 环境版本
python
Python 2.7.5 (default, Apr 2 2020, 13:16:51)
Vulfocus 版本

详细报错信息或堆栈报错信息

关于 http://vulfocus.fofa.so/#/dashboard 在线网站镜像启动失败

那天,我就和往常一样准备写poc,然后就登录了 http://vulfocus.fofa.so/#/dashboard,
一打开,一种牛皮的气息扑面而来,在线的,就是赞,技术员的福利,我怀着激动的心情点击的开启环境,
image
Apache Solr RCE(CVE-2019-12409) 环境,
环境似乎也顺利的开启了
image
激动,开心,于是我非常愉快的选择访问它给出的访问地址。
一秒。。。。两秒。。。。时间在流逝。。。。。
image
no。。。。访问失败,天哪,我的心都碎了
但我还怀有期待,于是过了几分钟后再去访问了那个地址。
然而结果并没有什么不同。
真是令人失落的一天。

一些不成熟的建议

建议添加一个管理员可以通过后台删除和批量添加用户的功能

建议前端添加一个动态的展示板界面,可以现实实时显示积分排名

针对web 场景可以直接点击连接即可跳转

接口都没做分页,导致数据多了api不稳定

请简单描述一下需要改进/新增功能
接口都没做分页,导致数据多了api不稳定,比如查看用户操作日志
描述你想要的解决方案
给api添加上分页功能
补充内容

创建环境编排模式时图片上传错误

报错信息

创建环境编排模式时图片上传错误。

image

操作系统

内核版本

Python 环境版本

Vulfocus 版本

详细报错信息或堆栈报错信息

一个环境中需要启动两个或两个以上的镜像无法实现

请简单描述一下需要改进/新增功能:添加vulhub中环境时发现了问题,vulhub中phpmydmin4.8.1这个环境有两个镜像,但是在vulfocus中只能添加一个镜像会导致环境无法正常运行,使用环境编排功能也无法实现
vulhub环境

描述你想要的解决方案:希望能实现一个环境中能添加多个镜像

补充内容

前端显示不正确

1589787470(1)
在启动镜像容器后,指定的容器地址有时候跟虚拟机的地址并不相同,但是还是要访问虚拟机的地址才可以访问的到。

镜像升级

请问您这个vulfocus镜像更新了之后,我的docker拉取的镜像该怎么去更新它

管理员删除镜像

请简单描述一下需要改进/新增功能
管理员删除镜像,需要停止
描述你想要的解决方案
管理员删除镜像,需要停止,可以直接弹出提示该镜像正在运行,可以直接停止删除
补充内容

镜像错误

docker pull vulfocus/vulfocus/spring-cve_2017_8046 没有
docker pull vulfocus/jenkins-cve2017_1000353 没有
docker pull vulfocus/jenkins-cve2018_1000861没有

是否支持多用户

请简单描述一下需要改进/新增功能

描述你想要的解决方案

补充内容

CVE-2020-2555 Oracle Weblogic

请简单描述一下需要改进/新增功能
Hi there Please provide CVE-2020-2555 Oracle Weblogic PoC. All pocs are related to Windows machines. In docker, you have used linux distribution.
描述你想要的解决方案

补充内容

启动不了vulhub的docker环境

报错信息启动不了vulhub的docker环境

操作系统: centos7

内核版本:Linux iZuf6an 4.18.0-240.1.1.el8_3.x86_64 #1 SMP Thu Nov 19 17:20:08 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Python 环境版本:Python 2.7.17 (default, Aug 31 2020, 21:02:14)

Vulfocus 版本:0.3.2.1

详细报错信息或堆栈报错信息
这是进入vulfocus里面的的celery.log 文件信息
root@5d10d7b11ce9:/vulfocus-api# cat celery.log
[2021-01-06 19:51:21,524: INFO/MainProcess] Connected to redis://127.0.0.1:6379/0
[2021-01-06 19:51:21,542: INFO/MainProcess] mingle: searching for neighbors
[2021-01-06 19:51:22,577: INFO/MainProcess] mingle: all alone
[2021-01-06 19:51:22,585: WARNING/MainProcess] /usr/local/lib/python3.9/site-packages/celery/fixups/django.py:202: UserWarning: Using settings.DEBUG leads to a memory
leak, never use this setting in production environments!
warnings.warn('''Using settings.DEBUG leads to a memory
[2021-01-06 19:51:22,585: INFO/MainProcess] celery@5d10d7b11ce9 ready.
[2021-01-06 19:51:38,735: INFO/MainProcess] Received task: tasks.create_image[901093e9-bd93-4b6b-8204-550c9e71d558]
[2021-01-06 19:51:38,781: INFO/MainProcess] Received task: tasks.create_image[972cfdb6-dbe8-429d-8678-da5c6e475b5b]
[2021-01-06 19:51:38,798: INFO/ForkPoolWorker-1] Task tasks.create_image[901093e9-bd93-4b6b-8204-550c9e71d558] succeeded in 0.060795475999839255s: None
[2021-01-06 19:51:38,814: INFO/MainProcess] Received task: tasks.create_image[9ef4fc14-78f5-433f-9bc5-3c858a327aa5]
[2021-01-06 19:51:38,887: INFO/ForkPoolWorker-1] Task tasks.create_image[972cfdb6-dbe8-429d-8678-da5c6e475b5b] succeeded in 0.08666778400015573s: None
[2021-01-06 19:51:38,967: INFO/ForkPoolWorker-1] Task tasks.create_image[9ef4fc14-78f5-433f-9bc5-3c858a327aa5] succeeded in 0.07816681099984635s: None
[2021-01-06 19:51:42,865: INFO/MainProcess] Received task: tasks.run_container[23a14cb2-d962-4ad7-80b8-16c5583e0099]
[2021-01-06 19:51:44,755: WARNING/ForkPoolWorker-1] 启动漏洞容器成功,任务ID:50ea7274-5850-4fc2-8847-20de15e9f953
[2021-01-06 19:51:44,783: INFO/MainProcess] Received task: tasks.stop_container[5443bcfa-27e1-4560-83c0-1e7281e818fa] ETA:[2021-01-06 12:21:44.760077+00:00]
[2021-01-06 19:51:44,785: INFO/ForkPoolWorker-1] Task tasks.run_container[23a14cb2-d962-4ad7-80b8-16c5583e0099] succeeded in 1.9188701049999963s: 'dc4c0d65-808a-4de5-8033-7e0c0c0b769a'
[2021-01-06 19:51:49,554: INFO/MainProcess] Received task: tasks.run_container[9ae7dc2f-c713-4263-be1f-f4090359f271]
[2021-01-06 19:51:49,896: ERROR/ForkPoolWorker-1] Task tasks.run_container[9ae7dc2f-c713-4263-be1f-f4090359f271] raised unexpected: APIError(HTTPError('500 Server Error: Internal Server Error for url: http+docker://localhost/v1.35/containers/f7555632a276f37ce9856745a2b22423646ef0cfd962360421449d567c632abc/start'))
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/docker/api/client.py", line 261, in _raise_for_status
response.raise_for_status()
File "/usr/local/lib/python3.9/site-packages/requests/models.py", line 943, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http+docker://localhost/v1.35/containers/f7555632a276f37ce9856745a2b22423646ef0cfd962360421449d567c632abc/start

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/celery/app/trace.py", line 385, in trace_task
R = retval = fun(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/celery/app/trace.py", line 650, in protected_call
return self.run(*args, **kwargs)
File "/vulfocus-api/tasks/tasks.py", line 308, in run_container
docker_container = client.containers.run(image_name, ports=port_dict, detach=True)
File "/usr/local/lib/python3.9/site-packages/docker/models/containers.py", line 791, in run
container.start()
File "/usr/local/lib/python3.9/site-packages/docker/models/containers.py", line 392, in start
return self.client.api.start(self.id, **kwargs)
File "/usr/local/lib/python3.9/site-packages/docker/utils/decorators.py", line 19, in wrapped
return f(self, resource_id, *args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/docker/api/container.py", line 1091, in start
self._raise_for_status(res)
File "/usr/local/lib/python3.9/site-packages/docker/api/client.py", line 263, in _raise_for_status
raise create_api_error_from_http_exception(e)
File "/usr/local/lib/python3.9/site-packages/docker/errors.py", line 31, in create_api_error_from_http_exception
raise cls(e, response=response, explanation=explanation)
docker.errors.APIError: 500 Server Error: Internal Server Error ("driver failed programming external connectivity on endpoint crazy_northcutt (87a8f419dcf1e633dae79fefa595107e6a870e0214ac65223dbe4ee75f25ad35): invalid transport protocol: 0")

镜像状态不稳定

1、30分钟后容器只是暂停并未彻底关闭,启动多个镜像后,会造成容器无法启动的情况
2、启动未到30分钟,镜像就停止了
3、镜像启动完后,再次点击详情(显示端口界面、提交flag的页面)界面会卡死
4、在n页点击搜索按钮显示为n页但内容自动跳转到第一页

安装说明报错问题

python manage.py migrate
一直报错Traceback (most recent call last):
File "manage.py", line 21, in
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.7/dist-packages/django/core/management/init.py", line 381, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.7/dist-packages/django/core/management/init.py", line 325, in execute
settings.INSTALLED_APPS
File "/usr/local/lib/python3.7/dist-packages/django/conf/init.py", line 79, in getattr
self._setup(name)
File "/usr/local/lib/python3.7/dist-packages/django/conf/init.py", line 66, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python3.7/dist-packages/django/conf/init.py", line 157, in init
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 967, in _find_and_load_unlocked
File "", line 677, in _load_unlocked
File "", line 728, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/vulhub/vulfocus-master/vulfocus-api/vulfocus/settings.py", line 157, in
if os.environ['VUL_IP']:
File "/usr/lib/python3.7/os.py", line 679, in getitem
raise KeyError(key) from None
KeyError: 'VUL_IP'

启动漏洞镜像后台执行的命令

你好,我自己做了个镜像,镜像的启动命令是:
docker run -itd --privileged -p 8080:8080 --name tomcat-pass-shell betsy0/tomcat /usr/sbin/init
然后我导入到vulfocus进行管理,发现无法启动,是我容器内的服务做的启动方式不对吗

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.