通达OA v11.7后台SQL注入
Last updated
Was this helpful?
Last updated
Was this helpful?
通达OA v11.7后台存在SQL注入,可通过此漏洞写入恶意后门文件攻击目标服务器
Note
通达OA v11.7
在 general/hr/manage/query/delete_cascade.php 文件中
首先判断$condition_cascade
是否为空,如果不为空,则将其中的\'
替换为'
。为什么要这样替换呢,主要是因为V11.7版本中,注册变量时考虑了安全问题,将用户输入的字符用addslashes
函数进行保护,如下:
inc/common.inc.php 代码
使用盲注对SQL注入进行测试
触发了通达OA的SQL注入拦截
inc/conn.php文件中找到过滤机制如下:
其过滤了一些字符,但是并非无法绕过,盲注的核心是:substr、if
等函数,均未被过滤,那么只要构造MySQL报错即可配合if
函数进行盲注了,翻看局外人师傅在补天白帽大会上的分享,发现power(9999,99)
也可以使数据库报错,所以构造语句:
添加SQL数据库用户
进入 Myoa/mysql5/bin 目录 执行 mysql -upeiqi -p 输入密码查询所有用户
发现成功执行添加一个账户
然后该用户是对mysql数据库拥有所有权限的,然后给自己加权限:
然后用注入点刷新权限,因为该用户是没有刷新权限的权限的:general/hr/manage/query/delete_cascade.php?condition_cascade=flush privileges;
这样就拥有了所有权限
登录如果失败,执行
利用漏洞写shell
上传大马
访问 all privileges ON mysql.* TO 'peiqi'@'%' IDENTIFIED BY 'peiqiABC@123' WITH GRANT OPTION