zoukankan      html  css  js  c++  java
  • 一身冷汗,PHP应该禁用的函数

    有些PHP函数应该禁用的,否则您服务器会受到万劫不复的攻击

    如果你的IIS下的IUSR_YOURPC因为某种特殊的原因不得不开放“执行”权限
    而你的FTP用户上传一段PHP代码到你的服务器
    试想一下,下面的代码会给你的服务器带来什么后果


    echo `echo HAHA,I'm in your server! HOHO`; //注意十五用的是反引号
    shell_exec("tree d:"); //这些都是安全命令,在Win CMD环境下
    system("format d: /x /FS:NTFS"); //参数/x表示强行卸下该卷,这个命令大家应该知道,是完全格式化硬盘,还有一个参数是全部填0的,十五就不卖弄了
    echo `echo.`; //echo.在DOS下是换行,十五当年看了精通DOS6.22,感受良多
    echo `echo Now I'am going to left!88`; //十五英语不太好,语法有错的话请见谅


    这段代码强了!

    如果IUSR_YOURPC没有权限,会提示
    unable to fork 或 unable to exec...
    如果IUSR_YOURPC有权限
    并且没有disable_functions
    那就执行如下DOS命令了

    HAHA,I'm in your server! HOHO
    然后列表文件
    然后就强行格式化D盘了
    Now I'am going to left!88



    在unix和linux环境下也有类似的安全隐患,小到改个密码,大到玩转硬盘,虽然很多OS以及硬件措施对服务器的数据都有保护机制,但是我们绝对不能给破坏者这样的机会,所以在服务器上您的PHP环境应该在php.ini中加入

    1. disable_functions=set_time_limit,system,exec,shell_exec,passthru,proc_open,proc_close,proc_get_status,checkdnsrr,getmxrr,getservbyname,getservbyport,syslog,popen,show_source,highlight_file,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname,dl,socket_listen,socket_create,socket_bind,socket_accept,socket_connect,stream_socket_server,stream_socket_accept,stream_socket_client,ftp_connect,ftp_login,ftp_pasv,ftp_get,zlib.compress,gzopen,gzpassthru,gzcompress
    复制代码



    然后,重启你的IIS或APACHE

    这里没有禁用phpinfo,这个函数可以把服务器信息透露给破坏者,如果服务器没有及时补上某些漏洞也会因此招来破坏者,但很多信息可以用PHP编程得到,十五认为,如非必要可以禁止。

    PS:出于对黑客事业的尊重,这里并没有用黑客这个名词,十五喜欢用破坏者这个词。也许跟十五经常干与黑客类似的事情有关。比如告诉别人你家后门开着啊,狗洞可以钻进一个人之类的,呵呵,玩笑……

  • 相关阅读:
    Milk 结构体
    Milk 结构体
    Repeating Decimals, ACM/ICPC World Finals 1990, UVa202
    Repeating Decimals, ACM/ICPC World Finals 1990, UVa202
    DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368
    DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368
    Crossword Answers, ACM/ICPC World Finals 1994, UVa232
    【编程技巧】 iOS 5的StoryBoard(故事板)的一些用法
    【开发技术】storyboard和nib的差别
    【编程技巧】ExtJs 设置GridPanel表格文本垂直居中
  • 原文地址:https://www.cnblogs.com/youlechang123/p/2196919.html
Copyright © 2011-2022 走看看