DESTOON 最新版注入可提升为管理员权限

文章目录

漏洞作者: Noxxx

由于注册的时候 公司名称没有做什么过滤 (只是 看是否有数字 如有就不通过 反之通过)

修改资料的时候又从数据库中吧 公司名称 查出来 然后进入查询流程所导致的注入 由于 admin权限的表不是独立的 所以我们可以更新 用户组

1 – 注册 判断公司名称的代码

在 member.class.php is_member() 中 124 – 130 行

 

2 – 修改资料 的代码

member/edit.inc.php

3 – edit() 的代码

4 . 构造exp

由于post是个数组 又用了 foreach 我们可以 随意控制数组的位置

而且可以 先把 post[company]=ok先赋值掉(占个位子) 后面接着我们可控字段就可以了

还有个就是 全局过滤的问题

strip_sql()

原先是 /select([[:space:]\*\/\-])/i这样的

只需要 select(xxx)from(xx) 这样就能了

现在是 /select([[:space:]\*\/\-\(])/i

不过 还是能绕过过滤 select+(XXXX)from

这样既可,还有个问题就是 where这个被直接过滤掉了

“/where/i”

更新的时候,就不好办了 容易把所有用户全部更新掉..

研究了一下 ORDER BY username=16541651564 DESC LIMIT 1 这样就可以了 .. 不过你注册的用户名必须为数字的

exp:

mobile=这里也可以直接 (SELECT+(MAKE_SET(-1,admin,username,PASSWORD)) LIMIT 0,1)

我这个有点麻烦..sql没学多少。。

sql日志

注册的时候用burp 修改下公司 名称 :xxx\

漏洞证明:

19152848ba4c510c864dbaf737115d01efdd0473

 

19152928ded5507622155d8e35fe8a07f1289ff1

 

191531084d68688155eb50c9257d55c9de7f8cab

 

1915314478ca934a0a0df89c81eea1a42e1dacd6

 

191531593f6787bde53b1b3fd472b747aced6a59

原文链接:,转发请注明来源!

发表评论

要发表评论,您必须先登录

  • 2 Responses to “DESTOON 最新版注入可提升为管理员权限”