当前位置:  编程技术>php
本页文章导读:
    ▪PHP5.2下chunk_split()函数整数溢出漏洞 分析       受影响系统:PHP PHP < 5.2.3不受影响系统:PHP PHP 5.2.3描述:--------------------------------------------------------------------------------BUGTRAQ ID: 24261CVE(CAN) ID: CVE-2007-2872PHP是一种流行的WEB服务器端编程语.........
    ▪phpMyAdmin下载、安装和使用入门教程       对于PHP的逐渐流行,我们有目共睹:无论是BLOG程序中的WordPress,还是CMS程序中的DEDECMS,还是BBS程序中的Discuz!,都可谓经典。随着程序语言选择的不同,WEB应用所使用的数据库也发生了变化.........
    ▪[php] 我的微型论坛的简单教程[已完成]第1/8页       一直做ASP的我,最近开始学PHP了。第一个作品就是这个微型论坛(也可以叫做留言本),虽然没啥技术含量,但是想起04年刚来的经典论坛学ASP时,起步困难,所以想把我近来学PHP的一点心.........

[1]PHP5.2下chunk_split()函数整数溢出漏洞 分析
    来源: 互联网  发布时间: 2013-11-30
受影响系统:
PHP PHP < 5.2.3
不受影响系统:
PHP PHP 5.2.3
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 24261
CVE(CAN) ID: CVE-2007-2872

PHP是一种流行的WEB服务器端编程语言。

PHP中的chunk_split函数在处理畸形参数时存在整数溢出漏洞,本地攻击者可能利用此漏洞提升自己的权限。

PHP中chunk_split函数的1963行试图为函数结果分配充分的内存大小,但没有执行任何检查便使用了srclen和chunklen参数块。如果值的块和endlen大于65534字节的话,就会触发整数溢出,分配错误的内存大小,导致堆溢出。

ext/standard/string.c:

1953 static char *php_chunk_split(char *src, int srclen, char *end,
int endlen, int chunklen, int *destlen)
1954 {
1955 char *dest;
1956 char *p, *q;
1957 int chunks; /* complete chunks! */
1958 int restlen;
1959
1960 chunks = srclen / chunklen;
1961 restlen = srclen - chunks * chunklen; /* srclen % chunklen */
1962
1963 dest = safe_emalloc((srclen + (chunks + 1) * endlen + 1),
sizeof(char), 0);
1964
1965 for (p = src, q = dest; p < (src + srclen - chunklen + 1); ) {
1966 memcpy(q, p, chunklen);
1967 q += chunklen;
1968 memcpy(q, end, endlen);
1969 q += endlen;
1970 p += chunklen;
1971 }

<*来源:Gerhard Wagner

链接:http://marc.info/?l=bugtraq&m=118071054000708&w=2
http://www.php.net/releases/5_2_3.php
http://secunia.com/advisories/25456/
*>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

<?
$a=str_repeat("A", 65535);
$b=1;
$c=str_repeat("A", 65535);
chunk_split($a,$b,$c);
?>

建议:
--------------------------------------------------------------------------------
厂商补丁:

PHP
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.php.net/downloads.php#v5

文章来自: 绿盟科技

    
[2]phpMyAdmin下载、安装和使用入门教程
    来源: 互联网  发布时间: 2013-11-30
对于PHP的逐渐流行,我们有目共睹:无论是BLOG程序中的WordPress,还是CMS程序中的DEDECMS,还是BBS程序中的Discuz!,都可谓经典。

随着程序语言选择的不同,WEB应用所使用的数据库也发生了变化,转而向MySQL阵营学习。其中对于phpMyAdmin的学习则必不可少。

phpMyAdmin(简称PMA)是一个用PHP编写的,可以通过互联网在线控制和操作MySQL。他是众多MySQL管理员和网站管理员的首选数据库维护工具,通过phpMyAdmin可以完全对MySQL数据库进行操作。

一,phpMyAdmin的下载

打开phpMyAdmin的官方站点:http://www.phpmyadmin.net/ ,在页面中选择“Download”,目前最新版本为phpMyAdmin 2.10.1,选择“all-languages.zip”文件下载



下载后的ZIP文件通过解压软件进行解压的本地磁盘。如果本地有MySQL则可在本地测试,否则上传到支持MySQL的WEB服务器上,比如将所有解压文件上传到leosn.com的phpmyadmin文件夹内,则可通过“http://leosn.com/phpmyadmin ”进行访问。

二,phpMyAdmin的安装

当然,无论是在本地测试还是在远程服务器上测试,都需要进行如下的文件配置才能正常使用phpMyAdmin。

首先,在下载解压下来的文件中有一个文件“config.sample.inc.php”,这是phpMyAdmin配置文件的样本文件,我们需要把该文件中的所有代码拷贝,新建一个文件“config.inc.php”,并将代码粘贴。文件config.inc.php是phpMyAdmin的配置文件,上传服务器时必须上传该文件。

对于config.inc.php文件,最重要的即是修改加入phpMyAdmin连接MySQL的用户名和密码。寻找到代码行:


// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';


将“//”注释号删除,同时输入MySQL中配置的用户名和密码(远程服务器的请联系你的空间服务商),比如这里:


$cfg['Servers'][$i]['controluser'] = 'leosn_com';
$cfg['Servers'][$i]['controlpass'] = '*********';



注意:如果需要通过远程服务器调试使用phpMyAdmin,则需要添加blowfish_secret内容定义Cookie,寻找到代码行:


$cfg['blowfish_secret'] = '';


设置内容为COOKIE


$cfg['blowfish_secret'] = 'leosn';



三,phpMyAdmin的使用

打开phpMyAdmin所在服务器目录,比如http://www.leosn.com/phpmyadmin/ ,继续输入MySQL用户的用户名和密码,进入。



选择相关数据库可看到数据库中的各表,可进行表、字段的增删改,可以导入、导出数据库信息。总之选择中文语系的phpMyAdmin,你可以很快就入门。





    
[3][php] 我的微型论坛的简单教程[已完成]第1/8页
    来源: 互联网  发布时间: 2013-11-30
一直做ASP的我,最近开始学PHP了。第一个作品就是这个微型论坛(也可以叫做留言本),虽然没啥技术含量,但是想起04年刚来的经典论坛学ASP时,起步困难,所以想把我近来学PHP的一点心得写出来,希望给和我一样学习PHP的朋友一点参考,能让初学者走的弯子少一点,顺利点。也算我为论坛做的一点贡献吧。(其实说这是教程我心虚的很,主要我也是初学者,代码写的菜,希望有经验者能给予指点)。

最好手边能有一本PHP基础的书,我用的书一本是人民邮电的《精通PHP+MYSQL应用开发》(很多人都反映它不怎么样);另一本是北京理工大学出版社的《PHP基础教程》,书比较老了,但是介绍的PHP函数比较细致。我文字表达能力有限,希望看不明白的同学表骂我……

另:我利用下班时间写这篇东西,打算一边完善这个小论坛一边写。因为时间有限,作者水平更有限,所以我准备每天更新一点直到写完为止,要一下子全部写完我估计很有难度,希望大家见谅)

下面开始吧:

我的论坛的功能:

用户分三个级别:游客;注册用户;管理员
用户:用户注册;登陆;发帖;回复;编辑自己的帖子;
管理员:管理(包括添加、修改、删除)论坛版块;管理帖子(置顶、精华、移动、删除);
如果版块完全开放则游客也可以发帖子。

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
移动开发 iis7站长之家
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3