隨著b/s 模式應用開發的發展,使用這種模式編寫應用程式的程式設計師也越來越多。但是由於這個行業的入門門檻不高,程式設計師的水平及經驗也參差不齊,相當大一部分程式設計師在編寫**的時候,沒有對使用者輸入資料的合法性進行判斷,使應用程式存在安全隱患。使用者可以提交一段資料庫查詢**,根據程式返回的結果,獲得某些他想得知的資料,這就是所謂的sql injection ,即sql 注入。
sql 注入是從正常的www 埠訪問,而且表面看起來跟一般的web 頁面訪問沒什麼區別,所以目前市面的防火牆都不會對sql 注入發出警報,如果管理員沒檢視iis 日誌的習慣,可能被入侵很長時間都不會發覺。 但是,sql 注入的手法相當靈活,在注入的時候會碰到很多意外的情況。能不能根據具體情況進行分析,構造巧妙的sql 語句,從而成功獲取想要的資料,是高手與「菜鳥」的根本區別。 根據國情,國內的**用asp+access 或sqlserver 的佔70% 以上,php+mysq 佔l20% ,其他的不足10% 。
在本文,我們從分入門、高階至高階講解一下asp 注入的方法及技巧,php 注入的文章由nb聯盟的另一位朋友zwell 撰寫,希望對安全工作者和程式設計師都有用處。了解asp 注入的朋友也請不要跳過入門篇,因為部分人對注入的基本判斷方法還存在誤區。大家準備好了嗎?
lets go... 入 門 篇
如果你以前沒試過sql 注入的話,那麼第一步先把ie 選單=> 工具=>internet 選項=> 高階=> 顯示友好 http 錯誤資訊前面的勾去掉。否則,不論伺服器返回什麼錯誤,ie 都只顯示為http 500 伺服器錯誤,不能獲得更多的提示資訊。 第一節、sql 注入原理 以下我們從乙個**
www.19cn.com 開始(注:本文發表前已徵得該站站長同意,大部分都是真實資料)。 在**首頁上,有名為「ie 不能開啟新視窗的多種解決方法」的鏈結,位址為:
1. **使用的是access 資料庫,通過jet 引擎連線資料庫,而不是通過odbc 。
2. 程式沒有判斷客戶端提交的資料是否符合程式要求。
3. 該sql 語句所查詢的表中有一名為id 的字段。
從上面的例子我們可以知道,sql 注入的原理,就是從客戶端提交特殊的**,從而收集程式及伺服器的資訊,從而獲取你想到得到的資料。
#資料庫技術
SQL注入詳解 1
隨著b s 模式應用開發的發展,使用這種模式編寫應用程式的程式設計師也越來越多。但是由於這個行業的入門門檻不高,程式設計師的水平及經驗也參差不齊,相當大一部分程式設計師在編寫 的時候,沒有對使用者輸入資料的合法性進行判斷,使應用程式存在安全隱患。使用者可以提交一段資料庫查詢 根據程式返回的結果,獲得...
sql注入詳解
我們先了解web 程式三層架構 三層架構 3 tier architecture 通常意義上就是將整個業務應用劃分為 介面層 user inte ce layer 業務邏輯層 business logic layer 資料訪問層 data access layer 區分層次的目的即為了 高內聚低耦合...
SQL注入詳解
sql 注入 sqli 是一種注入攻擊,可以執行惡意 sql 語句。它通過將任意 sql 插入資料庫查詢,使攻擊者能夠完全控制 web 應用程式後面的資料庫伺服器。攻擊者可以使用 sql 注入漏洞繞過應用程式安全措施 可以繞過網頁或 web 應用程式的身份驗證和授權,並檢索整個 sql 資料庫的內容...