1.SQL injection 概述
sql注入是指web应用程序没有对用户输入数据的合法性没有进行判断或过滤不严,攻击者在事先定义好的查询语句后面添加额外的sql语句进行非法操作,以此来进行非授权的任意访问,进一步得到数据库里的信息。
SQL 注入的简单结构
SQL注入之mySQL数据库
数据库就是存储数据的仓库,以一定方式存储在一起,尽可能减少冗余。
系统库:系统库提供了访问元数据的方式,元数据是数据的数据,如数据库的库名和表名,列的数据类型,访问权限
information schema 库:
schmata: show databases 取之
tables : schema name 保持当前数据库服务器里面所有库名的信息查询所有表的信息table namecolunms: 所有字段列信息column nameI
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
下载完成,解压后文件目录如下::
双击exe文件进行快速安装即可进行安装:
安装完成后双击图标,面板显示为下图:
到此phpstudy安装完成,下一步进行sql-lib靶场下载,下载地址:https://github.com/Audi-1/sqli-labs
下载完成后将解压文复制到phpstudy的WWW目录下,默认安装情况下phpstudy的目录路径为C:\phpstudy_pro\WWW(视情况而定)
将源码复制到WWW目录后,打开phpstudy面板启动Apache和Mysql服务
选择软件管理,下载php5.4.45版本
点击网站选项->管理->修改
点击选择根目录,点击浏览
浏览到以下文件目录时点击选择文件夹
选择刚刚下载的php5.4.45版本,配置完成后点击确认。
用文件编辑器打开数据库连接文件,更改用户名和密码(与phpstudy数据库的用户名密码保持一致),文件位置:C:\phpstudy_pro\WWW\sqli-labs-master\sqli-labs-master\sql-connections(根据真实情况而定)
未修改正确的用户名密码页面会报错
修改用户名和密码与phpstudy的数据库相对应
配置好之后命令行输入ipconfig查看自己的ip,在浏览器输入ip:端口 即可访问界面,访问成功后点击Setup/reset Database for labs进行数据库初始化。
当出现以下界面时说明sql-lib靶场已搭建成功。