Home >Backend Development >PHP Tutorial > php 安全有关问题
php 安全问题
做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/
?