# 其他注入方法
都是面對php代碼或配置,對輸入的單引號進行轉義時,在處理用戶輸入數據時存在問題,可以繞過轉義
## 寬字節注入
dbk處理編碼的過程存在問題,可以構造數據消滅轉義符`\`
### 寬字節注入原理
在對單雙引號進行了轉義過濾的情況下,前面的注入方式都不好使,但可以在引號前加上`%df`再進行sql注入嘗試
它的原理是
1. `\'`編碼后的值為`%5C%27`
2. 使用GBK編碼數據庫時,兩個字符為一個漢字
2. ASCII碼只有128個,大于128的,就會和第二個字符組成一個漢字
3. 使用`%df\'`,編碼后為`%df%5C%27`
第一個碼大于128,因此會使用前兩個字符`運`,最后單剩一個引號
即編碼后的值為`運'`
4. 然后就可以正常進行sql注入了
### 寬字節注入方法
黑盒測試的話:在可能的注入點后,鍵入`%df'`后,進行測試
白合測試的話:
1. 查看mysql編碼是否為GBK
2. 是否使用`preg_replace`轉換單引號為`\'`
3. 是否使用addslashes進行轉義
4. 是否使用mysql_real_escape_string進行轉義
### 寬字節注入防范
1. 使用utf-8,可以避免寬字節注入
不僅在gbk中,韓文、日文等都是寬字節
2. 使用`mysql_real_escape_string`方法轉義
需同時設置`mysql_set_charset('gbk',$conn)`
3. 可以設置mysql連接參數:`character_set_clinet=binary`
## 二次編碼注入
php代碼中用了urldecode()等編碼函數,對url中的特殊字符進行編碼,可以利用此函數與php自身編碼轉換,產生漏洞
### 二次編碼注入原理
1. 用戶輸入`id=1%27`,會被php轉碼為`id=1'`
2. 轉義代碼發現有單引號,轉義為`id=1\'`,無法sql注入
3. 用戶輸入`id=1%2527`,由于%25轉碼后就是%,因而會轉碼為`id=1%27`
4. 轉義代碼沒有發現單引號,故不轉義
5. 但后續urldecode等函數,處理url時,會將`id=1%27`轉碼為`id=1'`,就可以注入
注意:如果做白盒測試,要看urldecode函數 是否在轉義方法之后
## 二次注入
### 二次注入原理
1. 插入惡意數據
有些程序在進行數據庫插入的時候,僅僅對特殊字符進行了轉義,但仍然將數據寫入了數據庫,如果插入的數據包含惡意內容的話
2. 引用惡意數據
在插入到數據庫中后,在另外的地方查詢該數據的時候,如果沒有對取出的數據做校驗處理(即認為可信),直接使用該數據,就會造成sql二次注入
### 二次注入舉例
舉例1如下:
1. 新建用戶`admin'#`,有特殊字符,但寫入成功,并能使用該用戶登錄
2. 正常修改用戶密碼時
sql語句如是:`update user set password='1234' where username='x' and psssword='xx'`
3. 但當用戶為`admin'#`時
sql語句變為:`update user set password='1234' where username='admin'#' and xxxxx`
明顯井號后的語句都被注釋掉了
4. 結果就是會修改掉原有用戶admin的密碼
舉例2如下:
1. 有兩個頁面,一個頁面寫入數據,另一個頁面可以有辦法查看該數據
2. 如果寫入時,寫入了`xx' union select 1,database(),3`
3. 如果存在sql注入漏洞,寫入的數據應該為`1,庫名,3`
4. 在另一個頁面就可以看到該庫名數據
### 二次注入防御
1. 對外部提交的數,需要更加謹慎處理,特殊字符不寫入
2. 程序內部的數據調用,也要進行嚴格檢查,不要認為可信
- src導航站
- kali和msf
- 信息收集
- 收集域名信息
- Whois 查詢
- 備案信息查詢
- 信用信息查詢
- IP反查站點的站
- 瀏覽器插件
- 收集子域名信息
- 在線平臺
- 工具枚舉
- ssl與證書透明度
- DNS歷史解析
- DNS域傳送漏洞
- C段探測
- JS文件域名&ip探測
- 搜索引擎&情報社區
- google黑客
- 威脅情報
- 鐘馗之眼
- 收集相關應用信息
- 微信公眾號&微博
- APP收集&反編譯
- 收集常用端口信息
- 常見端口&解析&總結
- 掃描工具
- 網絡空間引擎搜索
- 瀏覽器插件
- nmap掃描
- 收集敏感信息
- 源碼泄露
- 郵箱信息收集
- 備份文件泄露
- 目錄&后臺掃描
- 公網網盤
- 歷史資產
- 指紋&WAF&CDN識別
- 指紋識別
- CDN識別
- 繞過CDN查找真實IP
- WAF識別
- 漏洞資源和社工
- 漏洞公共資源庫
- 社會工程
- 資產梳理
- 各種對滲透有幫助的平臺
- 掃描器
- 掃描器對比
- AppScan(IBM)_web和系統
- AWVS_web掃描
- X-Scan_系統掃描
- WebInspect_HP_WEB
- Netsparker_web
- WVSS_綠盟_web
- 安恒明鑒
- Nessus_系統
- nexpose_系統
- 啟明天鏡_web_系統
- SQL注入
- 常用函數
- sql注入步驟
- union注入和information_schema庫
- 函數和報錯注入
- SQL盲注
- 其他注入方式
- 防止SQL注入解決方案
- Access數據庫注入
- MSSQL數據庫注入
- MYSQL數據庫注入
- 神器SQLmap
- xss跨站腳本攻擊
- xss原理和分類
- xss案例和修復
- xss繞過技巧
- xss案例
- 文件上傳下載包含
- 常有用文件路徑
- 文件上傳漏洞
- 文件下載漏洞
- 文件包含漏洞
- upload-labs上傳漏洞練習
- XXE、SSRF、CSRF
- SSRF原理基礎
- SSRF案例實戰
- CSRF原理基礎
- CSRF案例及防范
- XXE之XML_DTD基礎
- XXE之payload與修復
- XXE結合SSRF
- 遠程命令執行與反序列化
- 遠程命令和代碼執行漏洞
- 反序列化漏洞
- 驗證碼與暴力破解
- 爆破與驗證碼原理
- CS架構暴力破解
- BS架構暴力破解
- WEB編輯器漏洞
- 編輯器漏洞基礎
- Ewebeditor編輯器
- FCKeditor編輯器
- 其他編輯器
- web中間件漏洞
- 中間件解析漏洞
- Tomcat常見的漏洞總結
- Jboss漏洞利用總結
- Weblogic漏洞利用總結
- WEB具體步驟
- 旁注和越權
- CDN繞過
- 越權與邏輯漏洞
- WEB應用常見其他漏洞
- WEB登陸頁面滲透思路
- 獲取WEBshell思路
- 社工、釣魚、apt
- 社工和信息收集
- 域名欺騙
- 釣魚郵件
- 一些釣魚用的掛馬工具
- 代碼審計
- 代碼審計工具
- WAF繞過
- WAF基礎及云WAF
- 各種WAF繞過方法
- 繞過WAF上傳文件
- 系統提權
- windows系統提權
- linux系統提權
- 數據庫提權操作系統
- 內網橫向滲透
- 內網穿透方式
- 一些內網第三方應用提權
- ARP與DOS
- ARP欺騙
- DOS與DDOS
- 一些DOS工具