本文主要是介绍[PHP漏洞]PHP0day漏洞挖掘及防范笔记(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
0x01
环境搭建:Damn Vulnerable Web App (DVWA) isa PHP/MySQL web application that is damn vulnerable. Its main goals are to bean aid for security professionals to test their skills and tools in a legalenvironment, help web developers better understand the processes of securingweb applications and aid teachers/students to teach/learn web applicationsecurity in a class room environment.
.htaccess
php_flag magic_quotes_gpcOff //主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。5.3.0以前、
if(!get_magic_quotes_gpc())
{
addslashes($prot);
}
#php_flag allow_url_fopenon
#php_flagallow_url_include on
AllowOverride None/All
0x02 APMserv,XAMPP,WAMP
0x03 PHP 超全局变量
$GLOBALS
包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的 名称。从 PHP 3 开始存在 $GLOBALS 数组。
$_SERVER
变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。HTTP头、
$_GET
经由 HTTP GET 方法提交至脚本的变量。类似于旧数组 $HTTP_GET_VARS 数组(依然有效,但反对使用)。
$_POST
经由HTTP POST方法提交至脚本的变量。类似于旧数组 $HTTP_POST_VARS 数组(依然有效,但反对使用)。
$_COOKIE
经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组 $HTTP_COOKIE_VARS 数组(依然有效,但反对使用)。
$_FILES
经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息请参阅 POST 方法上传。
$_ENV
执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组(依然有效,但反对使用)。
$_REQUEST
经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。该数组没有直接模拟 PHP 4.1.0 的早期版本。参见 。
******自 PHP 4.3.0起,$_FILES 中的文件信息不再存在于 $_REQUEST 中。*****
$_SESSION
当前注册给脚本会话的变量。类似于旧数组 $HTTP_SESSION_VARS 数组(依然有效,但反对使用)。
0x04 require_once()语句在脚本执行期间包含并运行指定文件。此行为和 require()语句类似,唯一区别是如果该文件中的代码已经被包含了,则不会再次包含。
0x05 Sql注入:允许攻击者从HTTP表单输入框提交SQL语句,还包括盲注和SQL注入错误显示。
这篇关于[PHP漏洞]PHP0day漏洞挖掘及防范笔记(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!