SQL二次注入原理分析

二次注入在測試的時候比較少見,或者說很難被測出來,因為測的時候首先要去找注入的位置,其次是去判斷第一次執行的SQL語句,然后還要去判斷第二次進行調用的 SQL 語句。而關鍵問題就出在第二次的調用上面。

下面以一個常用過濾方法來說明具體問題。

95e79effeb801488fa51881bbab39241.png

通過addslashes函數的轉換可以將查詢語句中的單引號進行轉義,避免了在查詢中出現 SQL 注入的問題。那我們接下來換一個語句,看一下會出現什么效果。

8e957848f34534f2221e521064e97a5c.png

55951a8451e823048a7ca97fbf74db67.png

能夠發現我們插入語句中的單引號在執行SQL語句的時候是被轉義了的,而在數據庫中這個單引號卻還是被直接存放在數據庫沒有添加我們的轉義符。

這也是addslashes函數的一個特點,只負責在查詢之前進行轉義危險字符,但不會修改原始數據。那么當被插入的危險數據又被調用成查詢條件呢?這個時候就變成二次注入了。

9f0d091dafb5c7ac61afe79b31bc3f1d.png

其中 addslashes 函數中的數據是用戶插入的數據,先不談這個程序的邏輯有點愚蠢,因為只是為了演示,現實中的程序會將第一次的查詢結果用來操作另外的數據表或者進行刪改操作。

可以看到最終執行的語句就一個盲注的語法。

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

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

相關文章

macos下搭建minikube dashboard的啟動

背景 最近在復習一下k8s環境相關的知識,需要在自己電腦上搭建一個minikube的環境供自己使用。但是因為docker的鏡像倉庫最近被墻了,因此在執行minikube dashboard的時候,拉不到相應的鏡像,就導致頁面看不到相應的一些信息因此本文…

【PYG】dataloader和densedataloader

DenseDataLoader 是專門用于處理稠密圖數據的,而 DataLoader 通常用于處理稀疏圖數據。兩者的主要區別在于它們的輸入數據格式和處理方式。DenseDataLoader 適合處理固定大小的鄰接矩陣和節點特征矩陣的數據,而 DataLoader 更加靈活,可以處理…

flask中解決圖片不顯示的問題(很細微的點)

我在編寫flask項目的時候,在編寫html的時候,發現不管我的圖片路徑如何變化,其就是顯示不出來。如下圖我框中的地方。 我嘗試過使用瀏覽器打開,是可以的。 一旦運行這個flask項目,就無法顯示了。 我查閱資料后。發現…

簡易版async/await

參考:https://juejin.cn/post/7007031572238958629?searchId20240704101813568E9B5B1013C881A239#heading-15 總結一下async/await的知識點 1、 await只能在async函數中使用,不然會報錯 2、 async函數返回的是一個Promise對象,有無值看有…

泛微開發修煉之旅--29用計劃任務定時發送郵件提醒

文章鏈接:29用計劃任務定時發送郵件提醒

[單master節點k8s部署]17.監控系統構建(二)Prometheus安裝

prometheus server安裝 創建sa賬號,對prometheus server進行授權。因為Prometheus是安裝在pod里面,以pod的形式去運行的,因此需要創建sa,并對他做rbac授權。 apiVersion: v1 kind: ServiceAccount metadata:name: monitornamesp…

k8s-第九節-命名空間

命名空間 如果一個集群中部署了多個應用,所有應用都在一起,就不太好管理,也可以導致名字沖突等。 我們可以使用 namespace 把應用劃分到不同的命名空間,跟代碼里的 namespace 是一個概念,只是為了劃分空間。 # 創建命…

LeetCode熱題100刷題4:76. 最小覆蓋子串、239. 滑動窗口最大值、53. 最大子數組和、56. 合并區間

76. 最小覆蓋子串 滑動窗口解決字串問題。 labuladong的算法小抄中關于滑動窗口的算法總結&#xff1a; class Solution { public:string minWindow(string s, string t) {unordered_map<char,int> need,window;for(char c : t) {need[c];}int left 0, right 0;int …

2.8億東亞五國建筑數據分享

數據是GIS的血液&#xff01; 我們現在為你分享東亞5國的2.8億條建筑輪廓數據&#xff0c;該數據包括中國、日本、朝鮮、韓國和蒙古5個東亞國家完整、高質量的建筑物輪廓數據&#xff0c;你可以在文末查看領取方法。 數據介紹 雖然開源的全球的建筑數據已經有微軟的建筑數據…

elementUI中table組件固定列時會渲染兩次模板內容問題

今天在使用elementUI的table組件時&#xff0c;由于業務需要固定表格的前幾項列&#xff0c;然后獲取表格對象時發現竟然有兩個對象。 查閱資料發現&#xff0c;elementUI的固定列的實現原理是將兩個表格拼裝而成&#xff0c;因此獲取的對象也是兩個。對于需要使用對象的方法的…

vxe-table的序號一樣

使用vxe-table的時候&#xff0c;有的時候會出現序號相同的現象&#xff0c;這種現象一般出現在我們后面自己添加的行中&#xff0c;就像這種 此時的這三個序號是相同的&#xff0c;我來說一下原因&#xff0c;這是在添加新的一行的時候&#xff0c;有的時候數據很多&#xff0…

Mac 運行 Windows 軟件,Parallels Desktop 19和 CrossOver 24全面對比

Parallels Desktop 和 CrossOver 都是能滿足你「在 Mac 上運行 Windows 軟件」需求的工具。可能很多人都已經知道 Parallels Desktop 是「虛擬機」&#xff0c;但 CrossOver 其實并不是「虛擬機」。這兩款軟件有相同的作用&#xff0c;但由于實現原理的不同&#xff0c;兩者也有…

系統提示我未定義與 ‘double‘ 類型的輸入參數相對應的函數 ‘finverse‘,如何解決?

&#x1f3c6;本文收錄于「Bug調優」專欄&#xff0c;主要記錄項目實戰過程中的Bug之前因后果及提供真實有效的解決方案&#xff0c;希望能夠助你一臂之力&#xff0c;幫你早日登頂實現財富自由&#x1f680;&#xff1b;同時&#xff0c;歡迎大家關注&&收藏&&…

Kubernetes 部署簡單的應用

Kubernetes 部署簡單的應用 Kubernetes 是一個強大的容器編排平臺&#xff0c;它可以幫助我們自動化應用程序的部署、擴展和管理。在本期文章中&#xff0c;我們將學習如何使用 Kubernetes 部署一個簡單的應用程序。 1. 環境準備 確保你已經安裝了 Kubernetes 集群&#xff…

【python模塊】argparse

文章目錄 argparse模塊介紹基本用法add_argument() argparse模塊介紹 argparse 模塊是 Python 標準庫中的一個用于編寫用戶友好的命令行接口&#xff08;CLI&#xff09;的模塊。它允許程序定義它所需要的命令行參數&#xff0c;然后 argparse 會自動從 sys.argv 解析出那些參…

TCP粘包解決方法

一. 產生原因及解決方法 產生原因&#xff1a;TCP是面向連接、基于字節流的協議&#xff0c;其無邊界標記。當服務端處理速度比不其接收速度時&#xff0c;就很容易產生粘包現象。 解決方法&#xff1a;目前主要有兩種解決方法&#xff0c;一個是在內容中添加分割標識&#xf…

人臉識別考勤系統

人臉識別考勤系統是一種利用生物識別技術進行自動身份驗證的現代解決方案&#xff0c;它通過分析和比對人臉特征來進行員工的出勤記錄。這種系統不僅提升了工作效率&#xff0c;還大大減少了人為錯誤和欺詐行為的可能性。 一、工作原理 人臉識別考勤系統的核心在于其生物識別…

深入剖析Python中的Pandas庫:通過實戰案例全方位解讀數據清洗與預處理藝術

引言 隨著大數據時代的到來&#xff0c;數據的質量直接影響到最終分析結果的可靠性和有效性。在這個背景下&#xff0c;Python憑借其靈活強大且易于上手的特點&#xff0c;在全球范圍內被廣泛應用于數據科學領域。而在Python的數據處理生態中&#xff0c;Pandas庫無疑是最耀眼…

高級策略:解讀 SQL 中的復雜連接

了解基本連接 在深入研究復雜連接之前&#xff0c;讓我們先回顧一下基本連接的基礎知識。 INNER JOIN&#xff1a;根據指定的連接條件檢索兩個表中具有匹配值的記錄。LEFT JOIN&#xff1a;從左表檢索所有記錄&#xff0c;并從右表中檢索匹配的記錄&#xff08;如果有&#x…

管道支架安裝

工程結構施工完畢后&#xff0c;系統管道安裝完畢后的第一步任務就是管道支架的制作安裝&#xff0c;作為對管道固定和承重作用至關重要的支、托、吊架&#xff0c;有些項目部在施工中卻往往因為對它們的重要性認識不足&#xff0c;因存在僥幸心里或經驗主義&#xff0c;導致支…