學習筆記十一 SQL注入初探

2022-09-10 11:30:13 字數 3095 閱讀 8228

sql

結構化查詢語言(structured query language)簡稱sql,是一種特殊目的的程式語言,是一種資料庫查詢和程式語言,用於訪問資料以及查詢、更新和管理關係資料庫系統。

sql注入

sql注入攻擊是通過將惡意的sql查詢或新增語句插入到應用的輸入引數中,再在後台sql伺服器上解析執行進行的攻擊,它是目前黑客對資料庫進行攻擊的最常用手段之一。

當訪問動態網頁時,web伺服器會向資料庫發起sql查詢請求,如果許可權驗證通過就會執行sql語句。

這種**內部直接傳送的sql請求一般不會有危險,但實際情況是很多時候需要結合使用者的輸入資料動態構造sql語句,如果使用者輸入的資料被構造成惡意sql**,web應用又未對動態構造的sql語句使用的引數進行審查,則會帶來意想不到的危險。

在使用sql注入時要注意:

1.要有引數值的傳遞

2.引數值是可控的(就是說我輸入的引數值不能被判定為不合法字元)

3.沒有做防護過濾就帶入資料庫執行

sql注入帶來的威脅主要有如下幾點

常見資料庫的介紹

access資料庫

microsoft office access是由微軟發布的關聯式資料庫管理系統。它結合了 microsoftjet database engine 和 圖 形⽤戶界⾯兩項特點,是 microsoft office 的系統程式之⼀。 microsoft office access是微軟把資料庫引擎的圖形⽤戶界⾯和軟體開發⼯具結合在⼀起的⼀個資料庫管理系統。 它是微軟office的⼀個成員。ms access以它⾃⼰的格式將資料儲存在基於access jet的資料庫引擎⾥。它還可以直接導⼊或者鏈結資料(這些 資料儲存在其他應⽤程式和資料庫)。

access資料庫結構

表名---->列名---->內容資料 他不像其他的資料庫⼀樣、⾥⾯建立多個資料庫然後才是表再是內容、⽽access的話 只有⼀個庫若⼲張表。

檢視access資料庫

可以安裝office套件進⾏檢視、或者可以通過別的⼯具、如dbview、easy access等。

瀏覽測試所使用的表

使用資料庫檢視器開啟database目錄下的#data.mdb檔案

mysql資料庫

mssql資料庫

美國microsoft公司推出的⼀種關係型資料庫系統。sqlserver是⼀個可擴充套件的、⾼效能的、為分布式客戶機/伺服器 計算所設計的資料庫管理系統,實現了與windowsnt的有機結合,提供了基於事務的企業級資訊管理系統⽅案。

其主要特點如下:

(1)⾼效能設計,可充分利⽤windowsnt的優勢

(2)系統管理先進,⽀持windows圖形化管理⼯具,⽀持本地和遠端的系統管理和配置。

(3)強壯的事務處理功能,採⽤各種⽅法保證資料的完整性。

(4)⽀持對稱多處理器結構、儲存過程、odbc,並具有⾃主的sql語⾔。 sqlserver以其內建的資料複製功 能、強⼤的管理⼯具、與internet的緊密整合和開放的系統 結構為⼴⼤的⽤戶、開發⼈員和系統整合商提供了⼀個出 眾的資料庫平台。

mssql資料庫測試環境搭建可以用gsql

1 本地連線伺服器請使⽤界⾯中「伺服器名」⽂本框中的⽂本作為伺服器名連線伺服器(mdac版本必須為2.6或以上版 本)。

預設⽤戶名: sa 預設 密碼: 123456

2 遠端連線請使⽤「ip,端⼝」連線,連線前請關閉伺服器防⽕牆!(端⼝在伺服器啟動後,可以在狀態頁看到。)

例如:192.168.0.x,7788

3 資料庫轉換為相對路徑後需要重新啟動綠⾊sql⽅可任意移動。

4 資料庫⽂件 (*.mdf + *.ldf)直接複製到 mydb ⽬錄,重新啟動sql,即可⾃動附加到sqlserver中(資料庫名 已經存在的不予理會,⽇志⽂件、庫⽂件對應不上的不予理會)。

5 資料庫只有在絕對路徑模式下才可以⽤軟體⾃帶的恢復資料庫⼯具恢復資料庫。

sql server 2008

mssql資料庫的相關補充

許可權介紹

判斷許可權的語句

呼叫資料庫的**

<%

set conn =server.createobject("adodb.connection") 

conn.open "provider=sqloledb;source=local;uid=sa;pwd=******;database=database-name"

%>

oracle資料庫

oracle database,⼜名oracle rdbms,或簡稱oracle。是甲⾻⽂公司的⼀款關聯式資料庫管理系統。它是在資料 庫領域⼀直處於領先地位的產品。可以說oracle資料庫系統是⽬前世界上流⾏的關聯式資料庫管理系統,系統可移植 性好、使⽤⽅便、功能強,適⽤於各類⼤、中、⼩、微機環境。它是⼀種⾼效率、可靠性好的、適應⾼吞吐量的數 據庫解決⽅案。

⼀般物流和旅遊的站點,會⽤oracle,**的站點也有可能,但是需要授權。

postgresql資料庫

postgresql是⼀種特性⾮常齊全的⾃由軟體的物件-關係型資料庫管理系統(ordbms),是以加州⼤學計算機系 開發的postgres,4.2版本為基礎的物件關係型資料庫管理系統。postgres的許多領先概念只是在⽐較遲的時 候才出現在商業⽹站資料庫中。postgresql⽀持⼤部分的sql標準並且提供了很多其他現代特性,如複雜查詢、外 鍵、觸發器、檢視、事務完整性、多版本併發控制等。同樣,postgresql也可以⽤許多⽅法擴充套件,例如通過增加新 的資料型別、函式、操作符、聚集函式、索引⽅法、過程語⾔等。另外,因為許可證的靈活,任何⼈都可以以任何 ⽬的免費使⽤、修改和分發postgresql。

⼀般國外站點⽤的⽐較多⼀些,搭配php。

SQL注入初探

通過將惡意的sql查詢或新增語句插入到應用的輸入引數中,再在後台sql伺服器上解析執行進行的攻擊 引數值可控 帶入資料庫執行 屬於microsoft公司,access只有乙個庫,若干張表,此資料庫一般用於中小學 可以安裝office套件進行檢視 或通過別的工具 dbview easy acess等 ...

SQL注入學習筆記

sql注入漏洞是由於sql語句的呼叫方法不完善而產生的安全隱患。一旦應用中存在sql注入漏洞,就可能造成如下影響。值得注意的是,以下影響中攻擊者都能夠直接對伺服器實施主動攻擊,而不需要使用者參與。根據資料庫引擎的不同,通過sql注入攻擊還可能會達到下列效果。sql注入攻擊能夠以開發者意想不到的方式改...

SQL注入漏洞 學習筆記

oracle資料庫系統是美國oracle公司 甲骨文 提供的以分布式資料庫為核心的一組軟體產品,是目前最流行的客 戶 伺服器 client server 或b s體系結構的資料庫之一。比如silverstream就是基於資料庫的一種中介軟體。oracle資料 庫是目前世界上使用最為廣泛的資料庫管理系...