sqli-labs(38)


0X01

?id=1' and 1=1%23 正確   
?id=1' and 1=2%23 錯誤

存在注入

0x1 堆疊注入講解

(1)前言

  國內有的稱為堆查詢注入,也有稱之為堆疊注入。個人認為稱之為堆疊注入更為准確。堆疊注入為攻擊者提供了很多的攻擊手段,通過添加一個新 的查詢或者終止查詢,可以達到修改數據和調用存儲過程的目的。這種技術在SQL注入中還是比較頻繁的。

(2)原理介紹

  在SQL中,分號(;)是用來表示一條sql語句的結束。試想一下我們在 ; 結束一個sql語句后繼續構造下一條語句,會不會一起執行?因此這個想法也就造就了堆疊注入。而union injection(聯合注入)也是將兩條語句合並在一起,兩者之間有什么區別么?區別就在於union 或者union all執行的語句類型是有限的,可以用來執行查詢語句,而堆疊注入可以執行的是任意的語句

例子:

 

select * from student whereid=1;create table test;
當執行查詢后,第一條顯示查詢信息,第二條則創建一個test表。

 

0x2 msyql數據庫實例介紹

(1)查詢數據的同時再新建一個表

 

select * from users where  id =2;create table zhong like student;
這里加入like是復制student的表結構

 

 

 

 

(2)查詢數據的同時再刪除zhong表

0x3簡單小結

   這樣一來我們可以利用堆疊注入進行增刪改查等操作,但對於各個數據庫(mysql,sqlserver,oracle)等,除oracle不允許外,其他操作可行性同樣,(具體其他實例可以參考:https://www.cnblogs.com/0nth3way/articles/7128189.html)

0x4開始注入  

 

id=-1' union select 1,database(),3;insert into users values(18,'zhong','zhong')%23

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM