首页 >> 设计学院 >> 网络安全 >> 网站安全 >> 正文
来源: 不详 | 时间: 2005-12-16 20:45:17 | 人气:
网页编程安全漏洞全接触
2、取得别人账号 这个漏洞原因已经在上面分析了,我们现在来看实例。首先,我们进入一个注册页面,并且随意输入一个账号,发现出现账号已经存在的信息。这样,我们知道这个账号已经存在,怎样取得这个账号的使用权呢?我们使用另外一个账号注册,如果这个账号不存在,会出现以下的页面。
以上页面,就是正常的注册页面,我们可以发现在“用户名称”后面,发现了需要注册的“kkkkkkkkk”账号,再看看这个页面的源代码,查找这个账号,看这个账号出现在哪些地方,我们只看关键的代码: <FORM name="form2" action="../member/register1.jsp" method=post onsubmit="javascript:return TestField1()"> <div align="center"> <input type="hidden" name="Step" value="2"> <input type="hidden" name="recName" value=kkkkkkkkk> <table width="500" border="0" cellspacing="0" cellpadding="2"> <tr bgcolor="#000000"> <td> <div align="center"><b><font color="#FFFFFF">普通会员注册</font></b></div> </td> </tr> </table> 在上面的代码中,我们发现有两个hidden类型的表单项,第一个是“Step”,第二个是“recName”,从名字我们知道,第一个是注册的步骤,对我们没有意义;第二个是注册的用户名,为什么要使用“hidden”类型表单保存呢?就是为了在以下的正式注册中直接使用这个作为用户名。发现什么没有?我们可以将这里的注册名修改为我们刚才试验时候使用的注册名“andy”,然后保存为一个HTML文件,再一次打开,填写必要信息提交,结果,我们已经取得该账号的“合法”使用权。在这里需要注意的一点是,在以下语句中: <FORM name="form2" action="../member/register1.jsp" method=post onsubmit="javascript:return TestField1()"> 如果我们直接保存页面到本机,提交的时候会出错的,因为本机不存在member/register1.jsp文件,我们必须将这里该为正确的网址,也就是在前面加上该网站的网址才可以提交。另外,并不是所有使用这种分步验证方式注册的网站都存在这个漏洞。 3、绕过验证的“页面炸弹” 即使页面有严格的验证,有时候,我们还是可以绕过这些验证来提交一些不合法的信息,最简单的就是采用javascript方式验证的程序,因为javascript的特殊性,我们可以将提交信息的页面保存到本地计算机,然后将这些javascript程序删除,再提交攻击信息,这样,轻松的,我们就可以绕过页面信息验证了。 四、总结 以上我们介绍了网页编程中容易出现的一些漏洞,这些漏洞,其实并不只是在网页编程中出现,在其他的编程中,也有一定的参考价值。从以上的介绍中可以知道,安全的概念其实贯穿在整个网页设计过程中,随时我们都要考虑到安全的问题,这样,我们的网站才会多一些安全性;同样的,作为网络攻击者,如果随时注意一些编程漏洞,很容易,网站的漏洞就可以找出来。