易截截图软件、单文件、免安装、纯绿色、仅160KB

PHP下ereg实现匹配ip的正则


$ip = "1.1.1.255".chr(0)."haha";
if(ereg("^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$",$ip)) {
echo $ip;
} else {
echo "unknown";
}
这个ereg正则限制了$ip的数据为xxx.xxx.xxx.xxx这样的形式,表面上看上面的代码应该输出"unknown",而实际却输出了"1.1.1.255haha",因为ereg函数存在NULL截断漏洞,导致了正则过滤被绕过。4 \2 n+ Y6 |; Z7 O
6 e& b6 C5 F- W- F$ z我们在利用时必须要引入\x00(%00),而在GPC为ON的情况下%00会被转义导致无法利用。但是如果被ereg()处理的是$ _SERVER(在PHP5下可以绕过GPC)或是被urldecode这样的函数处理导致GPC被绕过的数据呢?比如有些程序就用上面的方法验证$ _SERVER提交上来的IP,那么我们就可以利用NULL截断绕过正则过滤来构造我们需要的数据了:)


相关文档:

PHP实现文件的读和写功能

进行文件的读和写,先打开一个文件,然后开始读或者写文件,最后再关系这个文件资源。
如,文件的读操作:
<?php
$file = fopen('your file path','r');
while(!feof($file)){ //当没有读取到文件结尾,继续循环读取操作
$line = fgets($file); //读取到一行的内容
echo $line.'<br/>';
}
fclose($file) ......

ubuntu 下 搭建 apache+php+mysql


#apt-get install apache2
//安装apahce2
#apt-get install php5
//安装php5
#apt-get install mysql-server
//安装mysql服务端
#apt-get install  mysql-myclient
//安装mysql的客户端
#apt-get install php-mysql
//安装php-mysql的连结
apache+php+mysql 环境已经搭建好了
将以下的服务重启一下
#/et ......

php实现网页计数(读写文件)

 访客计数器的流程如下
第一位用户浏览某页。
服务器程序从数据库或文件中读取该页被浏览次数。
将次数加一储存,并将它送回第一位用户。
第二位用户浏览某页。
服务器程序从数据库或文件中读取该页被浏览次数。
将次数再加一储存,并将它送回第二位用户。
<?php
$filename="./visit";
$handle=fop ......

php 安全

如何不使用prepared statment,而是用过滤的方法避免SQL注入呢?
一般来说mysql自带的过滤函数是比较可靠的。mysql_real_escape_string()
但是这个函数在某些字符集中有问题,比如GBK。如果你用UTF8那没关系。
在PHP里设置数据库的字符集不应该用:mysql_query("SET NAMES UTF8");
而应该用:mysql_set_charset()
这样 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号