查看完整版本: 记一次对php聊天室的攻击

铁血霸主 2007-8-1 22:35

记一次对php聊天室的攻击

             <p>网友“小好”给我了一个聊天室ip,让我去看看。原本想入侵它的服务器,大概<a href="http://www.phpchina.com/javascript:;" onClick="javascript:tagshow(event, '%BC%BC%CA%F5');" target="_self"><u><strong>技术</strong></u></a>没到家,搞了十几分钟,也没有进去。于是,我就想找找这个聊天室有什么BUG。聊天室看得出是用PHP+MySQL组建的。栏目有:用户注册、 忘记密码、 修改资料、 用户自杀、 聊 神 榜、 聊天说明、 刷新列表 。接着就是聊天了。 <BR>我随便注册了一个用户名,按照我的喜好,喜欢开xxxxxx用户,这样,我就用xxxxxx注册了一个用户。登陆进去。 <BR>从哪儿下手呢?我想还是先看看修改资料,一般聊天室这里总有这样那样的漏洞。点了一下修改资料,于是就进入下一画面,需要输入用户名和秘密。输好了后,下一步,进入资料修改。YES!资料修改中有用户昵称,其实就是用户名,马上查看源文件,看到如下的HMTL语句: <BR>=================================================cut=========== <BR>&lt;form name="ezchat" action="modifyed.php" method="post" enctype="multipart/form-data"&gt; <BR><BR>&lt;input type="hidden" name="active" value="change"&gt; <BR><BR>&lt;input type="hidden" name="user_name" value="xxxxxx"&gt; <BR><BR>&lt;input type="hidden" name="user_passwd_t" value="xxxxx"&gt; <BR><BR>&lt;table cellspacing=1 cellpadding=2 width="675" border=0 align=center bgcolor="#FFFFFF"&gt; <BR><BR>&lt;tr align=center bgcolor="#FFD193"&gt; <BR><BR>&lt;td colspan="4" height="22"&gt;用户资料&lt;/td&gt; <BR><BR>&lt;/tr&gt; <BR><BR>&lt;tr align=center bgcolor="#FFEACE"&gt; <BR><BR>&lt;td width="20%" height="22"&gt; <BR><BR>&lt;div align="left"&gt;用户昵称:&lt;font color="#FF0000"&gt;&lt;b&gt;*&lt;/b&gt;&lt;/font&gt;&lt;/div&gt; <BR><BR>&lt;/td&gt; <BR>&lt;td width="30%" height="22"&gt; <BR><BR>&lt;div align="left"&gt; <BR><BR>&lt;input type="text" name="user_name_1" readonly class="input" value="xxxxxx"&gt; <BR><BR>&lt;/div&gt; <BR><BR>&lt;/td&gt; <BR>==========================================end================== <BR>很明显,其中的两个hidden是用来判断你是否有修改资料的权限,可是,这个人没想到的是放了一个readnly的输入框并不安全,就像上一次一个asp论坛一样,readonly并不能解决什么。按照惯例,我存了这个文件,并不修改两个hidden,把readonly去掉。然后到聊神榜随便看了个用户名。修改form的action,记得要在前面加上url路径,然后改掉这个用户昵称。按下“修改”命令,出现了什么? <BR>========================================= <BR>修改成功 <BR><BR>恭喜您,您已经成功修改资料 \^_^/ <BR><BR>========================================== <BR>哈哈,这样我就夺取了一个用户名.虽然没有入侵它的服务器,但却也能搞到好的用户名,这总算也不白费了功夫。总结一下,遇到提交表单的时候,我们可以想一下能否修改表单的值来达到管理员所想不到的目的。这也是培养我们观察能力的好<a href="http://www.phpchina.com/javascript:;" onClick="javascript:tagshow(event, '%B7%BD%B7%A8');" target="_self"><u><strong>方法</strong></u></a>!:) </p>     <center><input type="image" onclick=copyToClipBoard() src="http://www.phpchina.com/images/phpcn_book_bu_tj.gif" border="0"></center>
页: [1]
查看完整版本: 记一次对php聊天室的攻击
PageRank