頁面相似度檢測


編寫ldap掃描插件時,遇到的問題是,如何判斷頁面有變化。如果是已知的頁面,可以根據頁面中的字符串判斷變化;如果是未知的頁面,也就是通用頁面,可以參考sqlmap:

sqlmap中,頁面相似度的判斷位於 lib/request/comparison.py,其中 _comparison為核心判斷函數。

從中剝離出來,如下代碼:

def compartion(cont1,cont2):
    """
    頁面相似度檢測
    """
    UPPER_RATIO_BOUND = 0.95
    seqMatcher = difflib.SequenceMatcher(None)
    seqMatcher.set_seq1(cont1)
    seqMatcher.set_seq2(cont2)
    ratio = seqMatcher.quick_ratio()
    if ratio < UPPER_RATIO_BOUND:
        return False
    else:
        return True

其中,cont1,cont2代表兩個頁面的content,sqlmap中相似度UPPER_RATIO_BOUND的值為0.98,在程序中,相同的頁面都達到了0.98,確實已經夠用了,但是為了容錯率,改為了0.95。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM