當(dāng)前位置:首頁 > IT技術(shù) > 數(shù)據(jù)庫 > 正文

sqli-labs(38-41)
2021-10-04 16:41:24

less-38

判斷注入類型

輸入正確的參數(shù),網(wǎng)頁回顯正常的信息。使用單引號閉合,網(wǎng)頁回顯錯(cuò)誤信息。

?

把后面的信息注釋掉,網(wǎng)頁返回正常信息,說明此處存在單引號閉合的字符型注入。

?

?

?

堆疊注入

此處使用 Less 1 的 payload 就可以完成注入,此處用于測試堆疊注入。所謂堆疊注入就是在原語句后加上分號,從而閉合前面的內(nèi)容作為第一條 SQL 語句。然后在后面輸入第二條的數(shù)據(jù)庫操作語句,在條件允許可以被后端帶入數(shù)據(jù)庫執(zhí)行。堆疊注入使用的范圍非常有限,例如后端可能會限制 SQL 只執(zhí)行一條語句。一旦這種漏洞存在,對數(shù)據(jù)庫的破壞性是毀滅性的,因?yàn)檫@表示攻擊者可以肆意對數(shù)據(jù)庫進(jìn)行操作。例如此處使用堆疊注入新建一張表,使用 CREATE TABLE 子句,該表將復(fù)制 users 表作為一張新的表存在。這種復(fù)制可以結(jié)合 SQL 注入爆出表名來復(fù)制,也可以用社會工程學(xué)來猜測。

http://127.0.0.1/sqli-labs/Less-38/?id=1';create table pursue like users;

網(wǎng)頁回顯正常的信息,打開數(shù)據(jù)庫發(fā)現(xiàn)已經(jīng)多了一張新的表了

?

?使用堆疊查詢把 users 表中的數(shù)據(jù)插入新的表中,使用 INSERT INTO 子句實(shí)現(xiàn)。

http://127.0.0.1/sqli-labs/Less-38/?id=1';insert into pursue select * from users;

?

?

?使用堆疊查詢新建的表的所有記錄刪掉,使用 DELETE 子句實(shí)現(xiàn)。

http://127.0.0.1/sqli-labs/Less-38/?id=1';delete from pursue;

?

?

?使用堆疊查詢把新建的表刪掉,使用 DROP 子句實(shí)現(xiàn)。

http://127.0.0.1/sqli-labs/Less-38/?id=1';drop table pursue;

?

SQL 查詢語句

可以看到源碼使用了?mysqli_multi_query()?函數(shù),該函數(shù)可以執(zhí)行多個(gè) MySQL 語句。之前的 Less 使用的是?mysql_query() 函數(shù),該函數(shù)只執(zhí)行一條 MySQL 查詢。

less-39

這一關(guān)除了閉合方式的不同,其他步驟都與Less-38相同,這一關(guān)的閉合方式是:id

less-40

用id=1')進(jìn)行閉合

less-41

這一關(guān)沒有閉合,錯(cuò)誤不回顯,不能使用報(bào)錯(cuò)注入,具體步驟和語句請參考Less-38,此處不再贅述。

本文摘自 :https://www.cnblogs.com/

開通會員,享受整站包年服務(wù)立即開通 >