sql注入流程 (手工) 学习

sql注入流程 (手工) 学习

sql注入

一.信息收集

a. 数据库类型 -> 报错信息 ->特有语句
b.数据库版本
c.数据库用户
d.判断数据库权限

二.数据获取
a.获取库信息->获取当前库->获取所有库
b.获取表信息
c.获取列信息
d.获取数据

三.提权
a.根据数据库权限
1.执行系统命令->直接维权
2.读文件->读取数据库配置文件,尝试远程连接->读系统配置文件,收集信息
3.写文件->写webshell到网站目录

查询数据核心语法

功能名称 查询语句
查库 select schema_name from information_schema.schemata
查表 select table_name from information_schema.tables where table_schema=库名
查列 select column_name from information_schema.columns where table_schema=表名
查数据 select 列名 from 库名。表名

tips
1.所有类型的sql注入,都是基于查库,表,列语句
2.如果数据太多,导致无法返回查询结果;
查询的场景: 可利用 limit 限定返回的数量及位置,依次查询回显数据的场景:* concat* 连接多个数据成为一条返回结果
3.在一些场景,想要快速获取数据,需借助工具,如: BurpSuite

例如:
我们使用sqli-labs第一关来使用
sql注入流程 (手工) 学习_第1张图片
sql注入,查询他的所有库

sql注入流程 (手工) 学习_第2张图片
显示返回的数据过多。
可以使用limit进行限制

sql注入流程 (手工) 学习_第3张图片
也可以使用group_concat进行连接成一条来显示

sql注入流程 (手工) 学习_第4张图片

你可能感兴趣的:(笔记)