首页
社区
课程
招聘
[投稿]PHP源程序中常见的后台绕过方法总结
发表于: 2018-1-9 22:50 5144

[投稿]PHP源程序中常见的后台绕过方法总结

2018-1-9 22:50
5144

最近审计了几个开源的PHP源程序,发现都存在后台程序绕过的问题,而且绕过的方式均不相同,写篇总结一下。初步地将绕过方式分为了三个层次:
1.后台缺乏验证代码
2.后台验证代码不严谨
3.变量覆盖漏洞导致后台验证失效

以下就几个我审计过的PHP源程序进行说明。

比如在axublog 1.0.2中后台存在一个验证管理员登录的函数chkadcookie()。但是在后台的ad/art.php中并没有chkadcookie(),因而就造成了越权访问。

这种漏洞的原理也比较简单,一般情况下是经验不足的开发者漏掉了验证函数,这种漏洞目前已经比较少了。

这个漏洞的出现情况是最多的,出现的情况也是千奇百怪。

axublog中的后台验证函数是chkadcookie(),代码如下:

分析代码发现非常有趣的问题:

问题很明显,既然我们知道了txtchkad.txt中的内容,同时COOKIE也是我们可控的,那么我们就可以绕过了。

只需要将COOKIE中的chkad设置为_就可以绕过后台的登录了。

zzcms中的后台验证代码如下:

可以发现如果SESSION中不存在adminpass就会跳转到登录代码,跳转代码是echo("<script>top.location.href = '/admin/login.php';</script>");。通过前台的JS进行跳转,但是后面没有立即exit(),导致后面的代码仍然是可以执行的,所以这种验证方式也无用的。

绕过方式非常地简单,在浏览器段禁用JS代码就可以了。

检查登录的函数is_login()的代码为:

正常情况下,如果用户无法控制SESSION中的值,上述代码是没有问题的。

但是后来分析发现,基本所有的文件都会引入includes/init.php文件,其中有代码:


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 6588
活跃值: (4032)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
***  我试过了  不行。
最后于 2019-2-1 10:26 被kanxue编辑 ,原因:
2018-1-10 03:43
0
雪    币: 203
活跃值: (53)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
zhatian 坑比货, 我试过了 不行。
论坛回帖请注意言辞,有疑问可以具体指出问题点在哪。
2018-1-10 10:51
0
游客
登录 | 注册 方可回帖
返回
//