使用Django編寫簡易測試報告生成器
概述
安全測試人員在工作的時候,不單單需要發現問題,還需要花費精力去撰寫安全測試報告來記錄結果。為了方便,我利用django框架寫了個簡易的安全測試報告撰寫系統。
撰寫報告的時候,需要寫明漏洞名稱、漏洞風險等很多項目內容。對於某一類型漏洞而言,其實有很多項在大多數情況是固定不變的(比如漏洞名稱、修復建議)。我們可以在編寫漏洞的時候直接調用漏洞模板,再添加和修改需要記錄的數據,最終一鍵導出我們設計好的模板。
配置和安裝環境
Django-1.10.8
python2.7
Wndows/Mac
安裝
說明
Mac下安裝mysql以及MySQL-python
如果第二條安裝出現」Failed building wheel for mysql-python」錯誤,則採用以下方法
啟動服務
建庫
本地mysql需要新建配置文件中的資料庫settings.py文件:
建表
啟服務
功能描述
啟動本地服務後,訪問http://localhost:8000/blog/work可以在本地新建一個項目,如下圖所示:
點開項目詳情,可以在其中創建漏洞,並且可以引用不同的漏洞模板:
點擊新建XSS漏洞後,XSS漏洞名稱、風險分析、風險等級、修復建議會自動填充,只需要填寫記錄測試過程即可:
回到之前創建的項目,可以導出報告:
實現了漏洞管理
擴展和說明
漏洞模板創建
models.py文件中創建了BugModel類作為漏洞模板,並添加到admin中,在django的管理後台可以添加模板,訪問http://localhost:8000/admin ,編輯BugModel即可:
然後在views.py中編輯form表單SelectTestFrom,添加模板選擇項:
Word模板擴展
漏洞詳情的使用ckeditor獲取用戶輸入,提交的數據類型為html格式,我這邊自己寫了一個解析html數據的類Html2Word,處理了p/ul/ol/strong/em/img便簽,為防止數據丟失,建議編輯器只用加粗、斜體、圖片、序標的格式:html2word.py
下面是將漏洞欄位填充到word中,如果有需要豐富生成的word模板,可以修改下面的內容:Object2word.py
附件
源碼已經上傳至github:https://github.com/Gin-Cy/bugeditor.git
*本文原創作者:海帶頭,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載
※記我在HackerOne上參與的一次漏洞眾測邀請項目
※幣安網發全球通緝令,25萬美元等值賞金追緝黑客
TAG:FreeBuf |