less-38
判斷注入類型
輸入正確的參數(shù),網(wǎng)頁回顯正常的信息。使用單引號閉合,網(wǎng)頁回顯錯誤信息。
?
把后面的信息注釋掉,網(wǎng)頁返回正常信息,說明此處存在單引號閉合的字符型注入。
?
?
?
堆疊注入
此處使用 Less 1 的 payload 就可以完成注入,此處用于測試堆疊注入。所謂堆疊注入就是在原語句后加上分號,從而閉合前面的內(nèi)容作為第一條 SQL 語句。然后在后面輸入第二條的數(shù)據(jù)庫操作語句,在條件允許可以被后端帶入數(shù)據(jù)庫執(zhí)行。堆疊注入使用的范圍非常有限,例如后端可能會限制 SQL 只執(zhí)行一條語句。一旦這種漏洞存在,對數(shù)據(jù)庫的破壞性是毀滅性的,因為這表示攻擊者可以肆意對數(shù)據(jù)庫進行操作。例如此處使用堆疊注入新建一張表,使用 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 子句實現(xiàn)。
http://127.0.0.1/sqli-labs/Less-38/?id=1';insert into pursue select * from users;
?
?
?使用堆疊查詢新建的表的所有記錄刪掉,使用 DELETE 子句實現(xiàn)。
http://127.0.0.1/sqli-labs/Less-38/?id=1';delete from pursue;
?
?
?使用堆疊查詢把新建的表刪掉,使用 DROP 子句實現(xiàn)。
http://127.0.0.1/sqli-labs/Less-38/?id=1';drop table pursue;
?
SQL 查詢語句
可以看到源碼使用了?mysqli_multi_query()?函數(shù),該函數(shù)可以執(zhí)行多個 MySQL 語句。之前的 Less 使用的是?mysql_query() 函數(shù),該函數(shù)只執(zhí)行一條 MySQL 查詢。
less-39
這一關(guān)除了閉合方式的不同,其他步驟都與Less-38相同,這一關(guān)的閉合方式是:id
less-40
用id=1')進行閉合
less-41
這一關(guān)沒有閉合,錯誤不回顯,不能使用報錯注入,具體步驟和語句請參考Less-38,此處不再贅述。
本文摘自 :https://www.cnblogs.com/