
*****
## 繞過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
```