十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
由于前文中kali版本较新,默认安装的是php7.0(this is the problem)
PHP 5 的使用者可以使用 MySQL extension,mysqli 和 PDO_MYSQL ,但是PHP 7移除了mysql extension,只剩下后面两种选择。
因此在Sqli-labs与数据库连接,查询的时候,会出现一些问题。
我们安装Sqli-labs的时候必需把相关数据库的函数改为mysqli的形式
成都创新互联公司是一家专注网站建设、网络营销策划、小程序定制开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十余年以来,已经为数千家成都楼梯护栏各业的企业公司提供互联网服务。现在,服务的数千家客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。
一开始点击setup db的时候,会停留在页面
进入目录查看代码cd /var/www/html/sqli-labs/sql-connections
目录下方有7个文件
###步骤
###0x00 修改函数
把mysql_xxx()
全部修改为mysqli_xxx
使用sed+grep的结合
sed -i "s/mysql_/mysqli_/g" `grep mysql_ -rl ./`
###0x01 修改函数参数
由于mysql_error()函数下,连接是可选项,mysqli_error()下,connection变为必需项,因此需要把mysql_error()改为mysql_error($con)
sed -i s/"mysql_error()"/"mysqli_error(\$con)"/g `grep "mysql_error()" -rl ./`
php5.0下mysql_query($sql)
即可查询
php7.0下mysql_query($con,$sql)
mysqli下语法为:mysqli_query(connection,query,resultmode);
其中connection和query为必需项,this is what the problem is...
同样使用sed+grep命令把当前目录下所有文件的所有字符串替换
sed -i s/"mysql_query(\$sql)"/"mysqli_query(\$con,\$sql)"/g `grep "mysql_query(\$sql)" -rl ./` ---一步到位
当时我是先把所有mysql_函数改成了mysqli_函数了,因此用下面的命令
sed -i s/"\$sql)"/"\$con,\$sql)"/g `grep "\$sql)" -rl ./`
这样php7.0对于数据库连接的影响基本可以解决。