什么是SQL_Front
轻巧的mysql图形管理工具,点击phpStudy的软件管理下载
点击管理,输入数据库账号密码后出现这个
那么该怎么样解决呢,点击D:\phpstudy_pro\Extensions\MySQL5.7.26的my.ini,
用记事本打开输入这段话
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
然后保存后要重启mysql,不然没用
分析less1的源码,打开D:\phpstudy_pro\WWW\sqli-labs-master\Less-1的index.php
截取下面代码:
可知这几句比较重要:
include("../sql-connections/sql-connect.php");: 这行代码包含了一个名为sql-connect.php的文件,该文件包含了MySQL数据库的连接参数。
if(isset($_GET['id'])): 这是一个条件语句,检查是否存在GET请求中名为'id'的参数。如果存在'id'参数,脚本将获取该参数的值并记录到一个名为result.txt的文件中。
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";: 构建了一个SQL查询语句,从名为users的表中选择所有列,其中'id'列的值等于给定的$id,并且只返回结果集的第一行。这句话容易去被注入
在D:\phpstudy_pro\WWW\sqli-labs-master\sql-connections打开提到过的sql-connect的源码,截取如下
$dbname ="security";: 这一行定义了要连接的MySQL数据库的名称,这里设置为 "security"。这是脚本将要操作的数据库那去SQL_Front去看看
如果在SQL_Front发现找不到security数据库该怎么办,应该去D:\phpstudy_pro\WWW\sqli-labs-master\sql-connections\ db-creds.inc修改好账号密码然后去登sql-labs界面点Setup/reset Database for labs
看到security数据库,数据库包含users表以及id,username,password字段,在SQL编辑器去掉多余的指令后输入SELECT * FROM users WHERE id=1 LIMIT 0,1可看到
把users的所有内容看看吧