1.SQL injection 概述

  sql注入是指web应用程序没有对用户输入数据的合法性没有进行判断或过滤不严,攻击者在事先定义好的查询语句后面添加额外的sql语句进行非法操作,以此来进行非授权的任意访问,进一步得到数据库里的信息。

 

 

SQL 注入的简单结构

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全

 

SQL注入之mySQL数据库

  数据库就是存储数据的仓库,以一定方式存储在一起,尽可能减少冗余。

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全_02

 

系统库:系统库提供了访问元数据的方式,元数据是数据的数据,如数据库的库名和表名,列的数据类型,访问权限

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全_03

 

SQL注入(一) 基础概念,SQL命令,靶场安装_sql注入_04

information schema 库:

                         schmata: show databases 取之

                  tables :   schema name 保持当前数据库服务器里面所有库名的信息查询所有表的信息table                                     namecolunms: 所有字段列信息column nameI

SQL注入(一) 基础概念,SQL命令,靶场安装_sql注入_05

 

2.SQL语句基本命令

查询当前数据库服务器的所有数据库

Show databases

选中某个数据库

Use database_name

查看当前数据库的所有表

Show tables

选中表

Use table_name

选择查询

Select * from table1

联合查询

Select id,class from table 1 union select id,name from table2

Union的条件:1.union 两边互不相关,即一边查询失败不影响另一边查询

                               2.union 两边的查询的字段个数必须一样

条件查询:where

字段推测: Order by排序

 

 

 

3.SQL-lib 靶场搭建

下载phpstudy,https://www.xp.cn/download.html

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全_06

 

 

 

 

下载完成,解压后文件目录如下::

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全_07

 

 

 

双击exe文件进行快速安装即可进行安装:

 

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全_08

 

 

安装完成后双击图标,面板显示为下图:

 

SQL注入(一) 基础概念,SQL命令,靶场安装_sql注入_09

 

 

到此phpstudy安装完成,下一步进行sql-lib靶场下载,下载地址:https://github.com/Audi-1/sqli-labs

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全_10

 

 

 

下载完成后将解压文复制到phpstudy的WWW目录下,默认安装情况下phpstudy的目录路径为C:\phpstudy_pro\WWW(视情况而定)

SQL注入(一) 基础概念,SQL命令,靶场安装_sql注入_11

 

 

 

将源码复制到WWW目录后,打开phpstudy面板启动Apache和Mysql服务

SQL注入(一) 基础概念,SQL命令,靶场安装_sql注入_12

 

 

 

选择软件管理,下载php5.4.45版本

SQL注入(一) 基础概念,SQL命令,靶场安装_sql注入_13

 

 

 

点击网站选项->管理->修改

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全_14

 

 

 

点击选择根目录,点击浏览

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全_15

 

 

 

浏览到以下文件目录时点击选择文件夹

SQL注入(一) 基础概念,SQL命令,靶场安装_sql注入_16

 

 

 

选择刚刚下载的php5.4.45版本,配置完成后点击确认。

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全_17

 

 

 

用文件编辑器打开数据库连接文件,更改用户名和密码(与phpstudy数据库的用户名密码保持一致),文件位置:C:\phpstudy_pro\WWW\sqli-labs-master\sqli-labs-master\sql-connections(根据真实情况而定)

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全_18

 

 

 

 

未修改正确的用户名密码页面会报错

SQL注入(一) 基础概念,SQL命令,靶场安装_sql注入_19

 

 

 

修改用户名和密码与phpstudy的数据库相对应

SQL注入(一) 基础概念,SQL命令,靶场安装_sql注入_20

 

 

 

 

 

配置好之后命令行输入ipconfig查看自己的ip,在浏览器输入ip:端口 即可访问界面,访问成功后点击Setup/reset Database for labs进行数据库初始化。

 

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全_21

 

 

当出现以下界面时说明sql-lib靶场已搭建成功。

 

SQL注入(一) 基础概念,SQL命令,靶场安装_网络安全_22