網站首頁 編程語言 正文
今天繼續給大家介紹滲透測試相關知識,本文主要內容是SQLMAP插件tamper編寫與使用。
免責聲明:
本文所介紹的內容僅做學習交流使用,嚴禁利用文中技術進行非法行為,否則造成一切嚴重后果自負!
再次強調:嚴禁對未授權設備進行滲透測試!
一、SQLMAP插件tamper簡介
我們在安裝SQLMAP后,一般來說會有一個名為tamper的目錄,如下所示:
在該目錄下,有很多python腳本,如下所示:
這些python腳本,就是sqlmap的插件,tamper翻譯成中文是過濾的意思,這些腳本,對sqlmap的payload進行一定的修改,將其中容易被攔截的關鍵字等過濾成可以繞過的形式,因此,這些腳本中的內容大多是一些替換,其中一個腳本的內容如下所示:
相關tamper腳本的功能介紹請查看文章:SQLMAP插件tamper模塊介紹
二、SQLMAP插件tamper使用
上面我們介紹了SQLMAP插件tamper,而我們在使用SQLMAP對目標站點嘗試進行SQL注入的時候,我們應該如何使用tamper插件呢。其實非常簡單,只需要在使用SQLMAP命令的時候,添加–tamper,并指定tamper的名稱即可,例如,我們執行命令:
python .\sqlmap.py -u http://127.0.0.1/sqli/Less-1/?id=1 --tamper randomcase --proxy=http://127.0.0.1:8080
該命令使用了–proxy參數來指定代理,這樣可以使得我們使用burpsuit方便我們查看SQLMAP發送的數據包payload,burpsuit抓取到的數據包如下所示:
從上圖可以看出,數據包中的payload進行了大小寫隨機轉換的處理,tamper插件發揮作用。
三、SQLMAP插件tamper編寫
最后,我們來簡單介紹一下tamper插件的編寫邏輯。
實際上,盡管SQLMAP自帶有很多插件,但是這些插件均不能繞過當前使用的主流服務器安全防護軟件。因此,我們如果要使用SQLMAP來進行SQL注入的滲透測試,經常需要自己手動編寫tamper插件。
tamper插件的編寫邏輯很簡單,一個典型的tamper插件如下圖所示:
從上圖中可以看出,該插件的邏輯非常簡單,輸入的是原始的payload,該腳本會對payload進行處理后,然后輸出處理后的payload,其核心處理語句如下所示:
retVal = re.sub(r"\s*=\s*", " LIKE ", retVal)
re.sub是依據正則表達式的替換函數,在該實例中,該函數使用了3個參數,第一個參數為正則表達式,第二個參數為要被替換成的字符,第三個參數為要檢索的字符串。
該腳本的作用是,檢索retVal字符串中符合該正則表達式的值,并且用LIKE替換,因此就起到了替換payload中的等號“=”,并且使用LIKE替換的目的。
因此,如果我們要編寫自己的tamper插件,也可以參考上述邏輯,進行payload的替換,由于其格式是相同的,因此我們可以直接參考現有tamper格式,然后寫入自己的內部邏輯,并最終生成一個py腳本,放到tamper目錄下即可。
原文鏈接:https://blog.csdn.net/weixin_40228200/article/details/126511769
相關推薦
- 2022-07-21 CUICatalog: Invalid asset name supplied: ‘‘
- 2022-08-02 pyspark自定義UDAF函數調用報錯問題解決_python
- 2022-08-31 python中ndarray數組的索引和切片的使用_python
- 2022-02-15 多標簽界面:動態組件 & 異步組件
- 2022-07-09 C++深入淺出講解隱藏this指針的用法_C 語言
- 2022-09-18 Go語言單控制器和多控制器使用詳解_Golang
- 2022-04-30 C語言使用鏈表實現學生籍貫管理系統_C 語言
- 2022-07-10 Callable接口的使用詳解
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支