記一次對php聊天室的攻擊
來源:互聯網
上載者:User
攻擊|聊天室 記一次對php聊天室的攻擊
發言者:kent 發言時間:2001-09-10 15:17:56
摘自:晨風創意
原作者:eastdark
--------------------------------------------------------------------------------
網友“小好”給我了一個聊天室ip,讓我去看看。原本想入侵它的伺服器,大概技術沒到家,搞了十幾分鐘,也沒有進去。於是,我就想找找這個聊天室有什麼BUG。聊天室看得出是用PHP+MySQL組建的。欄目有:使用者註冊、 忘記密碼、 修改資料、 使用者自殺、 聊 神 榜、 聊天說明、 重新整理列表 。接著就是聊天了。
我隨便註冊了一個使用者名稱,按照我的喜好,喜歡開xxxxxx使用者,這樣,我就用xxxxxx註冊了一個使用者。登陸進去。
從哪兒下手呢?我想還是先看看修改資料,一般聊天室這裡總有這樣那樣的漏洞。點了一下修改資料,於是就進入下一畫面,需要輸入使用者名稱和秘密。輸好了後,下一步,進入資料修改。YES!資料修改中有使用者暱稱,其實就是使用者名稱,馬上查看源檔案,看到如下的HMTL語句:
=================================================cut===========
<form name="ezchat" action="modifyed.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="active" value="change">
<input type="hidden" name="user_name" value="xxxxxx">
<input type="hidden" name="user_passwd_t" value="xxxxx">
<table cellspacing=1 cellpadding=2 width="675" border=0 align=center bgcolor="#FFFFFF">
<tr align=center bgcolor="#FFD193">
<td colspan="4" height="22">使用者資料</td>
</tr>
<tr align=center bgcolor="#FFEACE">
<td width="20%" height="22">
<div align="left">使用者暱稱:<font color="#FF0000"><b>*</b></font></div>
</td>
<td width="30%" height="22">
<div align="left">
<input type="text" name="user_name_1" readonly class="input" value="xxxxxx">
</div>
</td>
==========================================end==================
很明顯,其中的兩個hidden是用來判斷你是否有修改資料的許可權,可是,這個人沒想到的是放了一個readnly的輸入框並不安全,就像上一次一個asp論壇一樣,readonly並不能解決什麼。按照慣例,我存了這個檔案,並不修改兩個hidden,把readonly去掉。然後到聊神榜隨便看了個使用者名稱。修改form的action,記得要在前面加上url路徑,然後改掉這個使用者暱稱。按下“修改”命令,出現了什嗎?
=========================================
修改成功
恭喜您,您已經成功修改資料 \^_^/
==========================================
哈哈,這樣我就奪取了一個使用者名稱.雖然沒有入侵它的伺服器,但卻也能搞到好的使用者名稱,這總算也不白費了功夫。總結一下,遇到提交表單的時候,我們可以想一下能否修改表單的值來達到管理員所想不到的目的。這也是培養我們觀察能力的好方法!:)