安全入門SQL注入漏洞全接觸

2022-12-22 21:57:03 字數 1251 閱讀 7425

sql注入是從正常的www埠訪問,而且表面看起來跟一般的web頁面訪問沒什麼區別,所以目前市面的防火牆都不會對sql注入發出警報,如果管理員沒檢視iis日誌的習慣,可能被入侵很長時間都不會發覺。

但是,sql注入的手法相當靈活,在注入的時候會碰到很多意外的情況。能不能根據具體情況進行分析,構造巧妙的sql語句,從而成功獲取想要的資料,是高手與「菜鳥」的根本區別。

根據國情,國內的**用asp+access或sqlserver的佔70%以上,php+mysq佔l20%,其他的不足10%。在本文,我們從分入門、高階至高階講解一下asp注入的方法及技巧,php注入的文章由nb聯盟的另一位朋友zwell撰寫,希望對安全工作者和程式設計師都有用處。了解asp注入的朋友也請不要跳過入門篇,因為部分人對注入的基本判斷方法還存在誤區。

大家準備好了嗎?let's go...

入門篇如果你以前沒試過sql注入的話,那麼第一步先把ie選單=>工具=>internet選項=>高階=>顯示友好http錯誤資訊前面的勾去掉。否則,不論伺服器返回什麼錯誤,ie都只顯示為http 500伺服器錯誤,不能獲得更多的提示資訊。

第一節、sql注入原理

以下我們從乙個**開始(注:本文發表前已徵得該站站長同意,大部分都是真實資料)。

在**首頁上,有名為「ie不能開啟新視窗的多種解決方法」的鏈結,位址為:我們在這個位址後面加上單引號』,伺服器會返回下面的錯誤提示:

microsoft jet database engine錯誤'80040e14'

字串的語法錯誤在查詢表示式'id=49''中。

/行8從這個錯誤提示我們能看出下面幾點:

1.**使用的是access資料庫,通過jet引擎連線資料庫,而不是通過odbc。

2.程式沒有判斷客戶端提交的資料是否符合程式要求。

3.該sql語句所查詢的表中有一名為id的字段。

從上面的例子我們可以知道,sql注入的原理,就是從客戶端提交特殊的**,從

而收集程式及伺服器的資訊,從而獲取你想到得到的資料。

第二節、判斷能否進行sql注入

看完第一節,有一些人會覺得:我也是經常這樣測試能否注入的,這不是很簡單嗎?其實,這並不是最好的方法,為什麼呢?

首先,不一定每台伺服器的iis都返回具體錯誤提示給客戶端,如果程式中加了cint(引數)之類語句的話,sql注入是不會成功的,但伺服器同樣會報錯,具體提示資訊為處理url時伺服器上出錯。請和系統管理員聯絡。

其次,部分對sql注入有一點了解的程式設計師,認為只要把單引號過濾掉就安全了,這種情況不為少數,如果你用單引號測試,是測不到注入點的.

關於防止SQL指令碼注入攻擊

摘自sql server 2005 聯機幫助 sql injection 是一種攻擊方法,它可以將惡意 插入到以後將傳遞給 sql server 供分析和執行的字串中。任何構成 sql 語句的過程都應進行注入漏洞檢查,因為 sql server 將執行其接收到的所有語法有效的查詢。sql injec...

SQL對資料進行安全性控制

實驗六 安全性 1 實驗目的 1.熟悉通過sql對資料進行安全性控制。2.完成書本上習題的上機練習。2 實驗平台kingbasees kingbasees及其互動式查詢工具isqlw。3 實驗內容和要求 使用sql對資料進行安全性控制,包括 授權和權力 操作完成後看看已授權的使用者是否真正具有授予的...

病毒檢測和網路安全漏洞檢測制度

第一條為保證 的正常執行,防止各類病毒 黑客軟體對 主機構成的威脅,最大限度地減少此類損失,特制定本制度。第二條本 伺服器及網路正常運轉由網路技術員負責。第三條本 上傳用計算機應安裝防病毒軟體 防黑客軟體及垃圾郵件消除軟體,並對軟體定期公升級。第四條任何要上傳檔案至本 伺服器的人員必須先對要上傳檔案...