SQL注入的前提、本质、危害、分类、发现注入点、手工注入与盲注思路……
1、SQL注入的前提
1.用户可以输入可控的SQL语句。
2.输入的内容要能与数据库进行交互(即输入的内容能拼接到SQL语句中被执行)
2、SQL注入的本质
数据和代码未分离,即数据当作了代码来执行。
3、SQL注入的危害
1 | 1、获取数据库信息 |
4、SQLI分类
①基于服务器对数据处理后的响应:
SQL显注
1 | 1、基于错误的注入(字符串、整数) |
SQL盲注
1 | 1、基于布尔 SQL 盲注 |
②基于注入位置的数据类型:
1 | 1、字符型 例如:select * from table where id='用户输入id' |
③基于程度和顺序的注入:
1 | 1、一阶注入 |
5、发现注入点
1 | 有很多防注入程序屏蔽了 and、1=1、1=2 类似这样的关键字, |
6、手工注入与手工盲注思路
手工注入思路:
1 | 自动化的注入神器sqlmap固然好用,但还是要掌握一些手工注入的思路, |
手工盲注思路:
1 | 手工盲注的过程,就像你与一个机器人聊天,这个机器人知道的很多,但只会回答“是”或者“不是”, |
7、SQL增删改查(更新和查询)
1 | 1、查询满足特定条件的指定表中的指定列: |
8、注释符
1 | 1、注释符:在Mysql中常见的注释符表达式: |
9、Mysql中常用的聚合函数
1 | 1、user():查看当前Mysql登录用户名 |
10、实例:GET基于报错的SQL注入(实验:Sqli-Lab Less1~4.)
1 | 1、通过在URL中修改对应的ID值,为正常数字、大数字、字符(单引号、双引号、双单引号、括号)、 |
本文作者:
kur08a
本文链接: https://kur08a.github.io/2022/03/27/SQL%E6%B3%A8%E5%85%A5%E6%80%9D%E8%B7%AF/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://kur08a.github.io/2022/03/27/SQL%E6%B3%A8%E5%85%A5%E6%80%9D%E8%B7%AF/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!