這篇文章主要介紹“SQL注入式攻擊的本質(zhì)是什么”,在日常操作中,相信很多人在SQL注入式攻擊的本質(zhì)是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SQL注入式攻擊的本質(zhì)是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)是一家專業(yè)提供祥云企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為祥云眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進行中。
正如微軟的大佬所說的,是由于網(wǎng)站程序的開發(fā)人員編碼不當(dāng)造成的,不光是ASP、ASP.NET,也包括JSP、PHP等技術(shù),受影響的也不僅僅是Access和SQL Server數(shù)據(jù)庫,也包括Oracle和MySQL等其他關(guān)系數(shù)據(jù)庫,和人家微軟沒什么關(guān)系。事實上不光是基于B/S架構(gòu)的系統(tǒng)或網(wǎng)站存在這樣的問題,基于C/S架構(gòu)的系統(tǒng)也存在這樣的問題,只不過由于C/S架構(gòu)的特點決定了不可能像B/S系統(tǒng)這樣影響這么廣泛。那么為什么說這個問題是開發(fā)人員編碼不當(dāng)造成的呢,下面我們就來具體分析。
首先讓我們來看一下以下這兩條SQL查詢語句
語句1:select * from news where newstype=1
語句2:select * from news where newstype=1;drop table news
語句3:select * from news where newstype='社會新聞'
語句4:select * from news where newstype='社會新聞';drop table news--'
大家都知道語句1的作用是查詢news表中newstype字段值等于1的所有記錄,其中newstype字段的類型是一種數(shù)值型,比如Int、SmaillInt、TinyInt、Float等等;語句2實際上是兩條語句,第一條的作用和語句1的作用相同,第二條的作用是刪除數(shù)據(jù)庫中的news表。語句3和語句4的功能和語句1、語句2的基本相同,所不同的是語句3、4里的newstype字段是字符型的,比如:char、varchar、nvarchar、text等等
不管是在ASP還是ASP.NET還是JSP或PHP,一般我們都會采用“select * from news where newstype=”+v_newstype的方法來構(gòu)造語句1,或者“select * from news where newstype='”+v_newstype+"'"來構(gòu)造語句3,其中v_newstype是一個變量,如果v_newstype的值等于1,構(gòu)造出來的就是語句1了,如果v_newstype的值等于"社會新聞",構(gòu)造出來的就是語句3了,但是很不幸的是如果我們忽略了對v_newstype的檢查,通過這個方法構(gòu)造出來的也可能是語句2或者語句4,比如v_newstype的值為“1;drop table news”或“社會新聞';drop table news--”,如果我們的疏忽讓別人給利用了,就會給我們造成巨大的損失,SQL注入式攻擊正是利用了我們的這個疏忽,所以說SQL注入式攻擊的根源來自開發(fā)人員的編碼不當(dāng)和你所使用的平臺、開發(fā)工具以及系統(tǒng)架構(gòu)等等都沒有任何直接的關(guān)系。
到此,關(guān)于“SQL注入式攻擊的本質(zhì)是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
當(dāng)前標(biāo)題:SQL注入式攻擊的本質(zhì)是什么
文章分享:http://weahome.cn/article/pspgsd.html