002-基础入门-Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
一、学习思路
二、Web架构:
1、常规化
原理:源码数据都在同服务器
影响:无,常规安全测试手法
2、站库分离:
原理:源码数据库不在同服务器
存储:其他服务器上数据库&云数据库产品
影响:数据被单独存放,能连接才可影响数据
3、前后端分离
原理:前端JS框架,API传输数据
影响:
1、前端页面大部分不存在漏洞
2、后端管理大部分不在同域名
3、获得权限有可能不影响后端
https://www.rxthink.cn/ 前端站点
http://manage.thinkphp6.elevue.rxthink.cn/content/item 后台管理演示站点
4、宝塔+Phpstudy
原理:打包类集成化环境,权限配置或受控制
影响:攻击者权限对比区别
宝塔搭建网站
1、搭建好服务器(略)
2、下载宝塔安装包,直接双击打开
3、按照提示操作
4、在软件商店里面选择搭建Web的中间件、数据库和编程语言。
5、在软件商店-一键部署里面选择Web程序
6、用浏览器访问
Phpstudy搭建网站
1、搭建好服务器(略)
2、下载Phpstudy安装包,直接双击打开
3、在网站-创建网站里面做相应配置
6、用浏览器访问
拿到权限后
宝塔:
文件管理 锁定目录
命令执行 无法执行
phpstudy
文件管理 锁定目录
命令执行 可以执行
whomi 获取用户权限 - administrator
自己搭建的iis:
文件管理 未锁定目录
命令执行 可以执行
whomi 获取用户权限 - iis apppool\defaultapppool
区别和对比
宝塔面板
注重安全性,提供了一键检查服务器常见16项安全风险的功能
PhpStudy
安全性相对较弱,没有专门的安全功能,用户需要自行进行安全设置和防护措施
结论:宝塔更安全
5、Docker容器
Docker 是一种开源的应用容器引擎,它允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
原理:虚拟化技术独立磁盘空间,非真实物理环境
影响:攻击者虚拟空间磁盘
攻击者虚拟空间磁盘:
- 篡改: 攻击者可能会尝试修改容器内的文件系统,比如植入恶意代码或修改配置文件,以便于维持对容器的控制或进一步攻击宿主机。
- 删除: 删除关键文件可能导致容器服务不可用,这是一种拒绝服务攻击(DoS)。
- 读取敏感信息: 攻击者可能会尝试读取容器内的敏感数据,如数据库凭证、API密钥等,这可能导致数据泄露。
容器逃逸:
容器逃逸是指攻击者从容器内部突破容器的隔离限制,获取宿主机的访问权限。这通常涉及到利用宿主机或容器运行时的漏洞。
共享内核的安全性:
Docker 容器共享宿主机的内核,这意味着如果攻击者能够在一个容器内执行内核级别的攻击,比如利用内核漏洞,那么他们可能会影响到宿主机上运行的所有容器。
6、建站分配站
1.托管
托管服务是指将网站的数据存储在第三方服务器上,这些服务器负责网站的运行和维护。用户不需要自己购买和维护服务器硬件,而是通过支付一定的费用,将网站托管在专业的数据中心。
2.申请域名
因为是用的第三方服务器,域名并不是可以编辑。想改的话需要自己租域名,花钱去修改域名
通常涉及以下步骤:
- 选择域名: 用户选择一个独特且易于记忆的域名。
- 注册域名: 通过域名注册商将域名注册到域名系统(DNS)中。
- 域名解析: 将域名指向托管服务提供商的服务器IP地址。
原理:利用别人域名模版建立
影响:实质安全测试非目标资产
7、静态Web
例子:大学学的html设计的网站
原理:数据没有传输性(js传输不算)
影响:无漏洞
- 数据没有传输性: 静态网站的内容在服务器上是预先定义好的,用户访问时,服务器直接将这些文件发送给用户的浏览器,不涉及服务器端的数据处理或数据库查询。这意味着静态网站的内容是固定的,不会根据用户输入或服务器端状态的变化而变化。
- 不依赖服务器端脚本: 静态网站不依赖于服务器端脚本语言(如PHP、Python等)来动态生成内容。因此,它们通常比动态网站加载更快,也更容易维护。
- 客户端渲染: 所有的渲染工作都在用户的浏览器端完成,服务器只负责提供静态资源。
8、伪静态
动态转为静态技术,伪装的静态
原理:
伪静态技术,也称为URL重写或URL美化,其核心在于Web服务器或应用程序的URL重写模块。当用户访问一个伪静态URL时,服务器会根据预设的规则,将其重写为实际的动态URL,并继续处理这个请求。这个过程对用户是透明的,他们只会看到经过美化的URL。