freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

使用Django编写简易测试报告生成器
2018-04-07 08:00:23

*本文原创作者:海带头,本文属FreeBuf原创奖励计划,未经许可禁止转载

概述

安全测试人员在工作的时候,不单单需要发现问题,还需要花费精力去撰写安全测试报告来记录结果。为了方便,我利用django框架写了个简易的安全测试报告撰写系统。

image.png

撰写报告的时候,需要写明漏洞名称、漏洞风险等很多项目内容。对于某一类型漏洞而言,其实有很多项在大多数情况是固定不变的(比如漏洞名称、修复建议)。我们可以在编写漏洞的时候直接调用漏洞模板,再添加和修改需要记录的数据,最终一键导出我们设计好的模板。

配置和安装环境

Django-1.10.8

python2.7

Wndows/Mac

安装

python –m pip install –r requirements.txt

说明

Mac下安装mysql以及MySQL-python

brew install mysql

pip install MySQL-python

如果第二条安装出现"Failed building wheel for mysql-python"错误,则采用以下方法

LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysql-python

启动服务

建库

本地mysql需要新建配置文件中的数据库settings.py文件:

DATABASES ={
 'default':{ 'ENGINE':'django.db.backends.mysql', 'HOST':'127.0.0.1', 'PORT':'3306', 'NAME':'bugwrite', # 数据库名 'USER':'root', 'PASSWORD':'root', 'OPTIONS':{ 'init_command':"SET sql_mode='STRICT_TRANS_TABLES'" }, }
}

建表

cd myweb01

python manage.py makemigrations

python manage.py migrate

启服务

python manage.py runserver

功能描述

启动本地服务后,访问http://localhost:8000/blog/work可以在本地新建一个项目,如下图所示:

image.png

点开项目详情,可以在其中创建漏洞,并且可以引用不同的漏洞模板:

image.png

点击新建XSS漏洞后,XSS漏洞名称、风险分析、风险等级、修复建议会自动填充,只需要填写记录测试过程即可:

image.png

回到之前创建的项目,可以导出报告:

image.pngimage.png

实现了漏洞管理

扩展和说明

漏洞模板创建

models.py文件中创建了BugModel类作为漏洞模板,并添加到admin中,在django的管理后台可以添加模板,访问http://localhost:8000/admin ,编辑BugModel即可:

image.png

然后在views.py中编辑form表单SelectTestFrom,添加模板选择项:

image.png

Word模板扩展

漏洞详情的使用ckeditor获取用户输入,提交的数据类型为html格式,我这边自己写了一个解析html数据的类Html2Word,处理了p/ul/ol/strong/em/img便签,为防止数据丢失,建议编辑器只用加粗、斜体、图片、序标的格式:html2word.py

image.png

下面是将漏洞字段填充到word中,如果有需要丰富生成的word模板,可以修改下面的内容:Object2word.py

image.png

附件

源码已经上传至github:https://github.com/Gin-Cy/bugeditor.git

*本文原创作者:海带头,本文属FreeBuf原创奖励计划,未经许可禁止转载

# Django
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者