MSSQL SA權限入侵的感悟
想必大家都知道MSSQL中SA權限是什么,可以說是至高無上。今天我就它的危害再談點兒,在講之前先說幾個條件,否則得到Shell是有難度的。
1.存在SQL注入,并且數據庫類型是MSSQL。
2.連接數據庫的權限必須是SA。
3.后臺必須有文件上傳的程序。
好了,我們找到一個網址hxxp://www.6x36x.com/fangchan/listpro.asp?id=53,用NBSI一會就一目了然了。
很好,數據庫類型是MSSQL,權限是SA,再看看第三個條件滿足不滿足。找到頁面中的文章(新聞),看看里面的圖片的地址是什么。好!一看就明白了hxxp://www.6x36x.com/admin/uploadpic/2xx5042823082994329.gif,你明白了嗎?特別是2xx5042823082994329.gif 這下我們敢肯定后臺有上傳文件的功能了。下面做什么呢?暈,找出該網站所在的路徑呀。這個嘛就得全靠NBSI的NB Commander(NB Tree_List)功能了(在這里我推薦大家用NB Commander,為什么呢?看完文章就知道了),不過找出網站所在的真實路徑需要花一定的時間,那就看你有沒有耐心了。我敢說只要有耐心,肯定能找出網站所在的真實路徑。這里我找到了這個站點所在的路徑D:\9x3x9,接著就是后臺了,很快就得到Admin/login.asp,接下來就是賬號和密碼的猜解了。不過我這次猜解出現了問題。說什么也弄不出他的賬號和密碼,難道都是空的?我不相信,就試著登錄了一下,結果失敗了。于是從這開始,NB Commander功能就顯得非常重要了(因為大家都知道,列目錄NB Command和NB Tree_List都能實現),我找到文件conn.asp,用type D:\9x3x9\admin\logining.asp命令看了看源代碼。
夠狠吧!讀了讀代碼沒有問題呀!就是用的admin表字段也一樣,不多說了,誰能知道其中的原因?請告訴俺一下,也讓俺這只菜鳥走出困惑。進不了后臺怎么上傳圖片呢?這里我用NBSI的上傳功能,我試過了,沒有成功。因為我傳上去后,看到代碼每行都重復三次,也不知是為什么,就是用臭要飯的Getwebshell也是同樣的結果。
我想有了,看看它的Session是怎么驗證的,又是一個type D:\9x3x9\admin\quanxian.asp。通過分析很快就明白了,它給Session(“wsl”)賦了一個值為1,哈哈!我寫了一個非常簡單的程序。用NBSI的上傳功能傳了上去,我想不管重復幾次都是正確的(這里你又會想到什么呢?如果密碼是MD5的,我們沒有必要去爆破了,弄個session就ok了),傳上去保存為1.asp,然后我訪問hxxp://www.6x36x.com/admin/1.asp,接著訪問hxxp://www.6x36x.com/admin/admin_index.asp,就這樣進入了后臺,本地測試。
小提示:Session變量和cookies是同一類型的。如果某用戶將瀏覽器設置為不兼容任何cookie,那么該用戶就無法使用這個Session變量! 當一個用戶訪問某頁面時,每個Session變量的運行環境便自動生成,這些Session變量可在用戶離開該頁面后仍保留20分鐘!(事實上,這些變量一直可保留至“timeout”。“timeout”的時間長短由Web服務器管理員設定。一些站點上的變量僅維持了3分鐘,一些則為10分鐘,還有一些則保留至默認值20分鐘。)所以,如果在Session中置入了較大的對象(如ADO recordsets,connections, 等等),那就有麻煩了!隨著站點訪問量的增大,服務器將會因此而無法正常運行!
因為創建Session變量有很大的隨意性,可隨時調用,不需要開發者做精確地處理。所以,過度使用session變量將會導致代碼不可讀而且不好維護。
這樣我找到上傳圖片的地方,把asp木馬改成.gif傳了上去,記住了上傳后的名字,這里是uploadpic\2xx56171430123.gif,那么你會想到什么呢?哈哈我想起來了,把圖片copy成.asp的,或者重命名成.asp的。
好了,到這里我們的馬就算是上去了,至于以后的事情就不提了。
總結:SA的確給我們帶來了很大危害,所以程序員在連接MSSQL數據庫的時候千萬不能用它,否則服務器成為肉雞的可能性非常非常的大。還有,MSSQL 的擴展存儲功能,用不到它就刪除,留著就成了黑客的利器。
關鍵字:權限、數據庫、服務器
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解