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 时,建议参考具体数据库的文档和规范。所有阅读文档是基本功,不要惧怕文档。它是帮助你解决问题的最好的工具

下面是资料推荐:

在靶机 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 应用。

  • 官方网站 https://httpd.apache.org

  • 常用配置文件

    • 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 由协议、主机、端口、路径、查询参数、锚点组成。不多说,如果这个都不知道,那就太尴尬了

Gobuster

Gobuster是一种用于目录和子域名爆破的开源工具。它通过对目标网站进行字典攻击,逐个尝试可能的目录和子域名,来发现隐藏的目录或敏感信息。

以下是Gobuster的一些特点和用法:

特点:

  • 多线程处理:Gobuster 可以使用多个线程同时进行爆破,提高爆破速度。
  • 多种模式:它支持多种爆破模式,包括目录爆破、子域名爆破等。
  • 自定义字典:你可以使用自定义的字典文件来指定爆破时尝试的目录或子域名列表。
  • 状态码过滤:你可以设置过滤规则,只显示特定状态码的响应结果,以过滤掉不感兴趣的目录或页面。

简单用法:

  1. 安装 Gobuster:你可以从 https://github.com/OJ/gobuster/releases 下载或者通过包管理工具安装,比如 apt install gobuster 安装。

  2. 运行 Gobuster:使用命令行界面执行 Gobuster,指定目标 URL、爆破模式、字典文件等参数。例如:

    gobuster dir -u http://example.com -w /path/to/wordlist.txt

    这将对 http://example.com 进行目录爆破,使用指定的字典文件进行尝试。

  3. 查看结果: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的更多相关文章

  1. 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 ...

  2. Tier和RBD Cache的区别

    相同点 缓存 数据不会持久保存在ssd或者内存:预读回写直写 都需要解决缓存数据和磁盘数据不一致和“内存页”置换的问题. 差异点 缓存的位置不同,tier是rados层在osd端进行数据缓存,也就是说 ...

  3. 在magneto系统中输出tier price的最小值

    2012年6月16日星期六 Asia/Shanghai上午11时39分22秒 有的时候,我们想输出产品的tier price 的最小值!如图: 下面是解决的办法: 1. 在catalog/produc ...

  4. Tier和Layer

    在实际开发工作中.我们经常听到"架构设计"和"架构师"这种名词,它并不新奇和神奇,可是却非常少有人对"架构"有全面的了解和认识.更谈不上掌握 ...

  5. 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 ...

  6. i.s.h.med Enhancement for cancelling an appointment

    This article intends to introduce my experience about enhancement for canceling an appointment. I tr ...

  7. WPF 渲染级别 (Tier)

    在WPF中,显卡的功能相差很大.当WPF评估显卡时,它会考虑许多因素,包括显卡上的RAM数量.对像素着色器(piexl shader)的支持(计算每个像素效果的内置程序,如透明效果),以及对顶点着色器 ...

  8. H265 Profile & Level & Tier 介绍

    H265/HEVC Profile Level Tier 档次.水平.等级 为了提供不同应用之间的兼容互通,HEVC/H265 定义了不同的编码 Profile 档次.Level 水平.Tier 等级 ...

  9. 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 ...

  10. Appointment Helper

    using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Que ...

随机推荐

  1. Asp .Net Core 系列:集成 CAP + RabbitMQ + MySQL(含幂等性)

    简介 官网:https://cap.dotnetcore.xyz/ CAP 是什么? 是一个 EventBus,同时也是一个在微服务或者 SOA 系统中解决分布式事务问题的一个框架.它有助于创建可扩展 ...

  2. jquery加载页面时触发事件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. mac goland go env 环境变量 和 mac上终端go env 不一样

    编辑 vim ~/.zshrc. 在这里设置环境变量.goland 里面的才会生效.设置bash_profile 没用.

  4. 你不知道的PageContext

    你不知道的PageContext 最近在文艺复兴,学习JSP和Servlet,此文为笔者学习记录. 本文分为以下几个部分: 前言 环境搭建 正文 总结 前言 在我们使用的项目中,存储数据最常用的非 S ...

  5. React 的 KeepAlive 探索

    什么是 KeepAlive? 用过 Vue 的童鞋都知道 Vue 官方自带了 Keep-Alive 组件,它能够使组件在切换时仍能保留原有的状态信息,并且有专门的生命周期方便去做额外的处理.该组件在很 ...

  6. Swift 模式下面LLDB 输出对象

    (lldb) expr -l Swift -- import UIKit (lldb) expr -l Swift -- let $pin = unsafeBitCast(0x7f81c8d459f0 ...

  7. iOS使用SignalR客户端代码典范-桥接web SignalR 客户端库

    一.SignalR介绍 SignalR是微软基于.Net提供的一个开源实时Web RPC库,可以用在web实时通信的需求上面,比如聊天,web数据更新 SignalR的接口使用十分简单 由于最近的一个 ...

  8. NOIP模拟90(多校23)

    T1 回文 解题思路 原来 \(n^3\) 可以过 500 ... 先枚举一下路径长度,对于同一路径长度点数最多是 \(n\) 个,我们可以接着枚举从 \((n,m)\) 出发的路径长度相同的点. 然 ...

  9. Qt工具栏的使用

    参考视频:黑马科技:https://www.bilibili.com/video/BV1XW411x7NU?p=19 对话框通常会是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互. ...

  10. Adobe软件资源 PS PR AE等等

    整理了一波Adobe软件,19年20年21年Mac版本的都有,关注Rand_cs即可领取