本來我不習慣開QQ,可好友打來電話說有事找我,遂上線。因為我用的QQ是能顯示IP地址的木子版本,所以看到好友的IP:xxx.xxx.19.24,發現好友是在學校的實驗室上網。我忽發奇想,想看看他們實驗室的機器裡都有些什麼東西,因為以前我知道他們實驗室的機子在一個C段裡——什麼?你讓我直接給好友發木馬?那小子比猴都精,況且那小子的技術也不是省油燈,還是用迂回戰略吧!
從百寶箱裡隨便祭出個掃描器,我用的是這個小東東:BluesPortScan,它的掃描速度超快,可惜會漏報。先掃三十台機器吧,端口1—150。掃描完後,一台機器引起了我的注意:機器IP為xxx.xxx.19.7,開了22和80端口。開了22端口,八成就是台Linux機器了。拿SecureCRT連一下22端口:
小知識:22號端口對應Linux下的SSH,這一服務有許多弱點,建議在其它端口運行SSH。
79端口的Finger也沒開,用戶名目前只知道可能的是ROOT,密碼先來個123,返回錯誤,看來要從別處入手了。別處好像只開了80,後來擴大了端口掃描范圍又掃出個Oracle的3306端口,不過那個數據庫用戶ROOT的密碼不是空,總不能讓我掛本字典去跑吧?還是轉到80端口吧。
Telnet上它的80端口,然後GET,返回服務器信息:Server: Apache/1.3.27 (Unix) PHP/4.2.3。用的阿帕奇服務器,不要考慮WEB服務器本身的漏洞了,去網站轉悠吧。地址欄裡敲入它的地址:xxx.xxx.19.7,回車。網頁出來了,看來沒有用虛擬主機什麼的,八成是學生自己作的東西,不過,雖然網頁內容比較官方,但感覺網站好像千瘡百孔。用PHP和Html做的,有好像改得面目全非或自己做的新聞系統,在文章管理系統裡找了幾個點試了試SQL注入,沒有成功,算了,到論壇裡看看吧。
進了論壇裡,先習慣性的用admin密碼admin登錄,竟然成功了,倒啊倒!找個上傳點扔個PHP後門上去!接下來卻讓我大失所望,管理面板裡轉了半天也找不到個上傳點,別說上傳頭像了,用戶資料裡就沒頭像這一項。哪個論壇這麼氣人?看看網頁底部:本論壇代碼來自xxx.com,管理員還不錯,沒改版權信息。看到了這兒想到了什麼?趕緊去你自己的網站改敏感字符?呵呵,晚了,地址中打入xxx.com回車,哦,原來是個不錯的個人主頁,看他的作品裡有個微型PHP文本論壇,就是這個了,呵呵,幸虧剛才在論壇裡沒試SQL注入,不然就白費傻勁了。不管三七二十一,下載下來再說。
下載完成,解壓,發現論壇根目錄下有個DB文件夾,這就應該是所謂的論壇“數據庫”了,打開此文件夾,發現裡面都是些.dat文件,用記事本打開,果然是文本格式。警覺的雙眼一下子就盯到了那個user.dat上。打開,內容如下:
admin<~>plcv<~>3<~>[email protected]<~>peking<~>http://<~><~><~><~><~>3<~>
2004-01-01<~>1
admin是默認用戶,p1cv應該就是加密後的密碼了,緊接的“3”代表管理員,後面的就不用看了。迫不及待地在地址欄裡裡輸入:xxx.xxx.19.7 /forums/db/user.dat,天,把裡面的內容全打到IE裡了,趕緊保存下來。
好了,找關鍵的地方,最原先的用戶,一般就是第一二個,找到了,是管理員權限,用戶名為aaa,密碼為4$@A%G,破解出了這個密碼,按人的習慣,系統密碼不是這個也不遠了,至少會前進一大步。重新分析論壇代碼,發現用以下的方法做的加密:
function t_encrypt($text, $key)
{
$crypt = "";
for($i=0;$i
$i_crypt = $i_crypt - $n_key;
$crypt .= chr($i_crypt);
}
return $crypt;
}
還有個key,key在哪呢?在db下的一個mishi.php裡,打開內容如下: