做web开发,相信搭建都知道一些安全基本知识,”千万不能相信客户端数据“。而php又是一种弱类型语言。很多人在开发过程中忽略了类型转换,参数过滤直接量成不可估量的后果。不使用过滤函数可能出现以下情况:数据库被(sql)注入。直接可以导致你的系统崩溃,系统数据丢失,用户信息丢失。网站被挂马,遇到文件处理则可以将你的网站文件删除。
另外值得一提的是很多人认为开启php安全模式就万事大吉了。其实不然,很多注入者往往绕过正面,进行侧面进攻。使用 0×7e,0×27等(ASCII码)字符串来充当引号,而php又无法过滤。注入的一般方式都是在参数里面加入很多mysql sql语法,去获取敏感数据信息。
exp:and(select1from(select count(*),concat((select(select(select concat(0x7e,0x27,phpcms_member.username,0x27,0x7e)from phpcms_member limit0,1))from information_schema.tableslimit0,1),floor(rand(0)*2))x from information_schema.tablesgroupby x)a)and1=1
mysql information_schema.tables 所有用户都可见可查,能查出所有表结构信息,数据库信息。php开源系统很多,很多开源系统大家知道数据结构,已级敏感信息表。(这里当然也包括不法分子)这里指的敏感信息:往往是一些用户信息,管理端信息。现在md5的穷举一直在进行着。很多的md5加密之后的密码仍然能被解密成明文。很多系统都做了相应的安全提升。下面介绍以下常见手段:使用过滤函数,php filter 安全过滤函数.md5(  md5(‘用户密码’) . ‘私钥’ ) 得出加密结果。常用的php开源系统后台一定要修改目录名。很多系统后台直接使用admin作为后台入口。不要将phpmyadmin等数据库操作软件安置在网站可见目录。
等等。。之所以这样是由于现在大量存在扫描工具去扫描这样的管理端。下面是惊心的一张图
mysql 注入出处: 马丁博客[http://www.blags.org/]本文链接地址: http://www.blags.org/php-security-issue/