Web渗透的实践教学平台的设计与实现
Web渗透的实践教学平台,主要设计思路是为了设计一些Web漏洞(例如SQL注入攻击、文件上传绕过)使得渗透测试人员可以实践
平台的设计从2022年三月份到四月份吧,四月中旬后主要在调整功能,UI,以及修改一些遗留Bug
其次本篇博客不放核心代码,仅作为设计参考
-
使用环境
1.安装 node.js ,vue 脚手架等
2.安装 python ,flask
3.还有一些依赖,不多描述
-
登录页面
登录页面如图所示,输入框中的密码使用md5加密传值到后端进行校验,提高一定的安全性。
登录页面还有注册和忘记密码的跳转按钮,提高平台的完整性
-
注册页面和忘记密码页面
注册页面和忘记密码页面基本一直,主要是使用的接口不同
这两个页面都使用了邮箱,确保账号的所有权是该用户的,邮箱使用的方法是flask的email
邮箱,百度很多教程,选一个自己喜欢的,改一下就能用
-
平台页面展示
功能设计如图所示,主要设计了漏洞知识介绍,渗透演练,成绩展示,个人中心
漏洞知识介绍主要有SQL注入攻击、文件上传绕过、XSS攻击的介绍,和以往的靶场不同,增加知识介绍,方便学习人员可以直接通过平台获取到漏洞的基础知识
渗透演练目前设计是分为SQL注入攻击和文件上传绕过,添加了一些提示、答案等,增加与用户的交互性
成绩展示就是展示渗透演练的成绩,和当前账号绑定在一起,个人中心就是对于账号信息的展示,修改删除等
-
漏洞知识介绍
-
SQL注入攻击
漏洞知识介绍的都比较基础,想学高深的建议去找专门的,不接受吐槽哈
其次这里面还编写了考点的部署,就是渗透演练中SQL注入攻击的关卡部署,还有个答案展示是通过走马灯展示的
-
文件上传攻击
和SQL注入攻击差不多,就不多说了
-
XSS攻击
-
渗透演练
-
SQL渗透演练
SQL渗透演练编写了35关,包括基础的联合注入、回显只有报错信息的报错注入、回显只有对错的布尔盲注、没有回显但是可以通过时间判断的时间盲注、搜索型注入
关卡内包括一些提示按钮和答案按钮,还有检测成果的输入框等,这些是与sqli-labs、DVWA有所不同的地方,提高交互性
通过一定的注入可以得到库名、表名、字段名、数据,然后找到检测成果中的数据就可以通过该关
-
文件上传
文件上传编写了9关,有前端校验文件类型,后端校验,黑名单,白名单,二次渲染等
-
成绩