|
! q! I( E/ X8 {) Q 原标题:php小于7.4.22版本存在源码泄露漏洞我们在测试多种PHP版本的网站服务器的时候,发现了PHP的返回一个错误的值随着我们SINE安全的深入测试,我们发现了一个PHP的安全漏洞,这个漏洞可以暴露PHP文件的源代码,可以利用该漏洞来获取网站的数据库的PHP配置文件。
( E' [4 S% d; _* Y 经过进一步的安全测试,我们发现最新版本的PHP没有这个漏洞我们对不同版本的PHP进行了进一步的安全测试,以确定这个漏洞到底是什么时候修复的最终发现PHP 7.4.22版本存在该漏洞,我们的技术对未修补版本和已修补版本的代码进行了比较,发现了漏洞的修复细节,通过修复的代码,我们构造了漏洞的利用代码。
" E& Z ?2 I! w; d0 H8 P. g) `' N GET/phpinfo.php HTTP/1.1 Host: pd.research\r\n\r\nGET/ HTTP/1.1\r\n\r\n
0 ?7 |- Y' S0 B 我们为了全面了解这个 bug 以及它是如何被修复的,我们编译了带有调试符号的 PHP 的补丁版和未补丁版为了验证(PoC)的请求,我们触发了代码泄露 bug,并在调试器中观察了代码流php_cli_server_client_read_request 函数调用了 php_http_parser_execute 函数,正如它的名字所暗示的那样,用于解析 HTTP 请求。
z l9 l: v( d3 Z' R- u! s3 U& r 该函数的返回值是成功解析的字节数这个值用于确定请求已经被处理了多少,还剩下多少未被解析目前通过我们SINE安全的监控,发现有许多服务器使用了PHP小于7.4.2版本,建议用户尽快升级PHP版本,并将一些数据库配置文件进行加密,防止被黑客利用,通过查查询数据库来获取管理员账户密码,以及用户的资料。 3 J$ W4 J8 d1 ?% z) ^- v
返回搜狐,查看更多责任编辑:
7 o4 v! f( _/ n# U( P) P8 F
. S+ y' H6 _. I! i+ F3 j+ A, q: q2 m9 p
0 H; o# K* h/ E) H
3 f( \; f- W; y, c |