什麼是SQL隱碼攻擊(SQLi)
什麼是SQL隱碼攻擊?
SQL隱碼攻擊(SQLi)通常被認為是一種注入攻擊,其中攻擊者可以執行惡意 SQL 語句。 它控制Web應用程式的資料庫伺服器。 由於SQL隱碼攻擊無助可能會影響使用基於SQL的資料庫的任何站點或Web應用程式。 弱點是最成熟,最普遍和最危險的Web應用程式漏洞之一。
透過使用SQL隱碼攻擊無助,在給定正確條件的情況下,攻擊者可以使用它來回避Web應用程式的驗證和批准元件並恢復整個資料庫的實質內容。
SQL隱碼攻擊同樣可以用於包含,更改和刪除資料庫中的記錄,從而影響資訊正直性。
在這種程度上,SQL隱碼攻擊可以為攻擊者提供未經批准的訪問精細資訊的許可權,包括客戶資訊,可識別資料(PII),交換謎團,受保護創新和其他敏感資料。
SQL隱碼攻擊功能
記住針對資料庫伺服器執行惡意SQL查詢的最終目標,攻擊者應該首先在Web應用程式中發現包含在SQL問題中的貢獻。
一起發生SQL隱碼攻擊,無助站點需要直接在SQL解釋中包含客戶端貢獻。
然後,攻擊者可以嵌入有效負載,該有效負載將作為SQL查詢的一個元件併入,並繼續針對資料庫伺服器執行。
隨附的伺服器端虛擬碼用於驗證Web應用程式的客戶端。
#定義POST因子
ü Ñ 一米ë = - [R Ë q Ü Ë 小號噸。P O S T [ ' u s e r n a m e ' ]
p 一個小號小號瓦特d = - [R Ë q Ü Ë 小號噸。P O S T [ ' p a s s w o r d ' ]
#SQL問題對SQLi無能為力
sql = “SELECT id FROM clients WHERE username ='” + uname + “'AND password ='” + passwd + “'”
#執行SQL說明
資料庫.execute(sql)
以上內容是使用使用者名稱確認客戶端的基本情況。
此外,對於具有名為clients的表的資料庫以及使用者名稱和關鍵字部分的秘密詞。
SQL隱碼攻擊有效負載的基本情況可能就像將關鍵字欄位設定為金鑰'OR 1 = 1一樣簡單。
這將導致伴隨的SQL問題繼續針對資料庫伺服器執行。
SELECT id FROM clients WHERE username ='username'AND password ='password'OR 1 = 1'
攻擊者同樣可以註釋掉SQL解釋的剩餘部分,以進一步控制SQL查詢的執行。
- MySQL,MSSQL,Oracle,PostgreSQL,SQLite
'或' 1 '=' 1 ' -
'或' 1 '=' 1 '/ *
- MySQL
'或' 1 '=' 1 '#
- 訪問(使用無效字元)
'或' 1 '=' 1 '%00
'或' 1 '=' 1 '%16
一旦問題執行,結果i-訪問(使用無效字元)將返回到要處理的應用程式,從而產生確認迴避。 如果可以設想驗證迴避,應用程式將無疑地將攻擊者從問題結果中記錄到主記錄中 - 資料庫中的主記錄是監管客戶端的大部分。
攻擊者最糟糕的是SQL可以做什麼?
SQL是一種程式設計方言,用於監視放在RDBMS中的資訊,以這種方式,SQL可用於獲取,更改和刪除資訊。
此外,在特定情況下,
RDBMS
同樣可以從SQL公告中對工作框架進行收費。
記住上面的內容,在考慮附帶的情況下,看看有效的SQL隱碼攻擊對攻擊者來說有多賺錢的要求不高。
攻擊者可以使用SQL隱碼攻擊來回避確認甚至模仿特定客戶端。
One of SQL’s essential capacities is to choose information in light of an inquiry and yield the consequence of that question. A SQL Injection weakness could permit the entire exposure of information dwelling on a database server.
Since web applications use SQL to modify information inside a database, an attacker could use SQL Injection to adjust information put away in a database. Modifying information influences information honesty and could cause denial issues. For example, issues, for example, voiding exchanges, adjusting balances and different records.
SQL用於擦除資料庫中的記錄。
攻擊者可以使用SQL隱碼攻擊漏洞來清除資料庫中的資訊。
無論我們是否使用合適的強化方法,資訊的擦除都可能影響應用程式的可訪問性,直到重新建立資料庫為止。
一些資料庫伺服器設計(有目的或其他)允許在資料庫伺服器上自由執行工作框架訂單。
在正確的條件下,攻擊者可以使用SQL隱碼攻擊作為攻擊防火牆後面的內向系統的基礎向量。
SQL隱碼攻擊的剖析
SQL隱碼攻擊只需要存在兩個條件 - 一個利用SQL的社交資料庫,以及一個可以直接用作SQL問題一部分的客戶端可控資訊。
在下面的情況下,它將接受攻擊者可能透過濫用Web應用程式中的SQL隱碼攻擊無防禦性展示來從資料庫中洩漏資訊。
提供具有不恰當貢獻的SQL清晰度,例如在SQL查詢期望數字時給出字串,或者在SQL語句中故意嵌入標點符號錯誤會使資料庫伺服器丟擲錯誤。
在進步中,失誤對工程師非常有幫助,但如果在現場網站上授權,他們可以向攻擊者發現大量資料。
SQL錯誤具有圖形趨勢,即攻擊者可以獲取有關資料庫結構的資料。
有時甚至只是透過將資料與錯誤訊息分開來指定整個資料庫 - 這個系統基於SQL隱碼攻擊被稱為錯誤。
在這種程度上,資料庫失誤應該在現場網站上失效,或者登入到訪問受限的記錄。
SQL隱碼攻擊示例
一個。 在ASP.NET中選擇語句
灣 在ASP.NET中插入宣告
C。 在PHP SQL中插入宣告
$ stmt = $ dbh - > prepare(“INSERT INTO Customers(客戶名稱,地址,城市)
VALUES(:nam,:add,:cit)“);
$ stmt - > bindParam(':nam',$ txtNam);
$ stmt - > bindParam(':add',$ txtAdd);
$ stmt - > bindParam(':cit',$ txtCit);
$ stmt - > execute();
結論
在這個SQL隱碼攻擊教程中,我們瞭解了SQL中的注入。 此外,我們討論了它的例子,程式碼,工作和解剖。 除此之外,我們還看到了SQL PHP和SQL攻擊者可以做的事情。 不過,如果有任何疑問或疑問,請在評論部分詢問。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31557424/viewspace-2222154/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL隱碼攻擊原理是什麼?如何防範SQL隱碼攻擊?SQL
- 【網路安全】什麼是SQL隱碼攻擊漏洞?SQL隱碼攻擊的特點!SQL
- 【網路安全入門】SQL隱碼攻擊是什麼?SQL隱碼攻擊危害有哪些?SQL
- SQL隱碼攻擊原理是什麼?如何防範?SQL
- SQL隱碼攻擊 - 手工注入sqli-labsSQL
- SQL隱碼攻擊【sqli靶場第11-14關】(三)SQL
- SQL隱碼攻擊SQL
- sql 預處理為什麼可以放置SQL隱碼攻擊SQL
- SQL隱碼攻擊:sqli-labs lesson-1 小白詳解SQL
- 【SQL Server】--SQL隱碼攻擊SQLServer
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-SQL隱碼攻擊技術-語句注入SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-SQL隱碼攻擊技術-語句修改SQL
- MYSQL SQL隱碼攻擊MySql
- 【SQL隱碼攻擊原理】SQL
- 防止SQL隱碼攻擊SQL
- SQL隱碼攻擊(一)SQL
- SQL隱碼攻擊(pikachu)SQL
- SQL隱碼攻擊方法SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊SQL
- 預編譯SQL為什麼能夠防止SQL隱碼攻擊編譯SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-驗證檢查SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-繫結變數SQL變數
- 程式碼安全測試第一期:什麼是SQL隱碼攻擊漏洞?SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-顯式格式化模型SQL模型
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-SQL隱碼攻擊技術-資料型別轉換SQL資料型別
- SQL隱碼攻擊式攻擊掃描器SQL
- 這是一篇SQL隱碼攻擊文章SQL
- SQL隱碼攻擊語句SQL
- pikachu-SQL隱碼攻擊SQL
- SQL隱碼攻擊導圖SQL
- SQL隱碼攻擊問題SQL
- SQL隱碼攻擊的例子SQL
- ZMLCMS-SQL隱碼攻擊SQL
- SQL隱碼攻擊演練SQL
- 預防SQL隱碼攻擊SQL
- SQL隱碼攻擊總結SQL
- 什麼是SQL隱碼攻擊、XSS以及CSRF?【網路安全知識培訓】SQL
- DVWA-SQL Injection(SQL隱碼攻擊)SQL