PHP漏洞完整解决方案(详细介绍)
针对PHP网站的攻击方式主要有以下几种: 1、命令注入)2、Eval注入)3、客户端脚本插入)4、跨站点脚本,XSS) 5。SQL注入)6。跨站点请求伪造。CSRF) 7、Session劫持8、Session固定9、HTTP响应拆分10、File Upload攻击)11、A目录遍历漏洞12、远程文件包含攻击13、动态变量求值攻击14、URL攻击)15、PHP中可以使用以下五个函数来执行外部应用程序或函数system、exec、passthru、shell_exec,“(与shell_exec函数相同)函数原型string system (string命令, int return_var)命令要执行的命令return_var存储string exec的状态值(string command,output,int return_var)命令要执行的命令Output获取执行命令的每一行字符串输出return_var存储状态值void passthru (string command,Int return_var)要执行的命令return _ var存储执行命令string shell _ exec (string command)命令后的状态值要执行的漏洞示例1://ex1.php? PHP $ dir=$ _ GET[' dir '];if(isset($ dir)){ echo ' pre ';系统(' ls -al '。$ dir);回声'/pre ';}?我们将其提交给http://www.sectop.com/ex1.php?在dir=| cat /etc/passwd提交后,命令变为系统(' ls-al | cat/etc/passwd ');
Eval注入攻击eval函数以输入字符串参数作为PHP程序代码执行函数原型:混合eval (string code _ str)//eval注入一般发生在攻击者可以控制输入字符串//ex2.php?php $ var=' varif(isset($ _ GET[' arg '])){ $ arg=$ _ GET[' arg '];eval(' \ $ var=$ arg;');echo '\$var='。$ var}?当我们将它提交给http://www.sectop.com/ex2.php?时,arg=phpinfo();漏洞创造动态功能?phpfunc A(){ dosomesing();} func B(){ do someting();} if(isset($ _ GET[' func ']){ $ my func=$ _ GET[' func '];echo $ my func();}?程序员最初想动态调用A和B函数,所以我们提交了http://www.sectop.com/ex.php?函数=phpinfo漏洞防范方法1。尽量不要执行外部命令2。使用自定义函数或函数库来替换外部命令的功能3。使用擒纵函数处理命令参数4。使用safe_mode_exec_dir指定可执行文件的路径esacpeshellarg函数将转义任何导致参数或命令结束的字符。单引号“”被替换为“\”、双引号“”。替换为“\”使用safe_mode_exec_dir指定可执行文件的路径,您可以将将要使用的命令提前放入该路径。safe _ mode=on safe _ mode _ exec _ di r=/usr/local/PHP/bin。
版权声明:PHP漏洞完整解决方案(详细介绍)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。