网站后台”空降”了一个管理员

*本文作者:sjy93812,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

新的一年开始了,发点小福利。无意间发现了一个影响phpcms最新版本的漏洞。最近我一个使用phpcms框架搭建的系统,无故多出了一个超级管理员。确定不是出于本意添加的,然后联想到可能是这个框架中可能是存在SCRF漏洞,但是去看添加管理员的数据包的时候貌是有防CSRF的字符串,那么这个管理员从哪里来的呢?

然后我去分析了一下后台中可能存在SCRF的地方,能在不知不觉中被CSRF的点也只可能是在前台提交的数据,在后台能看到的地方,可能只有友情链接这里了,然后我进一步的去分析了一下。

网站后台”空降”了一个管理员

这是申请链接的入口,这里输入的数据会在后台显示。这里我们提交一个数据,然后抓包看一下。

网站后台”空降”了一个管理员

这里调用了link模块我们看一下这个模块的功能

网站后台”空降”了一个管理员

这里可以看到对我们提交的一些参数做了安全过滤,也就是我们直接想往后台插入恶意数据基本上是不可能的。接着往下看,下面就是直接入库的操作。

网站后台”空降”了一个管理员

可以看到这里正常插入了,而已数据也是正常的,到这里为止都是正常的。接下来就是看哦我们在后台读取这些数据的时候有没有问题。

网站后台”空降”了一个管理员

同样的我们找到后台读取数据库数据的代码

网站后台”空降”了一个管理员

这里直接在数据库中得到了表中的数据,这里非管理权限是不能操作的,这里也不存在什么问题,接着往下跟数据包的流向。

可以看到这里加载了一个link_list文件,这里继续跟一下。这里将要向页面输出的数据打印出来看一下。

网站后台”空降”了一个管理员 

网站后台”空降”了一个管理员

这里看起来都是正常的,但是在分析数据包的时候发现响应包中出现了一段对url处理的JS。这里就出现了问题,这里遍历了所有的a标签,并在a标签的href属性值后面全部添加了pc_hash字段。

网站后台”空降”了一个管理员

经过这段JS处理之后的我们之前提交的链接变成了如下的格式:

网站后台”空降”了一个管理员

那么这个链接就存在很大的问题了,这里在访问你之前提交的超链接时会将这个参数以GET方式携带过去。这里就造成了会话凭证的泄露。

然后在自己的服务器中写一个接收参数的页面

网站后台”空降”了一个管理员

然后将你本地的链接提交到后台审核

网站后台”空降”了一个管理员

然后当管理员去审核你提交的链接时你就可以拿到这个防csrf的字符串了,那么就可以做很多事情了。

网站后台”空降”了一个管理员

本文仅供学习研究,正在使用该程序的站长要注意一下这个问题。

*本文作者:sjy93812,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

发表评论

已有 10 条评论

  • kotobuki  (1级)  2018-01-01 回复 1楼

    SCRF?

    亮了(5)
  • softbug  网站后台”空降”了一个管理员网站后台”空降”了一个管理员(7级) 011101000110100001100001011011...  2018-01-01 回复 2楼

    不错 有点意思! 估计很多人不会留意到这个文章。赞一下

    亮了(3)
  • 网站后台”空降”了一个管理员
    test  2018-01-01 回复 3楼

    然后联想到可能是这个框架中可能是存在SCRF漏洞

    CSRF

    亮了(0)
  • guhui  (1级)  2018-01-01 回复 4楼

    不错 有点意思! 估计很多人不会留意到这个文章。赞一下

    亮了(0)
  • gohome_playballs  (1级)  2018-01-01 回复 5楼

    收藏了,大家新年快乐 网站后台”空降”了一个管理员

    亮了(1)
  • 1175161483  (1级)  2018-01-01 回复 6楼

    SCRF什么鬼 不是CSRF么

    亮了(0)
  • 网站后台”空降”了一个管理员
    666  2018-01-01 回复 7楼

    呃……这个问题之前就有了,感谢楼主把它分享出来。

    亮了(0)
  • 网站后台”空降”了一个管理员
    吃瓜群众  2018-01-01 回复 8楼

    SCRF是啥新洞

    亮了(0)
  • 网站后台”空降”了一个管理员
    ssssssss  2018-01-02 回复 9楼

    CSRF?亲爱的大亲爱的?

    亮了(0)
  • 网站后台”空降”了一个管理员
    sssss1  2018-01-02 回复 10楼

    这个漏洞好早了,一直都不修复,然后吧他们觉得需要交互的洞都不是洞,除非你再找到不用开启注册和用户中心就能进行注入的漏洞才算,前几天的那个存储型xss也是一样的道理。