1. 程式人生 > >sqli-labs:7,導入導出;8-10 延時註入

sqli-labs:7,導入導出;8-10 延時註入

服務器 blog 9.png 前臺 amp 必須 積累 nat 不能

1,Load_file()導出文件

使用條件:

  A.必須有權限讀取並且文件必須完全可讀(and (select count(*) from mysql.user)>0/* 如果結果返回正常,說明具有讀寫權限。

  B.欲讀取文件必須在服務器上

  C.必須指定文件完整的路徑(常用路徑)

  D.欲讀取文件必須小於 max_allowed_packet

2,LOAD DATA INFILE文件導入到數據庫

3,select ... into outfile ‘filename‘文件導入到數據庫

兩種方法:

  1.select version() into outfile “c:\\phpnow\\htdocs\\test.php” 此處將 version()替換成一句話,也即Select into outfile “c:\\phpnow\\htdocs\\test.php”

  2.Select version() Into outfile “c:\\phpnow\\htdocs\\test.php” LINES TERMINATED BY 0x16(在 sqlmap 中 os-shell 采取的就是 這樣的方式,具體可參考 os-shell 分析文章:http://www.cnblogs.com/lcamry/p   /5505110.html)

上述我們提到了 load_file(),但是當前臺無法導出數據的時候,我們可以利用下面的語句:

select load_file(‘c:\\wamp\\bin\\mysql\\mysql5.6.17\\my.ini’) into outfile ‘c:\\wamp\\www\\test.php’

可以利用該語句將服務器當中的內容導入到 web 服務器下的目錄,這樣就可以得到數據了。 上述 my.ini 當中存在 password 項(不過默認被註釋),當然會有很多的內容可以被導出來, 這個要平時積累。

sqli7:

對id做了‘))過濾

上傳文件

技術分享圖片

ok!可以看見雖然報錯,但還是註入成功。

上傳後門

技術分享圖片

菜刀鏈接成功!

sqli8

和5比較,將報錯的語句註釋了,不能使用報錯註入。

技術分享圖片

sqli9:

對id經過了‘處理,明文規定延時註入

sqli10:

對id經過了"處理,明文規定延時註入

sqli-labs:7,導入導出;8-10 延時註入