目录
一、Web架构展示
1、套用模版型
csdn / cnblog / github / 建站系统(凡科)等
安全测试思路上的不同:
一般以模版套用,基本模版无漏洞,大部分都采用测试用户管理权限为主
2、前后端分离
一个后台可以管理多个网站
前端语言
前端主要负责用户界面的呈现和交互,运行在用户的浏览器中。
-
HTML (HyperText Markup Language)
-
用于定义网页的结构和内容。
-
例如:标题、段落、图片等。
-
-
CSS (Cascading Style Sheets)
-
用于美化网页。
-
例如:字体、颜色、布局。
-
-
JavaScript
-
用于实现动态交互效果。
-
例如:按钮点击、动态加载数据。
-
-
TypeScript
- JavaScript 的超集,添加了静态类型支持,适合大型项目。
-
框架和库(基于 JavaScript/TypeScript):
-
React.js:由 Facebook 开发,专注于构建用户界面。
-
Vue.js:轻量、易用的框架。
-
Angular:Google 开发的全功能框架。
-
Svelte:新兴的前端框架,构建高性能应用。
-
后端语言
后端负责服务器逻辑、数据库交互和处理业务逻辑。
-
JavaScript (Node.js)
-
使用 JavaScript 构建后端,支持高并发。
-
例如:实时聊天应用。
-
-
Python
-
简洁、易学,适合快速开发。
-
框架:Django 、Flask。
-
-
Java
-
企业级应用的主流语言,跨平台性能优异。
-
框架:Spring。
-
-
PHP
-
专注于 Web 开发,适合动态网页生成。
-
框架:Laravel。
-
-
Ruby
-
语法优雅,开发效率高。
-
框架:Ruby on Rails。
-
-
C# (ASP.NET)
- 由微软开发,适合构建 Windows 平台和 Web 应用。
-
Go (Golang)
- 适合高性能和高并发场景。
-
Rust
- 适合构建高性能、安全性要求高的系统。
例子:RXThinkCMF - 基于 PHP 语言的敏捷开发框架
前后端分离的站点并非没有漏洞,实际上还是有漏洞的,关键点在于对这个框架的了解程度,以及有没有去深入利用漏洞。
安全测试思路上的不同:前端以JS(Vue,NodeJS等)安全问题,主要以API接口测试,前端漏洞(如XSS)为主,后端隐蔽难度加大。
二、对比三种搭建方式的差异(安全测试渗透测试过程中)
均采用PHP语言的web应用(其他语言可能对结果有误差)
1、集成软件包
宝塔,Phpstudy,xamp等
宝塔搭建
后门的权限:
命令执行不行 文件管理除web目录能看 其他都不能看
宝塔可以控权 Phpstudy没有控权 比自主搭建放出的权限更高
继续:绕过宝塔限制 技术要点
2、自主环境镜像
云镜像打包,自行一个个搭建
Ubuntu
命令执行可以 文件管理基本都能看 除去一些高权限目录(root目录等)
继续:提权横向 技术要点
3、容器拉取镜像
docker容器搭建
内置的虚拟化技术 单独搞了一个磁盘空间在给这个应用做支撑
继续:逃逸提权技术 技术要点
三、其他web架构
1、纯静态页面
纯HTML+CSS+JS的设计
安全测试思路上的不同:无后期讲到的Web漏洞
找线索:找资产,域名,客户端等
四、Web源码形式
旨在了解源码差异,后期代码审计和测试中对源码真实性的判断
后台地址
1、单纯简易源码
2、MVC框架源码
了解URL对应文件 文件对应URL
知道漏洞该怎么触发测试
phpthink框架
application\admin\controller
错误:xxx.com/aapplication\admin\controller
3、编译调用源码
如:NET-DLL封装 Java-Jar打包
4、前后端分离源码
https://segmentfault.com/a/1190000045026063
前端:nodejs vue等(js开发框架)
后端:php java python等
5、加密型源码
通达OA