sql盲注特点_SQL注入介绍及分类解读
SQL全稱是Structured Query Language,是一種結構化的查詢語言,用于與數據庫進行交互并能夠被數據庫解析。SQL注入攻擊是一種常見的注入攻擊類型。攻擊方式在用戶與程序進行交互時發生的。如在表單輸入、搜索框輸入功能中插入SQL命令,然后發送到服務端。服務端對數據進行了解析執行,并執行了一些非預期的操作。
SQL注入
危害
1、從數據庫中讀取敏感數據;
2、篡改數據庫數據;
3、對數據庫執行管理權限操作;
4、執行系統命令導致程序危害發生;
SQL漏洞被列為高危漏洞
產生條件
1、SQL語句中包含了不被信任的數據,如用戶輸入信息等;
2、動態構建的SQL語句,如將搜索條件拼接到語句中;
注入影響
1、保密性:可能會導致敏感新泄露,如管理員賬戶、會員信息等;
2、身份驗證:如果使用了較差的SQL命令來進行判斷用戶信息正確性。可能導致在不清楚用戶密碼的情況下,直接以用戶身份進行登錄系統;
3、授權:如果將某平臺的授權信息保存在數據庫中,可能被非法更改,導致經濟損失情況的發生;
4、完整性:如果敏感的信息被非法讀取,可能導致此信息所關聯的信息被非法更改、破壞、刪除,影響了此條數據的完整性;
代碼命令
目前,在服務器上面運行的大部分程序都是以數據庫為驅動,這樣進一步的增加了SQL注入漏洞的產生,因此,SQL注入漏洞非常關鍵,在開發過程中要嚴格把控。
注入分類
1、參數類型分類
數字型注入:輸入參數為整型時,如Id、年齡和頁碼等;
字符型注入:輸入參數為字符串型時,如姓名、職業、住址等;
兩者最大的區別:字符型注入一般要使用單引號進行閉合,而數字型注入則不需要;
2、注入位置分類
GET注入:注入字符在URL參數中;
POST注入:注入字段在POSt提交的數據中;
Cookie注入:注入字段在Cookie數據中,網站使用通用的防注入程序,會對GET、POST提交的數據進行過濾,卻往往遺漏Cookie中的數據進行過濾。
其他注入:HTTP請求的其他內容觸發的SQL注入漏洞;
代碼漏洞
3、結果反饋分類
盲注入:盲注入不會展現任何數據庫報錯內容,它是依據構造真或假的問題對數據庫進行“提問”,注入方式主要有兩種:基于布爾值與基于時間。
3.1、基于布爾值
如在MySQL中判斷數據名長度的輸入為1' and length(database()) = 10 #,通過相應的正確與否判斷數據名的長度是否為10,猜測數據庫中數據的具體內容時,可以借助書本上SUBSTR、LIMIT、ASCII等一些特殊的命令及函數進行猜測;
3.2、基于時間
基于時間的SQL盲注入方式通常是在SQL語句中添加延時函數,依據相應時間來判斷是否存在SQL注入,常用的延時函數或指令有sleep、repeat等。
總結:盲注入提交SQL命令較多,通常通過手工方式無法完成,借用工具如SQLMAP。
非盲注入(正常SQL注入):執行注入SQL語句將敏感信息展示出來,并進行進一步的操作。
4、其他類型
延時注入:使用延時函數方式;
搜索注入:注入點在搜索框中;
編碼注入:將輸入的字符串進行編碼,如base64編碼;
堆查詢注入:同時執行多條語句;
聯合查詢注入:使用union操作碼合并兩條或多條SQL語句;
多階注入:由多個HTTP請求響應共同完成的注入;
總結
以上是生活随笔為你收集整理的sql盲注特点_SQL注入介绍及分类解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python画人口迁徙图_echarts
- 下一篇: 反引号注入_什么是 SQL 注入?