Sql注入基础复习

Sql注入基础复习

  • SQL 注入经常出现的地方
  • 判断闭合方式--有回显和无回显
  • Sql注入的基本步骤
  • Sql注入的基本方法
  • 自问自答~
  • 作者说~

  • 有赞点赞,没赞请看完后补票…
  • 此文章为干货,但务必实战,自主搭建靶场sql-labs供使用
  • (http://47.94.22.226/sqli-labs/)

SQL 注入经常出现的地方

(用户输入数据和后端数据库产生交互的地方)

  • 内部实现 / 流程的角度

url 传参、表单 post、Cookie、User-Agent、X-Forwarded-For…

  • 常用业务点注入

新闻 / 商品等查询处、用户注册 / 登陆处、修改用户资料时、找回密码处、搜索框…

判断闭合方式–有回显和无回显

闭合方式’ " () (‘x’) ((‘x’)) (“x”) ((“x”)) (()) ‘%x%’-------
(创造错误,使用转义字符或大数等,无法判断闭合方式时,要多方面求证)
有回显:
2’ and ‘1’=‘1,若返回结果为id=2时的值,则说明注入类型为’,若返回结果为id=1时的值,说明注入类型为’)
原因:注入类型为’时,所构造的sql语句为’2’ and ‘1’=‘1’,返回的值为’2’,所以所查询的结果为id=2。注入类型为’)时,所构造的sql语句为(‘2’ and ‘1’=‘1’),这时会把括号内的值当做布尔值处理。括号内的值为0,最终返回id=1(数字型和字符型的根本在于闭合方式不同,还是在于探究闭合方式)
无回显:(排除法,一些典型特征闭合方式基本固定)
搜索select * from table1 where username like ‘% x %’;
插入数据insert into table1 (username,password,xx1,xx2) values(‘zj’,‘123’,‘xx1’,‘xx2’);

Sql注入的基本步骤

* 步骤1:

推断数据库语法大概是什么(通过确认语法才能判断大概的闭合方式)
查询、POST、GET、插入
例如查询语法:
select * from [某个表] where id = [参数]

你可能感兴趣的:(#,web安全,sql,数据库,mysql)