極客大挑戰 2019 EasySQL 1(萬能賬號密碼,SQL注入,HackBar)

題目

在這里插入圖片描述

做法

啟動靶機,打開給出的網址
在這里插入圖片描述

隨便輸點東西進去,測試一下
在這里插入圖片描述

在這里插入圖片描述

輸入1、1’、1"判斷SQL語句閉合方式

在這里插入圖片描述

在這里插入圖片描述

輸入以上兩個都是以下結果
在這里插入圖片描述

但是,輸入1’時,出現的是另外結果
在這里插入圖片描述

在這里插入圖片描述

輸入1,1"時,SQL語句沒有報錯,只是提示我們輸入的值是不對的,而輸入1’時卻有截然不同的結果,因此我們可以先假設SQL語句閉合方式是單引號

注:以下sql語句如’1" ’ 實際上是’1"’ ,這里只是為了快速區分

(1)一般情況下,SQL語句閉合方式為單引號

當用戶名為1時,形成的sql語句是
select * from table_name where username=‘1’ and password=‘123’;

當用戶名為1"時,形成的sql語句是正確的
select * from table_name where username='1" ’ and password=‘123’;

當字符串內需要包含雙引號時,除了使用轉義字符外,也可以使用一對單引號來包括字符串。此時字符串內的雙引號被視為普通字符,無需特殊處理

同理,當字符串內需要包含單引號時,除了使用轉義字符外,也可以使用一對雙引號來包括字符串。此時字符串內的單引號被視為普通字符,無需特殊處理

補充

使用(轉義字符)來判斷SQL注入的閉合方式
原理:當閉合字符遇到轉義字符時,會被轉義,那么沒有閉合符的語句就不完整了,就會報錯,通過報錯信息我們就可以推斷出閉合符。

分析報錯信息:看\斜杠后面跟著的字符,是什么字符,它的閉合字符就是什么,若是沒有,則為數字型。
(但是在本題中有兩個變量,這個方法不太適用)

當用戶名為1’時,形成的sql語句是錯誤的
select * from table_name where username=‘1’ 'and password=‘123’;

第一個單引號和第二個單引號形成了新的閉合,剩余第三個單引號,組成的sql語句不正確,于是語句報錯

因此,SQL語句閉合方式是單引號

(2)假設MySQL語句為雙引號閉合

username輸入1時,形成的sql語句是正確的
select * from table_name where username="1"and password=“123”;

username輸入1"時,形成的sql語句是
select * from table_name where username=“1” "and password=“123”;
正確的SQL語句不可以出現一對雙引號包含雙引號的。所以上面這條應該出現SQL報錯,但實際沒有報錯,因此我們假設的雙引號閉合方式是不成立的

username輸入的是1’,形成的sql語句是正確的,不會報錯
select * from table_name where username="1’ "and password=“123”;
而然實際上這條語句報錯了,因此我們假設的雙引號閉合方式是不成立的

綜上,我們可以推出SQL語句閉合方式是單引號

進行SQL注入

萬能賬號密碼獲取入口:
萬能賬號密碼使用詳解,滲透測試常用的入門級操作 - 知乎

由上得:該數據庫的閉合方式為單引號

因此,在理解完以上網頁內容后,我們回歸該題

當我們不知道用戶的賬號并且不知道用戶的密碼時,可以使用萬能賬號
我們隨便挑選一個——a or true #

但是它上面的萬能賬號都沒有加單引號’或是雙引號"

因此,綜上,我們需要在a后面加上本題的閉合符號,“ ’ ” 得出我們所需的賬號為a’ or true #

密碼隨便輸即可(但是看到其他人通常這種情況都直接寫一樣的,不知道有啥玄機在里面,這里注意一下)
在這里插入圖片描述

復制,回去題目提交flag
在這里插入圖片描述

補充做法(使用HackBar,不過跟上面的大差不差)

自行下載HackBar V2

前提:
先看測試后的網址(與為剛從靶機點進來的網址進行對比),可以看到我們輸入的賬號密碼都顯示在url中,可知此處是get傳參

補充:get傳參——參數和 URI 之間用問號?隔開, 參數鍵值用等號=連接,然后參數之間用連接符&拼接起來
在這里插入圖片描述

因為get傳參為參數直接暴露在 URL 中,且網頁文件名為check.php,只是處理登錄校驗的常見文件名,而非諸如 login.php(通過表單 POST 傳參)等需要動用其他工具,則可直接使用HackBar 修改參數
在這里插入圖片描述

點擊啟動靶機后給出的網址,彈出頁面,按F12,選擇HackBar V2(綠色圖標那個)
在這里插入圖片描述

按一下Load URL,即可獲取當前頁面的網址
然后隨便輸入用戶名密碼,進去后看看網址
在這里插入圖片描述

我們直接看測試后多出的網址

username=后面跟的是賬號

password=后面跟的是密碼

因此,我們根據上面說的思路,把萬能賬號填進去,密碼隨便填,構造一下,復制

check.php?username=a' or true %23& password=1

然后填進Load URL得出的網址后面,點擊Execute執行

解釋:%23是#的 URL 編碼形式,表示普通字符#,
在 URL 中,某些字符有特殊含義,需要使用URL 編碼(即百分號編碼)來表示,
類似于進制統一一樣,為了避免不必要的麻煩,我們通常都把格式統一一下,

   以下字符在 URL 中可直接使用,無需編碼:字母:`a-z`、`A-Z`數字:`0-9`部分符號:`-`、`_`、`.`、`~`
但是遇到特殊字符的時候,最好去查一查看下要不要轉變成URL

得出flag
在這里插入圖片描述

更新

于2025.06.04

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/83657.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/83657.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/83657.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Tauri(2.5.1)+Leptos(0.7.8)開發桌面應用--簡單的工作進度管理

在前期工作(Tauri(2.5.1)Leptos(0.7.8)開發桌面應用--程序啟動界面_tauri 程序啟動畫面-CSDN博客)的基礎上繼續進行自用桌面小程序的開發。為了方便管理工作進度,決定自己造輪子。效果如下: 工作進度管理系統 在編寫程序過程中&am…

java面試 網絡編程與 Java I/O:技術要點解析

java面試 網絡編程與 Java I/O:技術要點解析 網絡編程與 Java I/O:技術要點解析一、TCP 和 UDP 的區別TCP(Transfer Control Protocol)UDP(User Datagram Protocol)TCP 的三次握手與四次揮手 二、Java 的幾…

PhpStorm設置中文

環境信息 系統版本:Windows11 22H2 PhpStorm版本:2025.1.1【Build #PS-251.25410.148】 設置中文 PhpStorm并不需要安裝插件或下載相應的漢化包進行漢化 依次點擊點擊: file或右上角設置按鈕→ 進入Settings→ 找到Appearance & Behav…

【監控】Spring Boot 應用監控

這段配置是 Spring Boot 應用中對 Actuator 和 Micrometer 監控系統的配置,用于將應用的指標暴露給 Prometheus 進行收集。下面我將詳細介紹這種配置方式及其提供的指標。 配置說明 這個配置主要涉及 Spring Boot Actuator 和 Micrometer 兩個核心組件&#xff1a…

學習筆記(23): 機器學習之數據預處理Pandas和轉換成張量格式[1]

學習筆記(23): 機器學習之數據預處理Pandas和轉換成張量格式[1] 學習機器學習,需要學習如何預處理原始數據,這里用到pandas,將原始數據轉換為張量格式的數據。 1、安裝pandas pip install pandas 2、寫入和讀取數據 >>創建一個人工…

一臺電腦聯網如何共享另一臺電腦?網線方式

前言 公司內網一個人只能申請一個賬號和一個主機設備;會檢測MAC地址;如果有兩臺設備,另一臺就沒有網;因為是聯想老電腦,共享熱點用不了,但是有一根網線,現在解決網線方式共享網絡; …

Spring Boot 基礎知識全面解析:快速構建企業級應用的核心指南

一、Spring Boot 概述:重新定義 Java 開發 1.1 什么是 Spring Boot? Spring Boot 是基于 Spring 框架的快速開發框架,旨在簡化 Spring 應用的初始搭建及開發過程。它通過 「約定優于配置」(Convention Over Configuration&#…

CentOS-stream-9 Zabbix的安裝與配置

一、Web環境搭建部署Zabbix時,選擇合適的MariaDB、PHP和Nginx版本非常重要,以確保兼容性和最佳性能。以下是建議版本:Zabbix 6.4 MariaDB:官方文檔推薦使用MariaDB 10.3或更高版本。對于CentOS Stream 9,建議使用Maria…

CppCon 2014 學習:Adventures in Updating a Legacy Vintage Codebase

“VINTAGE” 部分是對現實中飛行模擬系統中遺留系統復雜性的描述。以下是對關鍵點的理解與拆解: 飛行模擬系統的背景 多環境、多語言、多硬件: 編程語言: 混用的“遺留語言”:Ada, C, C, Fortran, Jovial, PL/M, Pascal不同語言…

【計算機】計算機存儲器的分類與特性

文章目錄 一、按作用層次分類1. 主存儲器(內存)2. 輔助存儲器(外存)3. 高速緩沖存儲器(Cache) 二、按存儲介質分類1. 半導體存儲器2. 磁存儲技術3. 光存儲發展 三、按存取方式分類1. 隨機存儲器技術細節2. …

Redisson - 實現延遲隊列

Redisson 延遲隊列 Redisson 是基于 Redis 的一款功能強大的 Java 客戶端。它提供了諸如分布式鎖、限流器、阻塞隊列、延遲隊列等高可用、高并發組件。 其中,RDelayedQueue 是對 Redis 數據結構的高階封裝,能讓你將消息延遲一定時間后再進入消費隊列。…

上門服務小程序訂單系統框架設計

一、邏輯分析 上門服務小程序訂單系統主要涉及服務展示、用戶下單、訂單處理、服務人員接單與服務完成反饋等核心流程。 服務展示:不同類型的上門服務(如家政、維修等)需要在小程序中展示詳細信息,包括服務名稱、價格、服務內容介…

Android apk裝機編譯類型: verify、speed-profile, speed與啟動耗時

Android apk裝機編譯類型: verify、speed-profile, speed與啟動耗時 Dex2oat (dalvik excutable file to optimized art file) ,對 dex 文件進行編譯優化,Android 虛擬機可識別的是dex文件,應用運行過程如果每次都將dex文件加載內存&#xff…

winrm登錄失敗,指定的憑據被服務器拒絕

winrm登錄失敗,指定的憑據被服務器拒絕。 異常提示:the specified credentials were rejected by the server 在windows power shell執行 set-executionpolicy remotesigned winrm quickconfig winrm set winrm/config/service/auth {Basic"true…

Unity3D ET框架游戲腳本系統解析

前言 ET框架在Unity3D中實現的GamePlay腳本系統是一種革命性的、基于ECS(實體-組件-系統)架構的設計,它徹底改變了傳統的基于MonoBehaviour的游戲邏輯編寫方式。其核心思想是追求高性能、高解耦、易熱更新,特別適合大型復雜的網絡…

android與Qt類比

一、概念對應關系 Android RecyclerView 組件類比描述Qt 模型 - 視圖組件Qt 類比描述RecyclerView畫板(容器)QAbstractItemView視圖(展示數據的容器,如列表、表格)RecyclerView.Adapter畫布(數據橋梁&…

Jenkins 2.479.1安裝和郵箱配置教程

1.安裝 在JDK安裝并設置環境變量完成后,下載官網對應的war版本,在對應目錄下打開命令行窗口并輸入 java -jar jenkins.war其余參數感興趣可以自行查閱,這里啟動的 jenkins 服務默認占用8080端口,在瀏覽器輸入 localhost:8080進入…

多分辨率 LCD 的 GUI 架構設計與實現

1.1多分辨率顯示系統的挑戰與解決方案 1.1.1 分辨率適配的核心問題 在嵌入式系統中,同時支持不同分辨率的 LCD(如 240160、320480 等)面臨以下挑戰: 布局適配:同一界面元素在不同分辨率下需要調整大小和位置 字體顯示:小分辨率屏幕需要更小的字體,而大分辨率需要更清…

11. MySQL事務管理(上)

1. CURD不加控制&#xff0c;會有什么問題&#xff1f; 火車票售票系統tickets表 id name nums 10 西安<->蘭州 1 客戶端A 客戶端B if (nums > 0) { if (nums > 0) { 賣票 賣票 // update numsnums - 1 update numsnums - 1 } } 當客戶端A檢查還有一張票時&#xf…

Beta分布Dirichlet分布

目錄 Beta分布Dirichlet分布Beta分布&Dirichlet分布從Dirichlet分布生成Beta樣本Beta分布&Dirichlet分布應用 Beta分布 Beta分布是定義在區間 [ 0 , 1 ] [0, 1] [0,1]上的連續概率分布&#xff0c;通常用于模擬概率或比例的隨機變量。Beta分布的概率密度函數&#xff…