laruence / taint

Taint is a PHP extension, used for detecting XSS codes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

在源码安装过程中,使用php5.5.38安装的时候使用make命令进行编译过程中报错找不到zend_string

zhang54188 opened this issue · comments

报错信息为:/opt/taint-master/taint.c:1625:2: error: unknown type name 'zend_string'
经过个人的查找资料发现zend_string应该是php7引入的zend虚拟机才出现的,不知最新的代码是否不支持php5?

我在使用php7环境进行make安装时,未进行报错

自 2018 年 12 月起不再支持 php5 本身,自 2022 年 11 月起不再支持 php7,因此我怀疑污点扩展是否会更新以支持它。

有点切线,我正在研究污点检查的后继者,它通过简单地识别“开发人员定义的字符串”来避免逃避问题。这可以通过静态分析 [1][2] 使用 literal-string 类型来完成。或者您可以尝试实验性的 is_literal() 函数,它可以应用于 PHP 8.3-dev [3]。


php5 itself is no longer supported as of December 2018, and php7 hasn't been since November 2022, so I doubt the taint extension will be updated to support it.

On a bit of a tangent, I am working on the successor to taint checking, which avoids escaping issues by simply identifying "developer defined strings". This can be done with the literal-string type via static analysis [1][2]. Or you can try the experimental is_literal() function, which can be applied to PHP 8.3-dev [3].


[1] https://github.com/phpstan/phpstan/releases/tag/0.12.97
[2] https://github.com/vimeo/psalm/releases/tag/4.8.0
[3] php/php-src@master...Girgias:php-src:literal_str