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关,有前端校验文件类型,后端校验,黑名单,白名单,二次渲染等



  • 成绩



posted @ 2022-06-05 10:34  白白以桃花入笺  阅读(320)  评论(0编辑  收藏  举报