![](https://img.kancloud.cn/41/e0/41e066af9a6c25a24868d9667253ec98_1241x333.jpg)
*****
## 绕过SQL注入
### 绕过去除注释符的SQL注入
注释符的作用:用于标记某段代码的作用,起到对代码功能的说明作用。但是注释掉的内容不会被执行。
Mysql中的注释符:
* 1.单行注释: --+ 或 --空格 或 #
* 2.多行注释: /\* 多行注释内容 \*/
对于正常的SQL语句中,注释符起到说明作用的功能。但是对于在利用SQL注入漏洞过程中,注释符起到闭合 单引号、多单引号、双引号、单括号、多括号的功能。
<br>利用注释符过滤不能成功闭合单引号,换一种思路利用 or '1' = '1闭合单引号
```
http://127.0.0.1/sqli/Less-23/?id=1' --+
```
### 绕过剔除and和or的SQL注入
MySQL基础知识补充
- 1.MySQL中的大小写不敏感,大写与小写一样
- 2.MySQL中的十六进制与URL编码
- 3.符号和关键字替换 and -> && , or -> ||
### sqlmap探测
~~~
python sqlmap.py -u "http://127.0.0.1/sqli/Less-25/?id=1" --dbs --batch
~~~
### 绕过去除空格的SQL注入
编码:hex,urlencode
空格 URL编码 %20
TAB URL编码 %09
url编码:https://www.w3school.com.cn/tags/html_ref_urlencode.html
### sqlmap探测
```
有时候字符编码的问题,可能导致数据丢失,可以使用hex函数来避免
python sqlmap.py -u "http://127.0.0.1/sqli/Less-25/?id=1" --hex --dbs --batch
```