如何用图片做网站背景,查关键词排名,网站技术制作流程图,云南省建设工程造价信息网目录 前言一、 中间件1.1消息中间件1.2数据库中间件1.3web服务器中间件1.4应用服务器中间件1.5远程过程调用中间件 二、源码**组成部分#xff1a;**1、**前端#xff08;客户端#xff09;代码#xff1a;**2、**后端#xff08;服务器端#xff09;代码**#xff1a;3… 目录 前言一、 中间件1.1消息中间件1.2数据库中间件1.3web服务器中间件1.4应用服务器中间件1.5远程过程调用中间件 二、源码**组成部分**1、**前端客户端代码**2、**后端服务器端代码**3、资源文件4、API接口5、框架和库6、配置文件 三、数据库四、CDN五、WAF六、DNS解析DNS 解析过程1. DNS 查询的启动2. 查询本地缓存3. 查询本地 DNS 服务器4. 向根 DNS 服务器查询5. 向顶级域TLDDNS 服务器查询6. 向权威 DNS 服务器查询7. 返回 IP 地址8. 缓存结果 DNS 解析类型DNS 解析缓存 七、渗透目标模式八、web架构1、常规化2、站库分离3、前后端分离4、宝塔phpstudy等集成环境5、Docker容器6、静态web 前言
将之前学长为我培训的笔记进行整理与实践。
一、 中间件
中间件是一种位于操作系统和应用程序之间的软件层旨在提供各种支持服务使得不同的软件系统能够有效地进行通信和数据交换。它常常被用来解决不同系统或应用之间的兼容性和通信问题简化开发流程。
1.1消息中间件
如RabbitMQ、Kafka、ActiveMQ用于消息队列的管理。
1.2数据库中间件
用于数据库连接池、数据缓存、分布式数据库的管理。
1.3web服务器中间件
如Apache、Nginx通常用于Web应用与浏览器之间的通信处理HTTP请求和响应。
1.4应用服务器中间件
如JBoss、Tomcat提供Web应用程序的运行环境管理应用的生命周期、事务等。
1.5远程过程调用中间件
如gRPC、Thrift支持远程服务调用简化分布式系统的实现。
二、源码
网站源码指的是构成一个网站的所有代码和资源文件通常包括前端代码如 HTML、CSS 和 JavaScript以及后端代码如服务器端脚本、数据库查询和 API 接口。这些代码和文件一起工作定义了网站的外观、功能和与用户的交互方式。
组成部分
1、前端客户端代码
HTMLHTML 是网页的结构语言用于定义网页的内容和结构。通过 HTML开发者可以创建网页的元素如标题、段落、表格、图片、链接等。
CSSCSS 用于控制网页的布局和样式。它定义了页面的颜色、字体、大小、边距、位置等。
JavaScriptJavaScript 是一种编程语言通常用于为网页添加动态效果和交互功能。它可以响应用户操作、修改网页内容、与后端服务器交互等。
2、后端服务器端代码
后端代码处理网站的业务逻辑、数据库交互、认证授权等功能。
Web服务器代码Web服务器如 Apache、Nginx负责处理来自客户端的请求并返回适当的响应。后端代码通常运行在服务器上接受请求并返回数据。
编程语言后端开发使用多种编程语言如 Python、Java、PHP、Ruby、Node.js、Go 等来实现业务逻辑。
数据库代码网站通常会使用数据库来存储和管理数据。后端代码可以通过 SQL 或 NoSQL 查询来与数据库交互获取、插入、更新或删除数据。
3、资源文件
网站源码还包括一些静态资源文件如图片、视频、字体、音频等这些文件用于丰富网站内容和界面。
4、API接口
网站的后端经常会提供 RESTful API 或 GraphQL API用于与前端进行数据交互。前端通过发送 HTTP 请求如 GET、POST向后端接口请求数据或发送数据。
5、框架和库
网站开发往往会使用一些框架和库来提高开发效率、管理复杂性或实现特定功能。例如
前端框架React、Vue.js、Angular 等用于构建动态用户界面。
后端框架DjangoPython、Spring BootJava、ExpressNode.js等用于构建和管理 Web 应用。
6、配置文件
配置文件用于定义网站的环境和运行时配置。常见的配置文件包括
package.json 用于 Node.js 项目管理依赖、脚本等
.env 用于存储环境变量如数据库连接信息
webpack.config.js 用于配置 Webpack 构建工具
三、数据库
数据库是一个结构化的数据存储系统用于存储、管理和操作大量数据。它通过组织数据的方式使得用户能够高效地存取、修改、删除和管理数据。数据库系统通常包括数据库管理系统DBMS它是管理数据库的关键软件提供了数据的创建、读取、更新和删除即 CRUD 操作等功能。
四、CDN
CDN内容分发网络Content Delivery Network是一种通过分布式的服务器集群来加速网站内容传输的技术。它通过将网站的静态资源如图片、视频、JavaScript、CSS 文件等存储在全球多个地理位置的缓存服务器上使得用户能够从距离他们最近的服务器获取内容从而提高访问速度、降低延迟优化网站性能。
原理 内容分发服务旨在提高访问速度减轻源站压力
影响
隐藏真实源IP导致对目标测试错误
防护 DDoS 攻击。
提供 HTTPS 加密支持保护数据传输安全。
CDN内容分发结构
五、WAF
原理 web应用防火墙旨在提供保护。
影响 常规web安全测试手段会受到拦截。 案例 雷池waf https://demo.waf-ce.chaitin.cn:9443/statistics/dashboard https://demo.waf-ce.chaitin.cn:10084/ 六、DNS解析
DNS解析是将人类可读的域名如www.example.com转换为计算机可理解的 IP 地址如192.168.1.1的过程。DNS 是互联网的一个核心部分承担着在因特网上提供域名与 IP 地址之间映射的功能使得用户能够通过简易的域名访问网站而不必记住复杂的 IP 地址。
DNS 解析过程
DNS 解析涉及一系列的查询步骤通常包含从客户端到 DNS 服务器的多次请求。以下是 DNS 解析的详细过程
1. DNS 查询的启动
当你在浏览器中输入一个网址如www.example.com并按下回车时浏览器会启动 DNS 查询过程来找到该网站的 IP 地址。
2. 查询本地缓存
在 DNS 查询过程中系统会首先检查本地 DNS 缓存看看之前是否已经查询过该域名及其对应的 IP 地址。如果缓存中有该域名的解析记录直接返回该记录避免进行更复杂的查询。
本地 DNS 缓存操作系统和浏览器会缓存域名与 IP 地址的映射以提高访问速度并减少网络流量。
3. 查询本地 DNS 服务器
如果本地没有缓存记录操作系统会向本地的 DNS 解析服务器发送请求。通常情况下本地的 DNS 服务器是由 ISP互联网服务提供商提供的或者是你手动配置的第三方 DNS 服务如 Google 的8.8.8.8或 Cloudflare 的1.1.1.1。
DNS 递归查询本地 DNS 服务器会代替客户端完成后续的 DNS 查询它将会从根域名服务器开始逐步查找直到找到目标域名的解析结果。
4. 向根 DNS 服务器查询
如果本地 DNS 服务器没有该域名的缓存记录它将向根 DNS 服务器发起请求。根 DNS 服务器是 DNS 系统的最高层次它不直接保存域名和 IP 地址的映射但它知道该请求应该去哪里查找。
根 DNS 服务器根 DNS 服务器是全世界分布的几台服务器的集合每一台根 DNS 服务器都知道所有顶级域TLD服务器的 IP 地址。例如对于 www.example.com根 DNS 服务器知道该查询应由 .com 域的权威 DNS 服务器来处理。
5. 向顶级域TLDDNS 服务器查询
根 DNS 服务器将请求指向与域名的顶级域例如 .com、.org、.net 等相对应的 TLD 服务器。TLD 服务器负责处理特定顶级域的所有域名请求。
TLD 服务器这些服务器存储有关该顶级域的所有域名的 IP 地址记录。比如.com 顶级域的服务器存储了所有以 .com 结尾的域名的解析信息。
6. 向权威 DNS 服务器查询
TLD 服务器会根据请求提供该域名的权威 DNS 服务器的 IP 地址。权威 DNS 服务器存储着关于该域名的确切解析记录例如A 记录、CNAME 记录等。
权威 DNS 服务器这是域名的“权威”服务器它保存着特定域名的确切 DNS 记录。如果你查询 www.example.com权威 DNS 服务器会直接返回该域名的 IP 地址。
7. 返回 IP 地址
当权威 DNS 服务器找到该域名对应的 IP 地址后DNS 查询结果会通过各级 DNS 服务器返回给本地 DNS 服务器然后再返回给客户端浏览器。此时浏览器已经获得了域名对应的 IP 地址可以向该 IP 地址发起 HTTP 请求加载网页内容。
8. 缓存结果
在得到 IP 地址后本地 DNS 服务器会将该 IP 地址缓存一段时间称为 TTLTime to Live。TTL 是一个值表示缓存的有效期过期后缓存会被清除。TTL 的设置通常是由域名的管理员配置的。这样在未来的查询中DNS 服务器可以直接使用缓存数据而无需重新执行完整的查询过程。
DNS 解析类型
DNS 解析有几种不同类型的查询 A 记录Address Record A 记录将一个域名映射到一个 IPv4 地址。例如www.example.com可能会指向 192.168.1.1。 AAAA 记录 AAAA 记录与 A 记录类似但它将一个域名映射到一个 IPv6 地址。 CNAME 记录Canonical Name Record CNAME 记录将一个域名别名映射到另一个域名的真实名称。例如www.example.com可以是 example.com 的别名。 MX 记录Mail Exchange Record MX 记录用于指定邮件服务器的位置。例如mail.example.com用于接收 example.com域的邮件。 NS 记录Name Server Record NS 记录指定负责管理某个域名的 DNS 服务器。 PTR 记录Pointer Record PTR 记录用于反向 DNS 查找即从 IP 地址找到域名。 TXT 记录 TXT 记录可以包含任意的文本信息常用于域名验证如 SPF、DKIM等。
DNS 解析缓存
为了提高性能DNS 系统会缓存解析结果。这些缓存可以存储在不同的地方
本地计算机的 DNS 缓存操作系统会存储最近查询过的 DNS 记录。缓存通常有 TTL 值过期后需要重新解析。ISP 提供的 DNS 缓存ISP 的 DNS 服务器也会缓存解析结果以便其他用户请求相同的域名时能够更快速地响应。浏览器缓存浏览器也会缓存 DNS 查询结果以减少对 DNS 服务器的请求次数。
七、渗透目标模式
渗透渗透是针对程序目标模式分为子域名模式、端口模式、目录模式
子域名模式 a.shallowdream.sbs b.shallowdream.sbs
端口模式 a.com:1234 a.com:80
目录模式 a.com/cms a.com/bcms a.com/cms/dddd
八、web架构
1、常规化
原理源码数据都在同服务器
影响无常规安全测试手法一切常规
2、站库分离
原理源码数据库不在同服务器
存储其他服务器上数据库云数据库产品
影响数据被单独存放能连接才可影响数据
前端 后端 数据库
127.0.0.1:3306
数据库密码
服务器被拿下了但是拿不到数据
3、前后端分离
原理 前端JS框架API传输数据 vue框架
影响
1、前端页面大部分不存在漏洞 eg无意义的xss获取不到cookie的xss
2、后端管理大部分不在同域名 a.com b.com
3、获得权限有可能不影响后端
前端页面大部分不存在漏洞主要是找信息泄露拿到重要信息后再对后端进行渗透
4、宝塔phpstudy等集成环境
原理打包类集成化环境权限配置或受控制
影响攻击者权限对比区别
5、Docker容器
原理虚拟化技术独立磁盘空间非真实物理环境
影响攻击者虚拟空间磁盘
6、静态web
例子各种公司、大学的首页网站等
原理数据没有传输性js传输不算无请求包与响应包只有html和css格式以及静态文件。
影响无漏洞信息泄露除外