你对于PHP漏洞有哪些认识?
发布时间:2022-07-16 15:56:44 所属栏目:PHP教程 来源:互联网
导读:针对PHP的网站主要存在下面几种攻击方式,这里介绍下,大家在书写php代码的时候一定要注意下,本篇文章有一定的参考性! 针对PHP的网站主要存在下面几种攻击方式: 命令注入(Command Injection) eval注入(Eval Injection) URL攻击(URL attack) 表单提交欺骗攻
|
针对PHP的网站主要存在下面几种攻击方式,这里介绍下,大家在书写php代码的时候一定要注意下,本篇文章有一定的参考性! 针对PHP的网站主要存在下面几种攻击方式: 命令注入(Command Injection) eval注入(Eval Injection) URL攻击(URL attack) 表单提交欺骗攻击(Spoofed Form Submissions) HTTP请求欺骗攻击(Spoofed HTTP Requests) 命令注入攻击 PHP中可以使用下列5个函数来执行外部的应用程序或函数 system、exec、passthru、shell_exec、“(与shell_exec功能相同) 函数原型 string system(string command, int &return_var) command 要执行的命令 return_var 存放执行命令的执行后的状态值 return_var 存放执行命令后的状态值 string shell_exec (string command) command 要执行的命令 漏洞实例 例1: //ex1.php <?php $dir = $_GET["dir"]; if (isset($dir)) { echo "<pre>"; system("ls -al ".$dir); echo "</pre>"; } ?> 我们提交http://www.sectop.com/ex1.php?dir=| cat /etc/passwd 提交以后,命令变成了 system("ls -al | cat /etc/passwd"); 54.jpg mixed eval(string code_str) //eval注入一般发生在攻击者能控制输入的字符串的时候 //ex2.php <?php $var = "var"; if (isset($_GET["arg"])) { $arg = $_GET["arg"]; eval("$var = $arg;"); echo "$var =".$var; <?php func A() { 防范方法 尽量不要执行外部命令 使用自定义函数或函数库来替代外部命令的功能 使用escapeshellarg函数来处理命令参数 使用safe_mode_exec_dir指定可执行文件的路径 esacpeshellarg函数会将任何引起参数或命令结束的字符转义,单引号“'”,替换成“'”,双引号“"”,替换成“"”,分号“;”替换成“;” 可以被用作脚本植入的HTML标签一般包括以下几种: <script>标签标记的javascript和vbscript等页面脚本程序。在<script>标签内可以指定js程序代码,也可以在src属性内指定js文件的URL路径 <object>标签标记的对象。这些对象是java applet、多媒体文件和ActiveX控件等。通常在data属性内指定对象的URL路径 <embed>标签标记的对象。这些对象是多媒体文件,例如:swf文件。通常在src属性内指定对象的URL路径 <applet>标签标记的对象。这些对象是java applet,通常在codebase属性内指定对象的URL路径 <form>标签标记的对象。通常在action属性内指定要处理表单数据的web应用程序的URL路径 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



浙公网安备 33038102330468号