显示是显示不出的,目前没有这种bug报告。

解决方案 »

  1.   

    第一种传值的方法不就是穷举吗?太费事,需要时间。
    第二种显示的方法,我不懂。因为你提交的是数据,而脚本是有人家编写并放在人家服务器端的,服务器端的脚本不显示,你如何得知密码呢?而且比较的过程是在服务器端运行的,$truepassword怎么到客户端呢?请高手指点?
      

  2.   

    我的意思是,这人要是能做到通过表单传递某个脚本命令给上面的验证程序呢?因为他知道了用户名,程序认为他是合法用户,已经据此在数据库中取出$turepassword的值准备与他的$input的结果进行比较,这时如果他的$input通过传递某种脚本命令使得“$input=$truepassword”成立,他不就骗过验证程序了吗?关键是PHP能否象某些语言那样,把字串的值代换出来做命令执行。
      

  3.   

    问题是你$truepassword是怎么来的从数据库中来的吗?
    就算别人用get方法传过来也会被你后来所读数据库的值覆盖掉........
    倒是很多人劫包头........不过好象ssl可以安全点劫掉也是加过密的.
      

  4.   

    我的意思是:程序对于用户名和密码是分别检验的,先判断用户名是合法的,再根据用户名取出密码来比较,既然此人已经知道了用户名,程序就会取出密码来与他输入的$input进行比较。我想知道:在PHP中通过表单传递的值,有没有可能被替换成命令执行,比如在文本框输入:echo $foo,程序接收到后不是做为字串“echo $foo”处理,而是被做为命令来执行,显示$foo的值? 
      

  5.   

    主要看看php.ini的设置有没有搞好,一般默认的设置是把所有输入变量转义一次,就是说把"转义为\".这样就没什么问题了.
    如果没有转义就会出现问题.
      

  6.   

    转义的问题我也了解一些。这里假设程序所在服务器的设置不受程序作者的控制,也就是说假定magic_quotes_gpc是关闭的,那么上述漏洞有没有实现的可能呢?讨论的都挺好,加分!