日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

php escapeshellcmd多字節(jié)編碼漏洞_PHP教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:詳細(xì)講解PHP中緩存技術(shù)的應(yīng)用
PHP,一門(mén)最近幾年興起的web設(shè)計(jì)腳本語(yǔ)言,由于它的強(qiáng)大和可伸縮性,近幾年來(lái)得到長(zhǎng)足的發(fā)展,php相比傳統(tǒng)的asp網(wǎng)站,在速度上有絕對(duì)的優(yōu)勢(shì),想mssql轉(zhuǎn)6萬(wàn)條數(shù)據(jù)php如需要40秒,asp不下2分鐘.但是,由于

漏洞公告在http://www.sektioneins.de/advisories/SE-2008-03.txt

PHP 5 <= 5.2.5

PHP 4 <= 4.4.8

一些允許如GBK,EUC-KR, SJIS等寬字節(jié)字符集的系統(tǒng)都可能受此影響,影響還是非常大的,國(guó)內(nèi)的虛擬主機(jī)應(yīng)該是通殺的,在測(cè)試完這個(gè)漏洞之后,發(fā)現(xiàn)還是十分有意思的,以前也有過(guò)對(duì)這種類型安全漏洞的研究,于是就把相關(guān)的漏洞解釋和一些自己的想法都寫(xiě)出來(lái),也希望國(guó)內(nèi)的一些有漏洞的平臺(tái)能迅速做出響應(yīng),修補(bǔ)漏洞。

這個(gè)漏洞出在php的用來(lái)轉(zhuǎn)義命令行字符串的函數(shù)上,這些函數(shù)底層是用的php_escape_shell_cmd這個(gè)函數(shù)的,我們先來(lái)看看他的處理過(guò)程:

 /*{{{php_escape_shell_cmd
Escapeallcharsthatcouldpossiblybeusedto
breakoutofashellcommand
Thisfunctionemalloc'sastringandreturnsthepointer.
Remembertoefreeitwhendonewithit.
*NOT*safeforbinarystrings
*/
char*php_escape_shell_cmd(char*str){
registerintx,y,l;
char*cmd;
char*p=NULL;
l=strlen(str);
cmd=safe_emalloc(2,l,1);
for(x=0,y=0;x<l;x ){
switch(str[x]){
case'"':
case''':
#ifndefPHP_WIN32
if(!p&&(p=memchr(str x 1,str[x],l-x-1))){
/*noop*/
}elseif(p&&*p==str[x]){
p=NULL;
}else{
cmd[y ]='';
}
cmd[y ]=str[x];
break;
#endif
case'#':/*Thisischaracter-setindependent*/
case'&':
case';':
case'`':
case'|':
case'*':
case'?':
case'~':
case'<':
case'>':
case'^':
case'(':
case')':
case'[':
case']':
case'{':
case'}':
case'$':
case'':
case'x0A':/*excludingthesetwo*/
case'xFF':
#ifdefPHP_WIN32
/*sinceWindowsdoesnotallowustoescapethesechars,justremovethem*/
case'%':
cmd[y ]='';
break;
#endif
cmd[y ]='';
/*fall-through*/
default:
cmd[y ]=str[x];
}
}
cmd[y]='';
returncmd;
}
/*}}}*/

分享:利用PHP V5開(kāi)發(fā)多任務(wù)應(yīng)用程序
許多 PHP 開(kāi)發(fā)人員認(rèn)為,由于標(biāo)準(zhǔn)的 PHP 缺少線程功能,因此實(shí)際 PHP 應(yīng)用程序不可能執(zhí)行多任務(wù)處理。例如,如果應(yīng)用程序需要其他 Web 站點(diǎn)的信息,那么在遠(yuǎn)程檢索完成之前它都必須停止。這是錯(cuò)

共3頁(yè)上一頁(yè)123下一頁(yè)
來(lái)源:模板無(wú)憂//所屬分類:PHP教程/更新時(shí)間:2008-08-22
相關(guān)PHP教程