Web應用程序帶來了新的計算機安全漏洞,例如SQL注入。這是一類基於輸入驗證的漏洞。來自數據庫,旁通身份驗證邏輯或在數據庫中添加未經授權的帳戶的SQL注入洩漏機密信息的典型用途。此安全性可防止未經授權訪問數據庫的訪問,並且還可以防止您的數據被用戶更改或刪除,而沒有適當的權限。惡意文本檢測器,約束驗證,查詢長度驗證和基於文本的關鍵發電機是用於檢測和防止SQL注入攻擊訪問數據庫的四種類型的過濾技術。
我們正在Ubuntu做這個項目
我們將檢測到代理服務器上的SQL注入以提高安全級別。由於NGINX更快,更易於使用,因此我們將使用它作為代理服務器。我們的Web應用程序將在Apache服務器上運行。
因此,隨著瀏覽器的流量將進入NGINX服務器,我們將配置其端口
將webproxy文件從存儲庫中添加到/etc/nginx/sites-enabled 。
將WebProxy添加到NGINX的站點。在這裡,我們已將HTTP通過NGINX服務器路由到端口8080。
現在,我們將更新HTTP服務的Apache Server端口。從此存儲庫中更新ports.conf文件,in /etc/apache2/還更新此存儲庫中的000-default.conf文件,in /etc/apache2/sites-enabled 。
將html文件夾從此存儲庫替換為/var/www/文件夾。運行bank.sql以在mysql中創建數據庫。
在這裡,我們添加了銀行申請
service nginx start
service apache2 start檢查是否在端口號上配置了Nginx服務器。 80和Apache服務器在端口號上配置。 8080。
轉到localhost:8080/bank/login.html 。輸入用戶名作為AA ,並以A'或'y'='y輸入密碼
現在您可以看到整個數據庫。
轉到localhost/bank/login.html 。輸入用戶名作為AA ,並以A'或'y'='y輸入密碼
現在,您看不到整個數據庫,也無法將其註入其他查詢。
當用戶憑證輸入漏洞系統時,它們將直接傳遞給數據庫軟件。但是,如果我們在到達Web應用程序之前(例如在代理服務器)之前提供輸入驗證,我們可以減輕Apache Server上的負擔,並在更快的Nginx服務器上有效地處理它。
因此,我已經編譯了用於SQL注入攻擊的所有MySQL關鍵字,並分配了權重,以便所有輸入均已驗證並檢查攻擊。
因此,防止了SQL注射攻擊。
作者兼創造者:Jayant Rane