建设网站公司哪里好相关的热搜问题,网站做影集安全吗,推广码怎么输入,长沙圭塘网站建设公司File Inclusion
服务器执行PHP文件时#xff0c;可以通过文件包含函数加载另一个文件中的PHP代码#xff0c;并且当PHP来执行#xff0c;这会为开发者节省大量的时间。这意味着您可以创建供所有网页引用的标准页眉或菜单文件。当页眉需要更新时#xff0c;您只更新一个包含…File Inclusion
服务器执行PHP文件时可以通过文件包含函数加载另一个文件中的PHP代码并且当PHP来执行这会为开发者节省大量的时间。这意味着您可以创建供所有网页引用的标准页眉或菜单文件。当页眉需要更新时您只更新一个包含文件就可以了或者当您向网站添加一张新页面时仅仅需要修改一下菜单文件而不是更新所有网页中的链接。 文件包含漏洞是指当服务器开启allow_url_include选项时就可以通过php的某些特性函数 (include()、require()、include_once()、require())利用url去动态包含文件此时如果 没有对文件来源进行严格审查就会导致任意文件读取或者任意命令执行。文件包含漏洞分为 本地文件包含漏洞和远程文件包含漏洞远程文件包含漏洞是因为php配置中的allow_url_fopen 开启服务器允许包含一个远程的文件。 文件包含函数
PHP中文件包含函数有以下四种require()、require_once()、include()、include_once()
include和require区别主要是include在包含的过程中如果出现错误会抛出一个警告程序继续正常运行而require函数出现错误的时候会直接报错并退出程序的执行。 而include_once()require_once()这两个函数与前两个的不同之处在于这两个函数只包含一次适用于在脚本执行期间同一个文件有可能被包括超过一次的情况下你想确保它只被包括一次以避免函数重定义变量重新赋值等问题。
漏洞产生原因
文件包含函数加载的参数没有经过过滤或者严格的定义可以被用户控制包含其他恶意文件导致了执行了非预期的代码。 服务器包含文件时不管文件后缀是否是php都会尝试当作php文件执行如果文件内容确为php则会正常执行并返回结果如果不是则会原封不动地打印文件内容所以文件包含漏洞常常会导致任意文件读取与任意命令执行 文件上传漏洞攻击与防范方法
Web安全实战系列文件包含漏洞
LOW级别
?php// The page we wish to display
$file $_GET[ page ];? 服务器期望用户的操作是点击下面的三个链接服务器会包含相应的文件并将结果返回。需要特别说明的是服务器包含文件时不管文件后缀是否是php都会尝试当做php文件执行如果文件内容确为php则会正常执行并返回结果如果不是则会原封不动地打印文件内容所以文件包含漏洞常常会导致任意文件读取与任意命令执行。 在页面上点击三个文件名会显示不同内容 观察URL的变化。发现通过page点击的文件名来显示相应内容那么可能存在文件包含漏洞通过修改URL让page指定的文件来显示攻击者想访问的不在开发者指定访问范围中的内容。
http://192.168.80.145/dvwa/vulnerabilities/fi/?page/etc/passwd报错显示没有这个文件,暴露了服务器文件的绝对路径C:\phpstudy_pro\WWW\dvwa\
成功读取了服务器的php.ini文件 Medium级别
?php// The page we wish to display
$file $_GET[ page ];// Input validation
$file str_replace( array( http://, https:// ), , $file );
$file str_replace( array( ../, ..\\ ), , $file );? 发现使用str_replace对http://,https:// 替换成空对于str_replace函数进行的过滤可以使用双写进行绕过
http://192.168.80.145/dvwa/vulnerabilities/fi/?pagehthttp://tp://www.baidu.com