查看文章 |
昨天换了个路由,因为忘记拨号帐号和密码了,便想起用以前的路由接上,通过“修改拨号密码”页面的“查看源代码”方式查看密码。这个方法曾经就让很多人的拨号密码被人盗。。。。原理很简单,CGI生成的HTML页面,如果有密码,在密码输入框里是*号形式显示的,当然看不到,但是可以在查看网页源文件里就能看到了。 但是,行不通了。TPLINK解决此问题的方法是: <script language="javascript"> var temp="Hello123World"; document.form1.psw.value=temp; </script> 最初我以为是程序动态生成的JS代码,但想来不对,因为密码不会是Hello123World的啊。后来转念一想,哎。好主意啊。 原理是:将要修改的密码框以value=一个预先设计好的值,但这个值一般不会被人用来作为密码,比如“Hello123World”,这样就算别人看源代码,也只能看到这个假的。然后在处理修改密码的后台程序里,作一个优先例,就是判断如果被修改后的密码是"Hello123World"则不修改密码。这样有一个小缺点就同如果用户真把密码改成"Hello123World"的话,则密码修改不会成功。 在后台处理上的优先例很简单,我用ASP写一点伪代码: <% psw=trim(request.form("psw")) if psw<>"" and psw<>"Hello123World" then 修改密码 修改成功 else 修改失败 end if %>
就这样,成功绕过了查看源代码获得密码的方法。很实用的一个例子,但是,这个想法却很能让人深思。事情往往就是这样,一个小小的改变,能让整个事情效率增加,但是这个小小的改变却很难让人发现,一旦发现,小则方便众人,大则 新的万有引力 来了。。。。
|

