網路安全系列之四 手工SQL注入 ASP

2021-09-03 09:21:56 字數 1864 閱讀 7223

(1)尋找注入點

隨便開啟乙個網頁,注意觀察url。

注入點必定是類似「這類存在命令呼叫的頁面,「shownews.asp?id=7」是頁面傳值,就是將「id=7」傳到「shownews.asp」頁面裡進行處理。

我們可以在這個url後面加上and 1=1和and 1=2進行測試。

and 1=1 ,網頁仍能正常顯示。

and 1=2 ,網頁無法正常顯示。

這就表明「asp?」把我們自己加上的「and 1=1」也作為乙個命令引數進行了呼叫,那我們就可以來構造一些sql語句來被呼叫執行,從而得到需要的資訊,這就是所謂的注入漏洞。像這樣可以呼叫命令引數的網頁就稱為注入點。

(2)猜表名

***進行*****的主要目的是獲得**管理員的使用者名稱和密碼,使用者名稱和密碼都是存放在後台資料庫的某個表中,所以首先我們得猜出這個資料表的名字是什麼。

表名用的最多的是admin和admin_user,我們可以在注入點url的後面加上這樣一條語句來猜表名:

and (select count(*) from admin) > 0

「select count(*) from admin」的意思是統計admin表中有幾條記錄,如果admin表存在,那麼這條語句就會得到乙個數值。用這個數值跟》0比較,結果肯定是成立的,所以此時網頁應該正常顯示。反之,如果admin表不存在,那麼「select count(*) from admin」就得不到任何數值,跟》0比較,結果不成立,網頁也就無法正常顯示。

如果網頁不能正常顯示,可以再換乙個表名進行嘗試,直到正常顯示為止:

and (select count(*) from admin_user) > 0

and (select count(*) from manage_user) > 0

這個**的表名就是manage_user。

常見表名主要有:admin sysadmin manger admin123 webadmin member manage_user

注意:如果表名實在猜不出來,也可以使用明小子之類的工具來幫忙。

(3)猜字段的數量

下一步是猜這個表中哪個字段存放著使用者名稱和密碼,首先需要知道資料表中一共有幾個字段。

這裡要用到「order by」語句,「order by」的本意是按某個字段排序,「order by 10」就是按第10個字段排序,如果第10個字段存在,那麼網頁就會正常顯示,否則如果網頁無法正常顯示,則表明第10欄位不存在。

order by 11

通過這種方法可以猜出這個表一共有11個字段。

(4)猜欄位名

下一步是需要知道哪個字段存放著使用者名稱和密碼,這裡用到「union select」聯合查詢語句。

union select 1,2,3,4,5,6,7,8,9,10,11 from manage_user

這裡會將存放使用者名稱和密碼的字段爆出。

存放使用者名稱的字段一般叫username,存放密碼的字段一般叫password,將第2和第3欄位替換成這兩個名字:

union select 1,username,password,4,5,6,7,8,9,10,11 from manage_user

這時就將使用者名稱和密碼爆出了。

(5)猜後台管理入口

在這個2.0版的南方資料模板中,本身就帶有「管理員登入」的鏈結。現在大多數**不會這樣設定的,所以這裡一般要憑經驗來猜,管理入口一般存放在名為admin的**子目錄下,輸入下面的位址就自動將管理入口顯示出來了。

在這裡就可以用之前爆出的管理員賬號和密碼來登入,但是密碼「3acdbb255b45d296」很明顯是經過md5加密的,如何才能解密呢?這將在下篇博文來介紹。

SQL注入(四)手工注入攻擊步驟

以bugkuctf平台的一道題為例 鏈結 0 首先測試正常資料。鏈結的結尾新增 id 1 數字任意 1 判斷是否存在注入點 id 32 數字任意 鏈結的結尾依次新增語句 and 1 1 和 and 1 2 來判斷 是否存在注入點。嘗試在正常資料後加上單引號,發現資料為空,加上注釋符 注釋符 後發現依...

網路安全系列之十一 系統命令注入

系統命令注入 也是一種古老的 手段,是指 可以在有漏洞的頁面位址列中直接執行作業系統命令。下面將來演示這種 的實現方式,以及如何配置waf進行攔截,實驗環境仍然使用npmserv搭建。開啟 在位址列中的 後面輸入 cmd 所要執行的命令 如下圖所示的 user,可以發現命令能夠成功執行。下面配置wa...

網路安全系列之培訓筆記整理

邏輯漏洞 多個執行緒競爭同乙個共享 變數 檔案等稱之為條件競爭。那麼什麼情況存在競爭條件?例項 上傳檔案,下面是乙個上傳檔案的例子,上傳檔案之前先校驗許可權 include include include define delay 10000 int main fp fopen fn,a fwrit...