$text1=flt_tags($text1); $text2=flt_tags($text2); $text3=flt_tags($text3);
$fd=fopen("test.php","a"); fwrite($fd,"\r\n$text1&line;$text2&line;$text3"); fclose($fd); 经过一番替换和过滤后,你就可以安全地把数据写入文本或数据库了。
管理员判断不完全 1.漏洞原因: 我们用PHP写脚本,通常要涉及管理员的权限问题。而一些脚本仅仅对管理员权限作出"是"判断,而往往忽略了"否"判断。在PHP配置文件中register_globals打开的情况下(4.2.0以后版本默认关闭,但有不少人为了方便而打开它,这是极度危险的行为),就会出现提交变量冒充管理员的情况。我们看一下的例子代码: $cookiesign="admincookiesign"; //判断是否Admin的cookie变量 $adminsign=
PHP漏洞中的战争 - 凌众科技
快速业务通道
++++选择通道++++
国内服务器 厦门电信服务器 汕头电信服务器 温州电信服务器 厦门网通服务器 汕头双线服务器 美国服务器 欧洲服务器 美国KT机房服务器 美国FDC机房服务器 香港服务器 新加坡服务器 韩国服务器 台湾服务器 英国服务器 德国服务器 新加坡Qala机房服务器 香港机房服务器 法国服务器 江苏电信服务器 美国TB机房服务器 日本服务器 河北网通服务器 厦门软二服务器 台湾机房服务器 韩国机房服务器 美国ST机房服务器 江西电信服务器 其他机房服务器 菲律宾服务器 日本机房服务器 菲律宾机房服务器
国内大带宽
PHP漏洞中的战争
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
content
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
COOKIE["sign"]; //获取用户的cookie变量
if($adminsign==$cookiesign) { $admin=true; }
if($admin){ echo "现在是管理员状态。"; } 看上去好像很安全的样子,呵呵。现在我们假设PHP配置文件中register_globals为打开状态。我们提交这样一个地址“test.php?admin=true”,结果看到了吗?我们虽然没有正确的Cookie,但由于register_globals为打开状态,使得我们提交的admin变量自动注册为true。而且脚本缺少“否”判断,就使得我们顺利地通过admin=true取得管理员的权限了。这个问题存在于大部分网站和论坛当中。 2.漏洞解决: 解决这个问题,我们只需要在脚本中加入对管理员的“否”判断即可。我们仍然假设PHP配置文件中register_globals为打开状态。看一下的代码: $cookiesign="admincookiesign"; //判断是否Admin的cookie变量 $adminsign=
PHP漏洞中的战争 - 凌众科技
快速业务通道
++++选择通道++++
国内服务器 厦门电信服务器 汕头电信服务器 温州电信服务器 厦门网通服务器 汕头双线服务器 美国服务器 欧洲服务器 美国KT机房服务器 美国FDC机房服务器 香港服务器 新加坡服务器 韩国服务器 台湾服务器 英国服务器 德国服务器 新加坡Qala机房服务器 香港机房服务器 法国服务器 江苏电信服务器 美国TB机房服务器 日本服务器 河北网通服务器 厦门软二服务器 台湾机房服务器 韩国机房服务器 美国ST机房服务器 江西电信服务器 其他机房服务器 菲律宾服务器 日本机房服务器 菲律宾机房服务器
国内大带宽
PHP漏洞中的战争
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
content
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
COOKIE["sign"]; //获取用户的cookie变量
if($adminsign==$cookiesign) { $admin=true; } else { $admin=false; } if($admin){ echo "现在是管理员状态。"; } 这样,就算攻击者在没有正确Cookie的情况下提交了admin=true的变量,脚本在以后的判断中也会把$admin设置为False。这样就解决了部分的问题。但由于$admin是变量,倘若在以后的其他脚本引用中出现了漏洞使得$admin被重新赋值就会引发新的危机。因此,我们应该使用常量来存放管理员权限的判定。使用Define()语句定义一个admin常量来记录管理员权限,在此以后若配重新赋值就会出错,达到保护的目的。看以下代码: $cookiesign="admincookiesign"; //判断是否Admin的cookie变量 $adminsign=
PHP漏洞中的战争 - 凌众科技
快速业务通道
++++选择通道++++
国内服务器 厦门电信服务器 汕头电信服务器 温州电信服务器 厦门网通服务器 汕头双线服务器 美国服务器 欧洲服务器 美国KT机房服务器 美国FDC机房服务器 香港服务器 新加坡服务器 韩国服务器 台湾服务器 英国服务器 德国服务器 新加坡Qala机房服务器 香港机房服务器 法国服务器 江苏电信服务器 美国TB机房服务器 日本服务器 河北网通服务器 厦门软二服务器 台湾机房服务器 韩国机房服务器 美国ST机房服务器 江西电信服务器 其他机房服务器 菲律宾服务器 日本机房服务器 菲律宾机房服务器
国内大带宽
PHP漏洞中的战争
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
content
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
COOKIE["sign"]; //获取用户的cookie变量
if($adminsign==$cookiesign) { define(admin,true); } else { define(admin,false); } if(admin){ echo "现在是管理员状态。"; } 值得注意的是,我们使用了Define语句,所以在调用Admin常量时前面不要习惯性的加变量符号$,而应该使用Admin和!admin。
文本数据库暴露 1.漏洞原因: 前面已经说过,由于文本数据库具有很大的灵活性,不需要任何外部支持。加上PHP对文件的处理能力十分强,因此文本数据库在PHP脚本中的应用甚广。甚至有几个很好的论坛程序就是使用文本数据库的。但有得必有失,文本数据库的安全性也是比其他数据库要低的。 2.漏洞解决: 文本数据库作为一个普通的文件,它可以被下载,就像MDB一样。所以我们要用保护MDB的办法来保护文本数据库。把文本数据库的后缀名改为.PHP。并在数据库的第一行加入。这样文本数据库就会作为一个PHP文件,并且在第一行退出执行。也就是返回一个空页面,从而达到保护文本数据库的目的。
错误路径泄露 1.漏洞原因: PHP遇到错误时,就会给出出错脚本的位置、行数和原因,例如: Notice: Use of undefined constant test - assumed ''test'' in D:\interpub\bigfly\test.php on line 3 有很多人说,这并没有什么大不了。但泄露了实际路径的后果是不堪设想的,对于某些入侵