因为最近在了解taint analysis, 写一个简单PHP Taint安装教程供大家参考
PHP Taint是一个用来检测XSS/SQL/Shell注入漏洞的扩展
我的实验环境:
Ubuntu 20.04 PHP 7.4.3
根据taint开发者的说法, taint支持PHP5.2.6到5.3, 以及PHP7以上
从 https://pecl.php.net/package/taint 下载taint
解压后执行下列命令
cd taint-2.1.0 phpize ./configure sudo make && make install
然后寻找php.ini
文件的位置
php --ini
编辑php.ini
文件
vim /etc/php/7.4/cli/php.ini
加入以下文本,加载taint扩展
[taint] extension=taint.so taint.enable=1 taint.error_level=E_WARNING
在php.ini
中查找php扩展存放的路径
cat /etc/php/7.4/cli/php.ini | grep extension_dir
找到路径后,把/taint-2.1.0/modules/taint.so
文件复制到该路径下
sudo cp /taint-2.1.0/modules/taint.so /usr/lib/php/20190902
(如果你在php.ini
中找不到正确的extension_dir
, 你可以打开/usr/lib/php
, 该目录下的20190902
文件夹下有很多.so文件,很可能是extension_dir
)
taint自带的tests
文件夹内有多个测试样例
cd /taint-2.1.0/tests
测试taint扩展是否成功安装
php 001.phpt
若输出和expect一致,则taint已正确安装了
Taint手册 https://www.php.net/manual/en/book.taint.php
Taint下载 https://pecl.php.net/package/taint
用phpize编译共享PECL扩展库 https://www.php.net/manual/en/install.pecl.phpize.php
Taint开发者博客 https://www.laruence.com/2012/02/14/2544.html