2024全网首发小迪安全第一课基础入门

目录

基础入门

一、基础入门-Web 应用-域名上的技术要点

#域名差异-主站&分站&端口站&子站

域名的定义

域名的组成

域名的注册流程

注意事项

二、基础入门-Web 应用-源码上的技术要点

#源码差异-结构&语言&框架&闭源&加密

源码目录结构对应

源码开发语言类型

语言开发框架组件

开源闭源加密类型

三、基础入门-Web 应用-数据上的技术要点

#数据差异-本地数据&分离数据&云数据库

数据库类型

本地数据库

分离数据库

云数据库

数据库核心思想

#平台差异-中间件类型&系统类型&容器类型

系统

容器

中间件

四、基础入门-Web 应用-解析上的技术要点

#解析差异-URL路由&绝对相对路径&格式权限

URL路由(URL Routing)

绝对路径与相对路径

格式权限(Format Permissions)

差异解析

URL路由

相对绝对

格式权限


基础入门

一、基础入门-Web 应用-域名上的技术要点

#域名差异-主站&分站&端口站&子站

域名的定义

域名(Domain Name)是互联网上用来识别和访问网站的一个独特名称。它是一个易于记忆的地址,用于代替IP地址(如192.168.1.1),使得用户能够更方便地访问互联网上的资源。域名系统(DNS)负责将域名转换为IP地址,以便计算机能够理解和处理。

域名的组成

一个域名通常由以下几个部分组成:

  1. 顶级域名(TLD):最右边的部分,如.com、.org、.net、.cn等。

  2. 二级域名:位于顶级域名之前,通常是公司或组织的名称,如moonshot在moonshot.cn中。

  3. 子域名:位于二级域名之前,用于进一步细分服务,如www在www.moonshot.cn中。

域名的注册流程
  1. 选择域名:确定您想要注册的域名,确保它未被注册且符合您的业务或个人需求。

  2. 选择注册商:选择一个可靠的域名注册商,如GoDaddy、Namecheap等。

  3. 检查域名可用性:在注册商的网站上检查您选择的域名是否可用。

  4. 注册域名:如果域名可用,按照注册商的指示完成注册流程,包括填写个人信息和支付注册费用。

  5. 域名管理:注册成功后,您将获得域名的管理权限,可以设置DNS记录、更新注册信息等。

  6. 域名续费:域名注册通常不是永久的,需要定期续费以保持域名的所有权。

注意事项
  • 域名的唯一性:一旦域名被注册,其他人就不能再注册相同的域名。

  • 域名的保护:保护您的域名不被滥用或盗用非常重要,定期检查注册信息和续费状态。

  • 隐私保护:一些注册商提供隐私保护服务,可以隐藏您的个人信息,防止被公开。

1 主站 、

www.xiaodi8.com:80 php 47.75.212.155

2 分站 、

blog.xiaodi8.com 47.242.212.243 47.75.212.155

主站和分站可能放在一个服务器上,主站难以下手时可以从分站入手,分站会对主站造成影响

3 端口站 、

www.xiaodi8.com:88 java

http:80

https:443

4 目录站 、

www.xiaodi8.com/bbs/

5、子站

123.blog.xiaodi8.com

二、基础入门-Web 应用-源码上的技术要点

#源码差异-结构&语言&框架&闭源&加密

源码目录结构对应

后台目录,文件目录,逻辑目录,前端目录,数据目录,配置文件等

  1. 后台目录(Backend Directory)

    • 后台目录通常包含服务器端的代码和资源,这些代码负责处理业务逻辑、数据库交互、API服务等。

    • 示例:一个Web应用的后台目录可能包含api/, controllers/, models/, services/等子目录。

  2. 文件目录(File Directory)

    • 文件目录是指存储静态文件的地方,如图片、文档、视频等。

    • 示例:在Web应用中,文件目录可能是public/或static/,包含images/, css/, js/等子目录。

  3. 逻辑目录(Logic Directory)

    • 逻辑目录包含实现应用程序逻辑的代码,通常是指业务逻辑层。

    • 示例:在MVC架构中,逻辑目录可能是logic/或business/,包含处理业务规则的类和方法。

  4. 前端目录(Frontend Directory)

    • 前端目录包含客户端的代码和资源,如HTML、CSS、JavaScript等。

    • 示例:前端目录可能是src/, app/, assets/等,包含components/, views/, styles/等子目录。

  5. 数据目录(Data Directory)

    • 数据目录用于存储应用程序的数据文件,如数据库、配置文件、缓存文件等。

    • 示例:数据目录可能是data/, db/, cache/等,包含数据库文件、日志文件等。

  6. 配置文件(Configuration Files)

    • 配置文件包含应用程序的配置信息,如数据库连接字符串、API密钥、服务端点等。

    • 示例:配置文件可能是config.json, settings.yml, .env等。

在实际的项目中,这些目录的结构和命名可能会有所不同,具体取决于项目的需求和开发团队的约定。以下是一些常见的项目结构示例:

  • 一个典型的Web应用项目结构:

    my-web-app/
    ├── backend/
    │   ├── api/
    │   ├── controllers/
    │   ├── models/
    │   └── services/
    ├── frontend/
    │   ├── src/
    │   │   ├── components/
    │   │   ├── views/
    │   │   └── styles/
    │   └── public/
    │       ├── images/
    │       ├── css/
    │       └── js/
    ├── data/
    │   ├── db/
    │   ├── logs/
    │   └── cache/
    ├── config/
    │   ├── config.json
    │   ├── settings.yml
    │   └── .env
    └── docs/
源码开发语言类型

ASP,ASPX,PHP,Java,Python,Go,Javascript等

语言开发框架组件

PHP:Thinkphp Laravel YII CodeIgniter CakePHP Zend等

JAVA:Spring MyBatis Hibernate Struts2 Springboot等

Python:Django Flask Bottle Turbobars Tornado Web2py等

Javascript:Vue.js Node.js Bootstrap JQuery Angular等

开源闭源加密类型

开源-如Zblog

闭源-如内部开发

加密-如通达OA

  1. 开源(Open Source)

    • 开源软件是指源代码可以被公众查看、修改和增强的软件。开源软件通常由社区驱动,任何人都可以贡献代码。一些知名的开源软件包括:

      • Linux:一个开源的操作系统内核。

      • Apache:一个开源的Web服务器软件。

      • MySQL:一个流行的开源数据库管理系统。

      • WordPress:一个广泛使用的开源内容管理系统(CMS)。

      • Android:基于Linux的开源操作系统,主要用于移动设备。

  2. 闭源(Closed Source)

    • 闭源软件是指源代码不公开,只有软件开发者或公司内部人员可以访问和修改的软件。用户只能使用软件的编译版本,不能查看或修改源代码。一些知名的闭源软件包括:

      • Microsoft Windows:微软的操作系统。

      • Adobe Photoshop:一个图像编辑软件。

      • Apple macOS:苹果的操作系统。

      • Microsoft Office:一个办公软件套件。

      • QuickBooks:一个会计软件。

  3. 加密(Encrypted)

    • 加密软件不一定是指软件的源代码被加密,而更多是指软件的某些部分或功能被加密,以保护知识产权或确保数据安全。加密可以应用于开源或闭源软件。一些加密软件的例子包括:

      • PGP(Pretty Good Privacy):一个用于数据加密的软件。

      • VeraCrypt:一个磁盘加密软件。

      • HTTPS:一种用于加密Web通信的协议。

      • DRM(数字版权管理):用于保护数字媒体内容的技术。

三、基础入门-Web 应用-数据上的技术要点

#数据差异-本地数据&分离数据&云数据库

  1. 本地数据(Local Data)

    • 本地数据是指存储在个人电脑、服务器或企业内部网络中的数据库里的数据。企业拥有数据库的物理硬件和软件,需要负责数据库的安装、配置、维护、备份和安全性。

    • 示例:一个公司在其内部服务器上运行的MySQL数据库,存储了公司的财务数据和客户信息。

  2. 分离数据(Separated Data)

    • 分离数据通常指的是存算分离架构中的数据,这种架构将数据存储与计算资源分离,以提高资源利用率和灵活性。在存算分离的架构中,数据可以存储在远程存储系统中,而计算资源则在需要时动态分配。

    • 示例:在云计算环境中,数据存储在S3对象存储中,而计算任务在EC2实例上执行,两者之间通过网络连接。

  3. 云数据库(Cloud Database)

    • 云数据库是指由云服务提供商托管的数据库服务,用户可以通过网络随时随地访问。云数据库的维护、备份和扩展通常由服务提供商负责。

    • 示例:亚马逊的Amazon RDS、Google的Google Cloud SQL,这些服务允许用户在云端存储和管理数据库,而不需要自己管理底层硬件。

数据差异的具体表现:

  • 部署位置

    • 本地数据库:部署在企业内部的服务器或数据中心。

    • 分离数据:可能部署在远程存储系统中,与计算资源分离。

    • 云数据库:部署在云服务提供商的数据中心。

  • 维护与管理

    • 本地数据库:需要企业自己的IT团队进行维护和管理。

    • 分离数据:维护可能涉及多个系统,包括远程存储和本地计算资源。

    • 云数据库:通常由云服务提供商负责维护。

  • 扩展性

    • 本地数据库:扩展通常需要采购额外的硬件设备,过程较为复杂。

    • 分离数据:可以根据需要动态扩展存储和计算资源。

    • 云数据库:可以较为容易地进行水平扩展,通常按需付费。

  • 网络依赖性

    • 本地数据库:不依赖外部网络,数据存取不受网络状况影响。

    • 分离数据:可能需要网络连接来协调存储和计算资源。

    • 云数据库:需要稳定的网络连接来访问。

  • 成本结构

    • 本地数据库:主要是资本成本(CapEx),需要前期硬件和软件的投资。

    • 分离数据:成本可能涉及存储和计算资源的使用,具体取决于服务提供商的定价模型。

    • 云数据库:通常是运营成本(OpEx),按使用量付费。

  • 安全性和合规性

    • 本地数据库:安全性和合规性依赖于企业的安全措施和管理。

    • 分离数据:安全性和合规性可能涉及多个层面,包括数据传输和存储。

    • 云数据库:通常提供高级的安全措施,如数据加密、访问控制等,但合规性可能需要根据具体的云服务提供商和地区法规来确定。

数据库类型

Access、MYSQL、SqlServer、Oracle、

Redis、DB2、Postgresql、MongoDB等

本地数据库

本地服务器搭建 47.75.212.243

分离数据库

另外的服务器搭建 47.75.212.243 数据 47.242.xxx.xxx

云数据库

RDS等

数据库核心思想

外部连接

比如:拿到目标的一个源码,分析到数据库配置文件,找到其中的账号密码,连接的地址

网站服务器 47.75.212.243

数据 47.242.xxx.xxx

数据库连接只让网站服务器47.75.212.243的连接,而自己的IP不是这个,拿到账号密码也无法连接

背景:www.xiaodi8.com 47.75.212.243 数据库放在云数据库上面

拿到www.xiaodi8.com的webshell 网站权限 怎么获取到数据库里面的数据 权限

解决:47.75.212.243只能让它去连接云数据库

本地真机攻击机器 xxx.xxx.xxx.xxx 去连接数据库 账号密码正确也无法连接

1.上传一个数据库连接脚本到网站上 访问脚本去让脚本去连接数据库

2.利用网站权限去上传代理流量工具 做数据中转的操作 去连接数据库

#平台差异-中间件类型&系统类型&容器类型

系统

Windows、Linux、MacOS等

容器

Docker、K8s、Vmware、VirtualBox等

中间件

Apache、Nginx、IIS、lighttpd、Tomcat、Jboos、Weblogic、Websphere、Jetty等

四、基础入门-Web 应用-解析上的技术要点

#解析差异-URL路由&绝对相对路径&格式权限

URL路由(URL Routing)

URL路由是指在Web开发中,根据请求的URL来决定执行哪个程序或方法的过程。它允许服务器将不同的URL路径映射到不同的处理函数上。

  • 特点

    • 动态:可以根据URL的结构和参数动态地决定如何处理请求。

    • 灵活性:可以轻松添加或修改路由规则。

    • 可读性:URL结构清晰,易于理解和记忆。

  • 示例

绝对路径与相对路径

路径是指文件系统中文件或目录的位置。

  • 绝对路径

    • 从根目录开始的完整路径。

    • 包含从根到目标文件或目录的所有必需的目录和子目录。

    • 示例:在Unix系统中,/home/user/documents/report.doc 是一个绝对路径。

  • 相对路径

    • 相对于当前工作目录的路径。

    • 依赖于当前目录的位置。

    • 示例:如果当前目录是 /home/user,那么 documents/report.doc 是一个相对路径,它指向 /home/user/documents/report.doc。

格式权限(Format Permissions)

格式权限通常指的是文件的权限,它决定了谁可以读取、写入或执行文件。

  • 特点

    • 安全性:控制对文件的访问,防止未授权的访问。

    • 灵活性:可以为不同的用户或用户组设置不同的权限。

    • 重要性:对于保护敏感数据和系统安全至关重要。

  • 示例

    • 在Unix系统中,文件权限如 -rwxr-xr-x 表示所有者有读、写、执行权限,同组用户和其他用户有读和执行权限。

差异解析

  • URL路由 vs. 绝对相对路径

    • URL路由关注的是Web请求的处理,而路径关注的是文件系统中文件的位置。

    • URL路由是动态的,依赖于Web框架或服务器的配置;路径是静态的,依赖于文件系统结构。

  • 绝对路径 vs. 相对路径

    • 绝对路径提供了从根目录到文件的完整路径,而相对路径是相对于当前工作目录的。

    • 绝对路径不依赖于当前目录,而相对路径依赖于当前目录。

  • 格式权限 vs. URL路由和路径

    • 格式权限与URL路由和路径不同,它不涉及文件的位置或Web请求的处理,而是涉及文件访问的权限控制。

    • 格式权限是操作系统层面的概念,而URL路由和路径是文件系统和Web开发层面的概念。

URL路由

URL访问对应文件,MVC模型等

xxx.xiaodi8.com/admin/login.php = 源码/admin/login.php

框架开发 MVC模型源码 :根据框架的路由决定

xxx.xiaodi8.com/admin/login ≠ 源码/admin/login

相对绝对

相对当前目录,完整的目录路径

../../ 相对路径

D:\xxx\xxx\xxx 绝对路径

格式权限

后门解析格式,代码正常执行,脚本执行权限等

在网站上传后门时,如果没有权限访问,可以将其上传到上一级目录中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值