0x00.題目描述:
背景介紹
安全工程師"墨者"最近在練習(xí)SQL手工注入漏洞,自己剛搭建好一個(gè)靶場(chǎng)環(huán)境Apache+PHP+MySQL,PHP代碼對(duì)客戶端提交的參數(shù)做了些許過濾。來感受過濾過后的SQL手工注入吧。
實(shí)訓(xùn)目標(biāo)
1、掌握SQL注入原理;
2、了解手工注入的方法;
3、了解MySQL的數(shù)據(jù)結(jié)構(gòu);
4、了解SQL注入常用注釋字符;
5、了解字符串的URL加解密;
解題方向
手工進(jìn)行SQL注入測(cè)試,獲取管理密碼登錄。
0x01.解題思路:
靶場(chǎng)環(huán)境:


手工注入:
檢測(cè)注入點(diǎn):order by被攔截,用or或者and來測(cè)試,發(fā)現(xiàn)空格以及=被攔截,空格可以用/**/代替,等號(hào)用like來代替,成功檢測(cè)到注入點(diǎn)。
payload:/new_list.php?id=-1/**/or/**/1/**/like/**/1

檢測(cè)字段數(shù):order by語句可行,當(dāng)為4時(shí)正常,當(dāng)為5時(shí)出現(xiàn)錯(cuò)誤,說明字段數(shù)為4。

聯(lián)合注入爆庫(kù),首先是爆數(shù)據(jù)庫(kù)名:
payload:/new_list.php?id=-1/**/%75nion/**/%73elect/**/1,2,database(),4%23
注:union,select關(guān)鍵字均被過濾,故而轉(zhuǎn)URL編碼進(jìn)行繞過。

接下來就是爆表名,列名以及字段了。



status為1的即為賬號(hào)密碼,密碼用MD5轉(zhuǎn)一下即可~
得到最終的key:mozhe9598eda2ea48538e9ab8fd688bc
sqlmap注入:
哇,sqlmap居然檢測(cè)不到注入點(diǎn)~以后sqlmap檢測(cè)不到的地方必須手工檢測(cè)一遍啊

0x02.總結(jié):
1.空格過濾:/**/,%0a,%a0,%09,%0c,%0d,%0b代替;等于號(hào)可以用like代替;
2.關(guān)鍵字過濾:雙寫,大小寫,編碼等;