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