目录
sqli-labs靶场搭建
下载地址:https://github.com/Audi-1/sqli-labs
用phpstudy打开apache和mysql服务,本地输入127.0.0.1/sqli-labs即可打开
今天搭建时出现遗留问题,把自己下的mysql删除了重新安装phpstudy出现了mysql的套件--打开mysql服务访问127.0.0.1/sqli-labs成功。
里面说要修改phpStudy\WWW\sqli-labs\sql-connections的’$dbpass‘为root
这里修改$dbpass的原因是phpstudy默认的数据库账号密码都是root 这里根据自己数据库设置的密码设置去修改
点击Setup/reset Database
这里出现报错 Call to undefined function mysql_connect()
原因是mysql_connect()函数是php5.0版本支持的,现在高版本php已经废弃,我下载的phpstudy是8.0的版本用的php是较高的版本,需要在网站——php版本——安装一个php5.0的版本
完成后再次点击点击Setup/reset Database显示成功
现在再次打开127.0.0.1/sqli-labs下面的大纲就有很多注入点了
使用PhpStudy进行sqli-labs注入实验时,出现特殊符号被分斜杠“\”转义,导致注入失败
打开phpstudy工具所在的文件夹,需要更改其文件夹下的“PHP”文件夹中的php.ini配置文件。
将配置文件中的“magic_quotes_gpc = On ”改为“magic_quotes_gpc= Off ”
Sqli-labs第一关:
?id=' or 1=1 -- 注意:--后有个空格
直接回车浏览器可能忽略该空格会出现: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '#的报错
这时候手动在浏览器的?id=%27%20or%201=1%20-- (经过url编码后)加一个%20或者+都可以
若是想要sqli中显示出注入的语句和执行的Mysql语句可以在sqli-labs目录下打开网页源码插入如下代码
他这里给的第二部分代码是
echo "执行的Mysql语句:".“$sql”."<br>";
我试了下改过效果是一样的
echo "执行的Mysql语句:".$sql."<br>";
补充点:PHPstorm可以动态的调试页面
具体可参考视频P37-P38,我这里用的是vscode,百度说可以下个phpdebug的插件,但是弄了一下感觉很麻烦,而且没找到很具体的步骤,这里就手动一次次输一下
这里动态调试原理和抓包类似