網路爬蟲 SQL注入檢測三

2022-07-31 14:06:15 字數 989 閱讀 5751

4.3 爬蟲和sql檢查的結合

在lib/core/spider.py檔案引用一下from script import sqlcheck 等下節課我們開發出了外掛程式系統後,就不需要這樣引用了,爬蟲會自動呼叫,但這節課為了測試,我們還是引用一下。在craw()方法中,取出新url地方呼叫一下。()

##sql check

try:

if(sqlcheck.sqlcheck(new_url)):

print("url:%s sqlcheck is valueable"%new_url)

except:

pass

用try檢測可能出現的異常,繞過它,在檔案w8ay.py中,我們可以進行測試了。

#!/usr/bin/env python

#-*- coding:utf-8 -*-

'''name:w8ayscan

author:w8ay

'''import sys

from lib.core.spider import spidermain

def main():

root = ""

threadnum = 10

#spider

w8 = spidermain(root,threadnum)

w8.craw()

if __name__ == '__main__':

main()

很重要的一點!為了使得lib 和 script 資料夾中的.py檔案可以被認作是模組,請在 lib lib/core 和 script 資料夾中建立 __init__.py 檔案(init 前後是兩個 _ 下劃線),檔案中什麼都不需要加。

五、總結及回顧

sql注入檢測通過一些payload使頁面報錯,判斷原始網頁,正確網頁,錯誤網頁即可檢測出是否存在sql注入漏洞

通過匹配出sql報錯出來的資訊,可以正則判斷出所用的資料庫

掃瞄器目前是通過乙個爬蟲掃瞄來進行漏洞檢測,以後會從各個方面進行檢測

SQL注入檢測繞過

例如 攔截union。我們可以使用union或union等方式繞過。同樣假設waf檢測關鍵字union,可以用u的16進製制編碼 55來代替u,組合成 55nion來嘗試繞過。結合大小寫也可以繞過waf。適用於waf只阻斷一次危險語句,而沒有阻斷整個查詢。我們可以在過濾語句前加注釋,使其過濾掉注釋中...

SQL注入(三) sql注入 bugku

原理 mysql 在使用 gbk 編碼的時候,會認為兩個字元為乙個漢字,例如 aa 5c 就是乙個 漢字 前乙個 ascii碼大於 128 才能到漢字的範圍 我們在過濾 的時候,往往利用的思 路是將 轉換為 換的函式或者思路會在每一關遇到的時候介紹 因此我們在此想辦法將 前面新增的 除掉,一般有兩種...

SQL注入(三)

寬位元組注入 mysql query set names gbk 設定字符集編碼,對資料庫執行之後的結果進行某種編碼 gbk 然後傳遞給使用者,返回gdk編碼的結果 mysql set charset gbk 設定字符集編碼,規定當與資料庫伺服器進行資料傳送時要使用的預設字符集 mysql real...