PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。 PHP的sqlite_udf_decode_binary()函数实现上存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞提升自己的权限。 int sqlite_decode_binary(const unsigned char *in, unsigned char *out){ int i, e; unsigned char c; e = *(in++); i = 0; while( (c = *(in++))!=0 ){ if( c==1 ){ c = *(in++) - 1; } out[i++] = c + e; } return i; } 如果使用空字符串调用了sqlite_decode_binary()函数的话,就会跳过ASCIIZ终止符,将之后的字节拷贝到目标,直到遇到另一个ASCIIZ字符。这类似于标准的strcpy()溢出。
PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。 PHP的sqlite_udf_decode_binary()函数实现上存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞提升自己的权限。 int sqlite_decode_binary(const unsigned char *in, unsigned char *out){ int i, e; unsigned char c; e = *(in++); i = 0; while( (c = *(in++))!=0 ){ if( c==1 ){ c = *(in++) - 1; } out[i++] = c + e; } return i; } 如果使用空字符串调用了sqlite_decode_binary()函数的话,就会跳过ASCIIZ终止符,将之后的字节拷贝到目标,直到遇到另一个ASCIIZ字符。这类似于标准的strcpy()溢出。