TIER 1: Appointment
TIER 1: Appointment
SQL
Structured Query Language 是一种用于管理关系型数据库的编程语言。它是一种标准化的语言,用于定义、操作和管理数据库中的数据。
经常提及的 SQL, DB, DBMS 分别是什么及他们之间的关系
- DB (DataBase) 数据库,在硬盘上以文件的形式存在
- DBMS (DataBase Management System) 数据库管理系统,是一种软件,比如 MySQL, Oracle, SQL Server 等
- SQL (Structured Query Language) 结构化查询语言,是一门标准通用的语言
他们之间的关系:
DBMS --(执行)-> SQL --(操作)-> DB
SQL 语言具有以下主要组成部分:
数据定义语言(DDL):DDL 用于定义数据库结构和模式。DDL 语句允许用户定义数据库的结构和模式,例如创建新表、添加新列或修改表的结构。
数据操作语言(DML):DML 用于处理数据库中的数据。DML 语句允许用户向表中插入新数据、修改现有数据和删除数据行。
数据查询语言(DQL):DQL 用于查询数据库中的数据。DQL 语句允许从一个或多个表中检索数据,并可以使用条件、排序、分组和连接等来操作和筛选数据。
事务处理语言(TPL):TPL 用于处理数据库操作的事务性,即一系列相关的数据库操作要么全部成功执行,要么全部回滚。其意义在于保证数据库中的数据一致性。
数据控制语言(DCL):DCL 用于控制数据库对象的访问权限和安全性。
不同的数据库系统可能会有一些差异和特定的扩展,因此在使用 SQL 时,建议参考具体数据库的文档和规范。所有阅读文档是基本功,不要惧怕文档。它是帮助你解决问题的最好的工具
下面是资料推荐:
SQL 由 ISO(国际标准化组织)和 ANSI(美国国家标准化组织)制定和维护,下面是 ISO/IEC 9075 标准系列参考:
- ISO/IEC 9075-1:2016 https://www.iso.org/standard/63555.html
- ISO/IEC 9075-2:2016 https://www.iso.org/standard/63556.html
- ISO/IEC 9075-3:2016 https://www.iso.org/standard/63557.html
- ISO/IEC 9075-4:2016 https://www.iso.org/standard/63558.html
- ISO/IEC 9075-9:2016 https://www.iso.org/standard/63563.html
W3Schools SQL 教程:https://www.w3schools.com/sql/
常用 DBMS 官方文档【根据你目前学习的内容选择性进行巩固】:
- MySQL官方文档:https://dev.mysql.com/doc/
- PostgreSQL官方文档:https://www.postgresql.org/docs/
- Oracle官方文档:https://docs.oracle.com/en/database/
- Microsoft SQL Server官方文档:https://docs.microsoft.com/en-us/sql/
在靶机 Appointment 和 Sequel 中,我们探讨的都是 MySQL 相关内容,因此推荐阅读 MySQL 官方文档。
PII
Personally Identifiable Information 是个人可识别信息,指可以用于唯一标识、定位或联系特定个人的数据或信息。比如姓名、身份证号、手机号、邮箱、银行卡号等。这里只是简单提及,作为术语科普
在进行信息收集时,我们核心的目标就是收集到 PII,因为这些信息可以帮助我们进行进一步的渗透。
OWASP
Open Web Application Security Project 是一个致力于提升 Web 应用程序安全的全球性开放社区和组织。OWASP 的使命是帮助组织开发、获取和维护可信赖的应用程序,通过教育、研究和开发开源工具和资源来推动应用程序安全。OWASP的官方网站 https://www.owasp.org
OWASP Top 10 是 OWASP 组织发布的十大 Web 安全风险,建议阅读 https://owasp.org/www-project-top-ten/
Injection 在 2021 OWASP Top 10 中排名第三,本次靶机 Appointment 涉及到 SQL Injection 的内容,SQL Injection 是 Injection 的分支。
Apache HTTP Server
Apache HTTP Server,通常简称为 Apache,是一个开源的、跨平台的 Web 服务器软件。它是最流行的 Web 服务器之一,被广泛用于搭建和运行网站和 Web 应用。
常用配置文件
httpd.conf
主配置文件httpd-vhosts.conf
虚拟主机配置文件httpd-ssl.conf
SSL 配置文件
端口开放
- HTTP 默认端口 tcp/80
- HTTPS 默认端口 tcp/443
Web 应用是一种在 Web 浏览器或其他客户端设备上运行的应用程序。浏览器通过 url 访问 Web 应用,Web 应用一般通过 HTTP 协议与浏览器进行通信。其实现在主流 HTTPS 协议,但是 HTTPS 协议是基于 HTTP 协议的,因此我们可以认为 Web 应用是基于 HTTP 协议的。区别主要是是否加密,HTTPS 额外套了一层 SSL/TLS 加密。
在本次靶机 Appointment 中,我们并不会涉及到使用 Apache HTTP Server 搭建 Web 服务。
主要是下面内容会涉及 Web 路径爆破,靶机的 Web 服务是基于 Apache HTTP Server 搭建的,因此这里简单介绍一下 Apache HTTP Server。
补充 URL,计算机专业的同学可能会比较熟悉,URL 是 Uniform Resource Locator 的缩写,统一资源定位符,用于定位互联网上的资源。URL 由协议、主机、端口、路径、查询参数、锚点组成。不多说,如果这个都不知道,那就太尴尬了
- RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax: 这是 RFC 文档,规定了统一资源标识符(URI)的通用语法,其中 URL 是一种 URI 的子集。
- MDN Web Docs - URL: Mozilla 开发者网络(MDN)提供了有关 URL 的详细文档,包括 URL 对象的属性、方法和用法。
Gobuster
Gobuster是一种用于目录和子域名爆破的开源工具。它通过对目标网站进行字典攻击,逐个尝试可能的目录和子域名,来发现隐藏的目录或敏感信息。
以下是Gobuster的一些特点和用法:
特点:
- 多线程处理:Gobuster 可以使用多个线程同时进行爆破,提高爆破速度。
- 多种模式:它支持多种爆破模式,包括目录爆破、子域名爆破等。
- 自定义字典:你可以使用自定义的字典文件来指定爆破时尝试的目录或子域名列表。
- 状态码过滤:你可以设置过滤规则,只显示特定状态码的响应结果,以过滤掉不感兴趣的目录或页面。
简单用法:
安装 Gobuster:你可以从 https://github.com/OJ/gobuster/releases 下载或者通过包管理工具安装,比如
apt install gobuster
安装。运行 Gobuster:使用命令行界面执行 Gobuster,指定目标 URL、爆破模式、字典文件等参数。例如:
gobuster dir -u http://example.com -w /path/to/wordlist.txt
这将对
http://example.com
进行目录爆破,使用指定的字典文件进行尝试。查看结果:Gobuster 会显示每个尝试的目录或子域名,并显示响应状态码和页面大小等信息。你可以根据需要分析结果并进一步探索目标。
更多内容建议 --help
或者查看官方 Github 项目 https://github.com/OJ/gobuster
关于字典,这里简单提及一下,字典是指用于爆破的文件,其中包含了可能的变量参数。字典是爆破的核心,字典越大,爆破的效果越好,但是也会增加爆破的时间。这里的爆破字典内容主要是目录和子域名。
如果你使用的是 Kali 在
/usr/share/wordlists
中有一个字典合集,其中包含了很多字典文件,你可以使用这些字典文件进行爆破。如果你使用的其它系统,推荐项目 https://github.com/danielmiessler/SecLists
SQL Injection
SQL Injection 通过在应用程序的输入字段中注入恶意的 SQL 语句,从而绕过预期的验证和过滤机制,对数据库进行非法操作或获取敏感信息。以下是一个简单的 SQL 注入的示例:
假设有一个登录表单,用户需要输入用户名和密码才能登录。应用程序将用户提供的输入直接拼接到 SQL 查询语句中,如下所示:
SELECT * FROM users WHERE username = '输入的用户名' AND password = '输入的密码';
攻击者可以在用户名字段中注入恶意的 SQL 代码,以尝试绕过认证验证。例如,如果攻击者在用户名字段中输入
' OR '1'='1'--
,那么最终构成的 SQL 语句将变为:SELECT * FROM users WHERE username = '' OR '1'='1'--' AND password = '输入的密码';
在这种情况下,由于
'1'='1'
永远为真,所以该 SQL 查询将返回所有用户的记录,绕过了密码验证步骤。
实际这里需要一定的 SQL 语法知识,如果你不熟悉 SQL 语法,回顾前面 SQL 中的内容,根据提示进行学习。
通过 SQL 注入登录后就是 flag 信息。
TIER 1: Appointment的更多相关文章
- E-Business Suite 12.2 startCD 50 Install Fails with Fatal Error: TXK Install Service oracle.apps.fnd.txk.config.ProcessStateException: OUI process failed Cannot install Web Tier Utilities
在rhel7.2上,使用startCD 50安装ebs r12.2的使用,安装到38%的时候就报错,遇到了和以下文章类似的问题: http://www.cnblogs.com/abclife/p/49 ...
- Tier和RBD Cache的区别
相同点 缓存 数据不会持久保存在ssd或者内存:预读回写直写 都需要解决缓存数据和磁盘数据不一致和“内存页”置换的问题. 差异点 缓存的位置不同,tier是rados层在osd端进行数据缓存,也就是说 ...
- 在magneto系统中输出tier price的最小值
2012年6月16日星期六 Asia/Shanghai上午11时39分22秒 有的时候,我们想输出产品的tier price 的最小值!如图: 下面是解决的办法: 1. 在catalog/produc ...
- Tier和Layer
在实际开发工作中.我们经常听到"架构设计"和"架构师"这种名词,它并不新奇和神奇,可是却非常少有人对"架构"有全面的了解和认识.更谈不上掌握 ...
- Sharing The Application Tier File System in Oracle E-Business Suite Release 12.2
The most current version of this document can be obtained in My Oracle Support Knowledge Document 13 ...
- i.s.h.med Enhancement for cancelling an appointment
This article intends to introduce my experience about enhancement for canceling an appointment. I tr ...
- WPF 渲染级别 (Tier)
在WPF中,显卡的功能相差很大.当WPF评估显卡时,它会考虑许多因素,包括显卡上的RAM数量.对像素着色器(piexl shader)的支持(计算每个像素效果的内置程序,如透明效果),以及对顶点着色器 ...
- H265 Profile & Level & Tier 介绍
H265/HEVC Profile Level Tier 档次.水平.等级 为了提供不同应用之间的兼容互通,HEVC/H265 定义了不同的编码 Profile 档次.Level 水平.Tier 等级 ...
- Force SDK to create Appointment programmatically in crm 2013 onPremise
As I know based on this: msdn.microsoft.com/.../gg334289.aspx and community.dynamics.com/.../book-an ...
- Appointment Helper
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Que ...
随机推荐
- 基于 ESP8266_RTOS_SDK 驱动 HC-SR04
平台 芯片 ESP8266EX 模组 ESP-12F 开发板 NodeMCU SDK ESP8266_RTOS_SDK branch master commit 83517ba1f5e26b9413f ...
- Redis高可用三(Redis Cluster集群)
Redis高可用三(Redis Cluster集群) 参考博文1:https://blog.csdn.net/qq_40298351/article/details/102669146 参考博文2:h ...
- 一篇文章让你读懂Java异常栈信息
一. 基本的异常打印 public class Test { public static void main(String[] args) { fun1();//第4行 } public static ...
- 鸿蒙极速入门(三)-TypeScript语言简介
ArkTS是HarmonyOS优选的主力应用开发语言.ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集.因此,在学习ArkTS语言之 ...
- SpringBoot自定义拦截器(多个拦截器)
在 Spring Boot 中要实现自定义拦截器需要实现 HandlerInterceptor 接口,并重写 preHandle.postHandle 和 afterCompletion 方法: im ...
- 安装centos7模板机[lvm版]
1. 安装centos 7模板机 准备好centos7的镜像 下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/ 安装centos 自定义硬件: ...
- lxl学长讲课笔记
lxl 学长讲课笔记 常数种可能性的状态 通过预先处理多种状态的信息,从而快速的转换状态. 经典操作:flip. 分析信息的思路 利用线段树 利用线段树的时候,如何合并两个分支区间的信息,我们需要有如 ...
- 西数 WD SATA SSD 固态 蓝盘 复制和剪切速度慢
现象:速度只有4,5M,活动时间100%.用AS SSD 测试速度正常. 问题:冷数据掉速.冷数据门. 解决方法:用DiskFresh,刷新下. 刷新时间,要看你存储数据的多少.我的1T 蓝盘,用了3 ...
- SRE 排障利器,接口请求超时试试 httpstat
夜莺资深用户群有人推荐的一个工具,看了一下真挺好的,也推荐给大家. 需求场景 A 服务调用 B 服务的 HTTP 接口,发现 B 服务返回超时,不确定是网络的问题还是 B 服务的问题,需要排查. 工具 ...
- 如何更改.NET中的默认时区?
除了"在操作系统中修改时区信息,然后重启.NET应用程序,使其生效"之外.如何在不修改操作系统时区的前提下,修改.NET中的默认时区呢? 这是一位 同学兼同事 于5月21日在技术群 ...