您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> php >> 正文

如何对PHP程序中的常见漏洞进行攻击(下)

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-2-2 我要参与讨论

  ():当与“/e”开关一起使用时,替换字符串将被解释为PHP代码 

<命令执行> 
exec():执行指定的命令,返回执行结果的最后一行 
passthru():执行指定命令,返回所有结果到客户浏览器 
``:执行指定命令,返回所有结果到一个数组 
system():同passthru(),但是不处理二进制数据 
popen():执行指定的命令,把输入或输出连接到PHP文件描述符 

<文件泄露> 
fopen():打开文件,并对应一个PHP文件描述符 
readfile():读取文件的内容,然后输出到客户浏览器 
file():把整个文件内容读到一个数组中 

译者注:其实这份列表还不是很全,比如“mail()”等命令也可能执行命令,所以需要自己补充一下。 
[如何增强PHP的安全性] 
我在上面介绍的所有攻击对于缺省安装的PHP 4都可以很好的实现,但是我已经重复了很多次,PHP的配置非常灵活,通过配置一些PHP选项,我们完全可能抵抗其中的一些攻击。下面我按照实现的难度对一些配置进行了分类: 

*低难度 
**中低难度 
***中高难度 
****高难度 

上面的分类只是个人的看法,但是我可以保证,如果你使用了PHP提供的所有选项的话,那么你的PHP将是很安全的,即使是第三方的代码也是如此,因为其中很多功能已经不能使用。 

**** 设置“register_globals”为“off” 
这个选项会禁止PHP为用户输入创建全局变量,也就是说,如果用户提交表单变量“hello”,PHP不会创建“$ hello”,而只会创建“HTTP_GET/POST_VARS['hello']”。这是PHP中一个极其重要的选项,关闭这个选项,会给编程带来很大的不便。 

*** 设置“safe_mode”为“on” 
打开这个选项,会增加如下限制: 
1.    限制哪个命令可以被执行 
2.    限制哪个函数可以被使用 
3.    基于脚本所有权和目标文件所有权的文件访问限制 
4.    禁止文件上载功能 
这对于ISP来说是一个伟大的选项,同时它也能极大地改进PHP的安全性。 

** 设置“open_basedir” 
这个选项可以禁止指定目录之外的文件操作,有效地消除了本地文件或者是远程文件被include()的攻击,但是仍需要注意文件上载和session文件的攻击。 

** 设置“display_errors”为“off”,设置“log_errors”为“on” 
这个选项禁止把错误信息显示在网页中,而是记录到日志文件中,这可以有效的抵制攻击者对目标脚本中函数的探测。 

* 设置“allow_url_fopen”为“off” 
这个选项可以禁止远程文件功能,极力推荐! 

<全文完> 

上一页  [1] [2] [3] [4] 下一页

在google里搜索更多如何对PHP程序中的常见漏洞进行攻击(下)

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明