前言
SQL注入是比較常見的網絡攻擊方式之一,它不是利用操作系統的BUG來實現攻擊,而是針對程序員編寫時的疏忽,通過SQL語句,實現無賬號登錄,甚至篡改數據庫。當出現了相關注入的操作時,鍋還是會降臨的……
那如何減少或者避免數據庫注入的發生呢?
=========》libinjection
作爲一個開源的sql注入和xxs攻擊的詞法解析庫,它比較獨特的是沒有使用正則表達式而是一個完善的特徵庫來匹配檢查SQL注入。相比傳統正則匹配識別SQL注入在於速度快以及低誤報,低漏報 。
源碼網址如下:
http://www.github.com/client9/libinjection
一、編譯源碼
libinjection的檢測原理在網上可以查到很多,在這就不做具體介紹了,主要介紹下如何編譯使用。
1、編譯代碼
首先我們通過github下載libinjection的源碼
然後我們將源碼上傳到 linux服務器上
我們進入src目錄執行make命令
編譯完成啦
二、使用測試
輸入如下命令編譯測試:
#輸入命令
gcc -Wall -Wextra example1.c libinjection_sqli.c
#執行操作
./a.out "-1' and 1 = 1"
#輸出結果
sqli with fingerprint of 's&1'
已經檢測出符合注入條件的規則啦,是不是很簡單呢。
這個是在linux下直接運行的,那麼如果想在編譯一個jar包做檢測如何處理呢?
下一篇給大家介紹下如何調用libinjection生成的動態連接庫。