一般聊天室这里总有这样那样的漏洞。点了一下修改资料,于是就进入下一画面,需要输入用户名和秘密。输好了后,下一步,进入资料修改。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路径,然后改掉这个用户昵称。按下“修改”命令,出现了什么? ========================================= 修改成功
恭喜您,您已经成功修改资料 \^_^/
========================================== 哈哈,这样我就夺取了一个用户名.虽然没有入侵它的服务器,但却也能搞到好的用户名,这总算也不白费了功夫。总结一下,遇到提交表单的时候,我们可以想一下能否修改表单的值来达到管理员所想不到的目的。这也是培养我们观察能力的好方法!:)
|