php substr_replace替换指定位置字符与内存破坏漏洞.
提示和注释
注释:如果 start 是负数且 length 小于等于 start,则 length 为 0.
$username = "zongzi"; echo substr_replace($username,'**','1','2');
定义和用法:substr_replace() 函数把字符串的一部分替换为另一个字符串.
语法:substr_replace(string,replacement,start,length)
参数 描述
string 必需,规定要检查的字符串.
replacement 必需,规定要插入的字符串.
start必需,规定在字符串的何处开始替换.
正数 - 在第 start 个偏移量开始替换
负数 - 在从字符串结尾的第 start 个偏移量开始替换
0 - 在字符串中的第一个字符处开始替换
charlist 可选,规定要替换多少个字符.
正数 - 被替换的字符串长度
负数 - 从字符串末端开始的被替换字符数
0 - 插入而非替换
功能同 php的substr_replace()
参数:被替换的内容,替换内容,起始位,替换长度,实例代码如下:
function substr_replace(sourcecon,repcon,startx,lenx) dim reped reped = mid(sourcecon,startx,lenx) '取出原内容同样长度 dim scleftx,scleft scleftx = startx-1 if scleftx<1 then scleft = "" else scleft = left(sourcecon,scleftx) end if substr_replace = replace(sourcecon,reped,repcon,startx,1) substr_replace = scleft&substr_replace end function
()中断内存破坏漏洞
bugraq id:
cve id:cve-2010-2190
cncve id:cncve-20102190
漏洞发布时间:2010-05-31
漏洞更新时间:2010-06-28
漏洞起因,设计错误.危险等级,低
影响系统:php 5.2
不受影响系统,危害,远程攻击者可以利用漏洞泄漏敏感信息.
攻击所需条件,攻击者必须访问使用substr_replace()函数的应用程序.
漏洞信息,php是一款流行的网络编程语言,php的substr_replace()函数存在信息泄漏问题:
php_function(substr_replace) { ... if (zend_parse_parameters(zend_num_args() tsrmls_cc, "zzz|z", &str, &repl, &from, &len) == failure) { return; } if (z_type_pp(str) != is_array) { convert_to_string_ex(str); } if (z_type_pp(repl) != is_array) { convert_to_string_ex(repl); } if (z_type_pp(from) != is_array) { convert_to_long_ex(from); } if (argc > 3) { separate_zval(len); if (z_type_pp(len) != is_array) { convert_to_long_ex(len); l = z_lval_pp(len); } } else { if (z_type_pp(str) != is_array) { l = z_strlen_pp(str); } } if (z_type_pp(str) == is_string) { if ( (argc == 3 && z_type_pp(from) == is_array) || (argc == 4 && z_type_pp(from) != z_type_pp(len)) ){ php_error_docref(null tsrmls_cc, e_warning, "'from' and 'len' should be of same type - numerical or array "); return_stringl(z_strval_pp(str), z_strlen_pp(str), 1); }
使用不同类型的"from"和'len'参数调用substr_replace()函数,会触发e_warning错误,如果php没有删除调用时通过引用传递功能,用户空间错误处理器会使用这个中断更改'str'参数类型,如果'str'类型更改为整数类型可导致泄漏任意内存,如果'str'更改为数组,允许泄漏使用重要内存偏移的哈希表.
文章网址:
随意转载^^但请附上教程地址。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

Dreamweaver Mac版
시각적 웹 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
