专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »网站安全 » php安全配置:php安全配置的参数 »正文

php安全配置:php安全配置的参数

来源: 发布时间:星期三, 2009年9月2日 浏览:2次 评论:0
  Php已经成为当前网络中使用最多数据库的特别是在Web应用上它占据了中小型应用绝对优势切都源于它小巧易用、它安全有效、它开放式许可、它多平台更主要是它和 3大Web语言的——PHP完美结合但不幸个缺省安全Php设置不当造成灾难性后果990807a03ffzsLIh

  第个重要参数是register_globals. 这个配置影响到php如何接收传递过来参数说白了register_globals意思就是注册为全局变量所以当该参数为值On时候传递过来值会被直接注册为全 局变量直接使用而当该参数值为Off时候我们需要到从特定里去得到它.操作

  修改php.ini文件设置register_globals=off

  当 register_globals 打开以后各种变量都被注入代码例如来自 HTML 表单请求变量再加上 PHP 在使用变量的前是无需进行这就使得更容易写出不安全代码这是个很艰难抉择但 PHP 社区还是决定默认关闭此选项当打开时人们使用变量时确实不知道变量是哪里来只能想当然但是 register_globals 关闭改变了这种代码内部变量和客户端发送变量混杂在糟糕情况

  当 magic_quotes_gpc=off 写入数据库串未经过任何过滤处理从数据库读出串也未作任何处理对于未经处理单引号在写入数据库时会使sql语句发生当magic_quotes_gpc=on 写入数据库串未经过任何处理从数据库读出串未作任何处理magic_quotes_gpc=on 将单引号转换为’转义使sql语句成功执行但’并未作为数据入数据库数据库保存是snow”’’sun而并不是我们想象snow”’’sun

  修改php.ini文件设置register_globals=off

  php display_errors参数就是帮助开发者定位和确定这些容易使提供这些信息被恶意攻击者采集信息

  操作

  修改php.ini文件设置display_errors =Off

  php安全模式是个非常重要内嵌安全机制能够控制些php中比如system同时把很多文件操作进行了权限控制也不允许对某些关键文件访问比如/etc/passwd但是默认 php.ini是没有打开安全模式我们把它打开safe_mode = _disibledevent=>   open_basedir选项能够控制PHP脚本只能访问指定目录这样能够避免PHP脚本访问不应该访问文件定程度上限制了webshell跨站攻击

  操作

  修改php.ini文件设置open_basedir=网站WebSite路径

  变量disable_functions能过滤些危害性很大systemexec等

  操作

  推荐过滤如下

  disable_functions = phpinfopassthruexecsystemchrootscandirchgrpchownshell_execproc_openproc_get_statusini_alterini_alterini_restoredlpfsockopenopenlogsyslogreadlinksymlinkpopepassthrustream__server

  但需要设置另两个参数safe_mode =on;safe_mode_gid =on

  禁用Com组件Windows平台下PHP脚本平台存在个安全漏洞使得PHP设置即使在安全模式下(safe_mode)仍旧允许攻击者使用COM来创建系统组件来执行任意命令漏洞出现原因是由于在安全模式下PHP平台虽然system;pathru被禁止但是com.allow_dcom设置依旧是为true以至于攻击者可以使用COM创建系统组件对象来运行系统命令

  操作

  1、卸载wscript.shell对象

  在cmd下运行:regsvr32 WSHom.Ocx /u

  2、卸载FSO对象

  在cmd下运行:regsvr32.exe scrrun.dll /u

  3、卸载stream对象

  在cmd下运行:

  regsvr32 /s /u “C:Program FilesCommon Filesadomsado15.dll”

  恢复去掉/u就行了

  如Wscript.Shell就用在regsvr32 WSHom.Ocx就行了

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: