程序源代码使用了Zend Guard加密,需要先解密。
0x1 全局变量覆盖漏洞
/inc/common.inc.php:
没做任何过滤,直接赋值了, POST方式还可以覆盖数组变量。
看到这里是不是似曾相识?...
没错,与早前的dedecms变量覆盖漏洞如出一辙。
0x02 管理员身份登录
覆盖数据库配置。
通用配置文件 /inc/td_config.php:
载入数据库配置是在include common.inc.php之后,可以被覆盖。
覆盖数据库配置,连接外部数据库(服务器需能够访问外网),这样就能以admin身份登录OA后台了。
0x3 SQL注入
general\document\models\mrecv.php:
注入1:
利用变量覆盖,可以不用登录就能利用sql注入。
\inc\td_framework\core\Framework.php:
1=2时报错,可以盲注
注入2:
1=2时报错。
注入还有很多,就不找了。
0x4 OA后台getshell
后台有导入sql功能,可以导出shell。
系统默认取消了root的file权限,需要更新权限才能导出。
虽然系统对sql做了过滤,但还是可以绕过的。
/inc/conn.php:
跳过了单引号包裹的字符串,所以上边的into outfile没有被拦截。