201412-12 10大最常见的数据库安全问题 数据库作为非常重要的存储工具,里面往往会存放着大量有价值或敏感信息,这些信息包括金融财政、知识产权、企业数据等方方面面的内容。因此,数据库往往会成为黑客们的主要攻击对象。网络黑客们会利用各种途径来获取他们想要的信息,因此,保证数据库安全变得尤为重要。尽管意识到数据库安全的重要性,但开发者在集成应用程序或修补漏洞、更新数据库的时候仍然会犯一些错误,让黑客们乘虚而入。本文列出了数据库系统10... 继续阅读 >
201412-12 盘点互联网巨头奉献的十大开源安全工具 Facebook等大型互联网公司推动的服务器与数据中心、大数据工具的开源化项目类似,当大型互联网公司们在超大规模基础设施运营方面面临的挑战超出技术厂商的能力时,这些巨头就选择反客为主,成为创新技术的推动者和提供者。同样的情况也在信息安全领域中发生着。不少大型互联网公司经常会将自己开发的顶级安全工具开源,推动整个互联网的安全发展。本月早些时候安全牛曾介绍过Google开源的web安全测试工具FiringRange、... 继续阅读 >
201411-24 谈谈关于PHP的代码安全相关的一些致命知识 目标本教程讲解如何防御最常见的安全威胁:SQL注入、操纵GET和POST变量、缓冲区溢出攻击、跨站点脚本攻击、浏览器内的数据操纵和远程表单提交。前提条件本教程是为至少有一年编程经验的PHP开发人员编写的。您应该了解PHP的语法和约定;这里不解释这些内容。有使用其他语言(比如Ruby、Python和Perl)的经验的开发人员也能够从本教程中受益,因为这里讨论的许多规则也适用于其他语言和环境。安全性快速简介Web应用程序... 继续阅读 >
201411-11 关于Cookie中的path、domain、expire、secure属性详述 Path–路径指定与cookie关联的WEB页。值可以是一个目录,或者是一个路径。如果http://www.china.com/test/index.html建立了一个cookie,那么在http://www.china.com/test/目录里的所有页面,以及该目录下面任何子目录里的页面都可以访问这个cookie。这就是说,在http://www.china.com/test/test2/test3里的任何页面都可以访问http://www.china.com/test/index.html建立的cookie。但是,如果http://www.china.com/test/需... 继续阅读 >
201411-11 什么是全栈开发者——全栈工程师的定义、具备的技能以及优势 纯粹基于道德而掌握开发堆栈的每一方面的预期是合理的吗?可能不是,但Facebook这样要求。一个Facebook的员工在OSCON告诉我,Facebook只雇佣全栈开发者。那么全栈开发者是什么意思呢?对我来说全栈开发者是对每一层都熟悉的人,如果不真正对所有的软件技术感兴趣不会对它们精通。好的开发者熟悉整个堆栈,他们是知道如何使生活周边的事更容易的人。这就是为什么在办公室我如此反对偏执的原因,当然,政治及沟通挑战在大型组织中... 继续阅读 >
201411-11 程序员修炼之从“黑掉Github”学Web安全开发 EgorHomakov(Twitter: @homakov 个人网站: EgorHomakov.com)是一个Web安全的布道士,他这两天把github给黑了,并给github报了5个安全方面的bug,他在他的这篇blog——《HowIhackedGithubagain》说明了这5个安全bug以及他把github黑掉的思路。Egor的这篇文章讲得比较简单,很多地方一笔带过,所以,我在这里用我的语言给大家阐述一下黑掉Github的思路以及原文中所提到的那5个bug。希望这篇文章能让从事Web开发的同学们警... 继续阅读 >
201411-11 程序员杂谈之优秀程序员的十个习惯 在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(SoftwareEngineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作。但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员。1... 继续阅读 >
201411-11 程序员杂谈之做个环保主义的程序员 十多年前刚走入社会工作的时候,那时的中国软件开发根本没有什么版本管理,也没有什么编程规范,软件开发相比起今天来说非常地混乱,那时仅凭自己的一些学习总结了一些C语言编程中的好的小笔记,后来,这些笔记写成了一篇叫《编程修养》的文章。今天,又有些感触,想把这个话题扩大一下,从“个人修养”扩大到“环境保护”,所谓,穷则独善其身,富则达济天下,今天的技术人员比十多年前在技术和环境上都富有了许多,所以,也应该... 继续阅读 >
201411-07 CentOS邮件服务器搭建系列——用 SSL 对邮件加密的支持 前言通常,我们发送的邮件在传输过程中都采用明文传输。当发送重要信息的时候,仍然存在邮件被第三方获取,泄露隐私及密码等等的安全隐患。在Web服务器中,通过用SSL实现对HTTPS协议的支持,实现了对传输内容的加密,在邮件服务器中,我们也同样能够依靠SSL来实现对邮件的加密,从而提高通过用邮件传递信息的安全性。证书与密钥的确认在这里,可以为邮件服务器建立新的证书,但为了管理上的便利性,我们直接引用We... 继续阅读 >
201411-07 Windows下Apache配置SSL以支持https及出错的解决办法 SSLSSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Securesocketlayer(SSL)安全协议是由NetscapeCommunication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL... 继续阅读 >
201411-07 Yii框架官方指南系列17——使用表单:创建模型 在编写表单所需的HTML代码之前,我们应该先确定来自最终用户输入的数据的类型,以及这些数据应符合什么样的规则。模型类可用于记录这些信息。正如模型章节所定义的,模型是保存用户输入和验证这些输入的中心位置。取决于使用用户所输入数据的方式,我们可以创建两种类型的模型。如果用户输入被收集、使用然后丢弃,我们应该创建一个 表单模型;如果用户的输入被收集后要保存到数据库,我们应使用一个 ActiveRecord 。... 继续阅读 >
201411-07 PHP安全之简介和总则 简介PHP作为一种强大的语言,无论是以模块还是 CGI 的方式安装,它的解释器都可以在服务器上访问文件、运行命令以及创建网络连接等。这些功能也许会给服务器添加很多不安全因素,但是只要正确地安装和配置PHP,以及编写安全的代码,那么PHP相对于Perl和C来说,是能创建出更安全的CGI程序的。而且,也可以在可用性和安全性之间找到一个很好的平衡点。PHP可能会被用在很多不同的方面,因此,PHP内置的选项... 继续阅读 >
201411-07 PHP安全之以CGI 模式安装时可能遇到的攻击及解决办法 如果不想把PHP嵌入到服务器端软件(如Apache)作为一个模块安装的话,可以选择以 CGI 的模式安装。或者把PHP用于不同的CGI封装以便为代码创建安全的chroot和setuid环境。这种安装方式通常会把PHP的可执行文件安装到web服务器的cgi-bin目录。尽管PHP可以作为一个独立的解释器,但是它的设计使它可以防止下面类型的攻击:访问系统文件:http://my.host/cgi-bin/php?/etc/passwd 在URL请求的问号(?)后面... 继续阅读 >
201411-07 PHP安全之以Apache模式安装时可能遇到的攻击及解决办法 当PHP以Apache模块方式安装时,它将继承Apache用户(通常为“nobody”)的权限。这对安全和认证有一些影响。比如,如果用PHP来访问数据库,除非数据库有自己的访问控制,否则就要使“nobody”用户可以访问数据库。这意味着恶意的脚本在不用提供用户名和密码时就可能访问和修改数据库。一个webSpider也完全有可能偶然发现数据库的管理页面,并且删除所有的数据库。可以通过Apache认证来避免此问题,或者用LDAP、.htac... 继续阅读 >
201411-07 PHP安全之文件系统安全及防范措施 PHP遵从大多数服务器系统中关于文件和目录权限的安全机制。这就使管理员可以控制哪些文件在文件系统内是可读的。必须特别注意的是全局的可读文件,并确保每一个有权限的用户对这些文件的读取动作都是安全的。PHP被设计为以用户级别来访问文件系统,所以完全有可能通过编写一段PHP代码来读取系统文件如/etc/passwd,更改网络连接以及发送大量打印任务等等。因此必须确保PHP代码读取和写入的是合适的文件。请看下面的代码... 继续阅读 >
201411-07 PHP安全之文件系统安全——Null字符问题 由于PHP的文件系统操作是基于C语言的函数的,所以它可能会以您意想不到的方式处理Null字符。Null字符在C语言中用于标识字符串结束,一个完整的字符串是从其开头到遇见Null字符为止。以下代码演示了类似的攻击:Example#1会被Null字符问题攻击的代码<?php$file=$_GET['file'];//"../../etc/passwd\0"if(file_exists('/home/wwwrun/'.$file.'.php')){//文件/home/wwwrun/../../etc/passw... 继续阅读 >