sql注入基础一
什么是注入
所谓SQL注入,就是通过把SQL命令插入到web表单提交 或 输入域名 或 页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,从而进一步得到相应的数据信息
[通过构造一条精巧的语句,来查询到想要得到的信息]
注入分类
按照查询字段分:
字符型:当输入的参数为字符串时,称为字符型
数字型:当输入的参数为整形时,可以认为是数字型注入
按照注入方法分
Union注入、报错注入、布尔注入、时间注入
什么是注入点
注入点就是可以实行注入的地方,通常是一个访问数据库的连接,能够与数据库发生交互的地方。
一般注入点:http://192.168.43.94/sqli-labs-master/Less-2/ ?id=1 通过改变id=?来进行注入
如何判断是’字符型‘还是数字型(1)注入
1.使用and 1 = 1和and 1 = 2来判断
less-1:字符型
less-2:数字型
2.使用减法判断 2-1
字符型:a.因为’2-1‘会被判定为字符,所以减法不会被执行
数字型:b.2-1能被执行,所以最后输出的 id=2-1 == id=1
注:’+‘ 有时候会被理解为’ ‘ 空格
判断闭合方式’ or “
1.select。。。。。。。。where id = ' 1'--+ ' --+是注释的意思,这里就注释掉了后面的单引号,如果成功,则这里是单引号闭合
2.select。。。。。。。。。where id = ” 1“--+ ” 同理
注:注释符号多种多样,要依据环境的不同而使用
注释符号:'--+','#','%23';注释掉的含义是暂时将程序段脱离运行,把某段程序“注释掉”,就是让它暂时不运行(而非删除掉)