SQLMAP插件tamper編寫與使用詳解
今天繼續(xù)給大家介紹滲透測試相關知識,本文主要內(nèi)容是SQLMAP插件tamper編寫與使用。
免責聲明:
本文所介紹的內(nèi)容僅做學習交流使用,嚴禁利用文中技術進行非法行為,否則造成一切嚴重后果自負!
再次強調(diào):嚴禁對未授權(quán)設備進行滲透測試!
一、SQLMAP插件tamper簡介
我們在安裝SQLMAP后,一般來說會有一個名為tamper的目錄,如下所示:
在該目錄下,有很多python腳本,如下所示:
這些python腳本,就是sqlmap的插件,tamper翻譯成中文是過濾的意思,這些腳本,對sqlmap的payload進行一定的修改,將其中容易被攔截的關鍵字等過濾成可以繞過的形式,因此,這些腳本中的內(nèi)容大多是一些替換,其中一個腳本的內(nèi)容如下所示:
相關tamper腳本的功能介紹請查看文章:SQLMAP插件tamper模塊介紹
二、SQLMAP插件tamper使用
上面我們介紹了SQLMAP插件tamper,而我們在使用SQLMAP對目標站點嘗試進行SQL注入的時候,我們應該如何使用tamper插件呢。其實非常簡單,只需要在使用SQLMAP命令的時候,添加–tamper,并指定tamper的名稱即可,例如,我們執(zhí)行命令:
python .\sqlmap.py -u http://127.0.0.1/sqli/Less-1/?id=1 --tamper randomcase --proxy=http://127.0.0.1:8080
該命令使用了–proxy參數(shù)來指定代理,這樣可以使得我們使用burpsuit方便我們查看SQLMAP發(fā)送的數(shù)據(jù)包payload,burpsuit抓取到的數(shù)據(jù)包如下所示:
從上圖可以看出,數(shù)據(jù)包中的payload進行了大小寫隨機轉(zhuǎn)換的處理,tamper插件發(fā)揮作用。
三、SQLMAP插件tamper編寫
最后,我們來簡單介紹一下tamper插件的編寫邏輯。
實際上,盡管SQLMAP自帶有很多插件,但是這些插件均不能繞過當前使用的主流服務器安全防護軟件。因此,我們?nèi)绻褂肧QLMAP來進行SQL注入的滲透測試,經(jīng)常需要自己手動編寫tamper插件。
tamper插件的編寫邏輯很簡單,一個典型的tamper插件如下圖所示:
從上圖中可以看出,該插件的邏輯非常簡單,輸入的是原始的payload,該腳本會對payload進行處理后,然后輸出處理后的payload,其核心處理語句如下所示:
retVal = re.sub(r"\s*=\s*", " LIKE ", retVal)
re.sub是依據(jù)正則表達式的替換函數(shù),在該實例中,該函數(shù)使用了3個參數(shù),第一個參數(shù)為正則表達式,第二個參數(shù)為要被替換成的字符,第三個參數(shù)為要檢索的字符串。
該腳本的作用是,檢索retVal字符串中符合該正則表達式的值,并且用LIKE替換,因此就起到了替換payload中的等號“=”,并且使用LIKE替換的目的。
因此,如果我們要編寫自己的tamper插件,也可以參考上述邏輯,進行payload的替換,由于其格式是相同的,因此我們可以直接參考現(xiàn)有tamper格式,然后寫入自己的內(nèi)部邏輯,并最終生成一個py腳本,放到tamper目錄下即可。
到此這篇關于SQLMAP插件tamper編寫與使用的文章就介紹到這了,更多相關SQLMAP tamper使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
sqlserver存儲過程中SELECT 與 SET 對變量賦值的區(qū)別
SQLServer中對已經(jīng)定義的變量賦值的方式用兩種,分別是 SET 和 SELECT。對于這兩種方式的區(qū)別,SQL Server 聯(lián)機叢書中已經(jīng)有詳細的說明,但很多時候我們并沒有注意,其實這兩種方式還是有很多差別的。2011-04-04數(shù)據(jù)結(jié)構(gòu)簡明備忘錄 線性表
線性表是線性結(jié)構(gòu)的抽象,線性結(jié)構(gòu)的特點是結(jié)構(gòu)中的數(shù)據(jù)元素之間存在一對一的線性關系。2010-03-03在SQL Server中恢復多個數(shù)據(jù)庫的方法小結(jié)
這篇文章主要介紹了如何在SQL Server中恢復多個數(shù)據(jù)庫,通常情況下,只要備份文件的名稱與相應的數(shù)據(jù)庫匹配,且沒有附加的日期或時間信息,就可以通過有效的 T-SQL 腳本來完成恢復,文中給介紹了在SQL Server中恢復多個數(shù)據(jù)庫的方法小結(jié),需要的朋友可以參考下2024-09-09SQL?Server數(shù)據(jù)庫表的創(chuàng)建與管理操作大全
這篇文章主要給大家介紹了關于SQL?Server數(shù)據(jù)庫表的創(chuàng)建與管理操作的相關資料,?SQL?Server是一個關系型數(shù)據(jù)庫管理系統(tǒng),它可以幫助用戶創(chuàng)建、管理和查詢數(shù)據(jù),文中介紹的非常詳細,需要的朋友可以參考下2024-01-01SQLSERVER語句的執(zhí)行時間顯示的統(tǒng)計結(jié)果是什么意思
在SQL語句調(diào)優(yōu)的時候,大部分都會查看語句執(zhí)行時間,究竟SQLSERVER顯示出來的統(tǒng)計結(jié)果是什么意思,接下來為您一一解釋,感興趣的朋友可以了解下2013-01-01