SQL注入攻擊的總體思路和步驟是什么
SQL注入攻擊是黑客對(duì)數(shù)據(jù)庫進(jìn)行攻擊的常用手段之一,所謂SQL注入,就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請(qǐng)求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。那么攻擊的思路步驟是怎樣的呢?
SQL注入攻擊的總體思路
·發(fā)現(xiàn)SQL注入位置;
·判斷后臺(tái)數(shù)據(jù)庫類型;
·確定XP_CMDSHELL可執(zhí)行情況
·發(fā)現(xiàn)WEB虛擬目錄
·上傳ASP木馬;
·得到管理員權(quán)限;
SQL注入攻擊的步驟
一、SQL注入漏洞的判斷
一般來說,SQL注入一般存在于形如:HTTP://xxx.xxx.xxx/abc.asp?id=XX等帶有參數(shù)的ASP動(dòng)態(tài)網(wǎng)頁中,有時(shí)一個(gè)動(dòng)態(tài)網(wǎng)頁中可能只有一個(gè)參數(shù),有時(shí)可能有N個(gè)參數(shù),有時(shí)是整型參數(shù),有時(shí)是字符串型參數(shù),不能一概而論??傊灰菐в袇?shù)的動(dòng)態(tài)網(wǎng)頁且此網(wǎng)頁訪問了數(shù)據(jù)庫,那么就有可能存在SQL注入。如果ASP程序員沒有安全意識(shí),不進(jìn)行必要的字符過濾,存在SQL注入的可能性就非常大。
為了全面了解動(dòng)態(tài)網(wǎng)頁回答的信息,首選請(qǐng)調(diào)整IE的配置。把IE菜單-工具-Internet選項(xiàng)-高級(jí)-顯示友好HTTP錯(cuò)誤信息前面的勾去掉。
為了把問題說明清楚,以下以HTTP://xxx.xxx.xxx/abc.asp?p=YY為例進(jìn)行分析,YY可能是整型,也有可能是字符串。
1、整型參數(shù)的判斷
當(dāng)輸入的參數(shù)YY為整型時(shí),通常abc.asp中SQL語句原貌大致如下:
select * from 表名 where 字段=YY,所以可以用以下步驟測(cè)試SQL注入是否存在。
?、貶TTP://xxx.xxx.xxx/abc.asp?p=YY’(附加一個(gè)單引號(hào)),此時(shí)abc.ASP中的SQL語句變成了
select * from 表名 where 字段=YY’,abc.asp運(yùn)行異常;
?、贖TTP://xxx.xxx.xxx/abc.asp?p=YY and 1=1, abc.asp運(yùn)行正常,而且與HTTP://xxx.xxx.xxx/abc.asp?p=YY運(yùn)行結(jié)果相同;
?、跦TTP://xxx.xxx.xxx/abc.asp?p=YY and 1=2, abc.asp運(yùn)行異常;
如果以上三步全面滿足,abc.asp中一定存在SQL注入漏洞。
2、字符串型參數(shù)的判斷
當(dāng)輸入的參數(shù)YY為字符串時(shí),通常abc.asp中SQL語句原貌大致如下:
select * from 表名 where 字段='YY',所以可以用以下步驟測(cè)試SQL注入是否存在。
?、貶TTP://xxx.xxx.xxx/abc.asp?p=YY’(附加一個(gè)單引號(hào)),此時(shí)abc.ASP中的SQL語句變成了
select * from 表名 where 字段=YY’,abc.asp運(yùn)行異常;
?、贖TTP://xxx.xxx.xxx/abc.asp?p=YY&nb ... 39;1'='1', abc.asp運(yùn)行正常,而且與HTTP://xxx.xxx.xxx/abc.asp?p=YY運(yùn)行結(jié)果相同;
?、跦TTP://xxx.xxx.xxx/abc.asp?p=YY&nb ... 39;1'='2', abc.asp運(yùn)行異常;
如果以上三步全面滿足,abc.asp中一定存在SQL注入漏洞。
3、特殊情況的處理
有時(shí)ASP程序員會(huì)在程序員過濾掉單引號(hào)等字符,以防止SQL注入。此時(shí)可以用以下幾種方法試一試。
?、俅笮《ɑ旌戏ǎ河捎赩BS并不區(qū)分大小寫,而程序員在過濾時(shí)通常要么全部過濾大寫字符串,要么全部過濾小寫字符串,而大小寫混合往往會(huì)被忽視。如用SelecT代替select,SELECT等;
?、赨NICODE法:在IIS中,以UNICODE字符集實(shí)現(xiàn)國際化,我們完全可以IE中輸入的字符串化成UNICODE字符串進(jìn)行輸入。如+ =%2B,空格=%20 等;URLEncode信息參見附件一;
?、跘SCII碼法:可以把輸入的部分或全部字符全部用ASCII碼代替,如U=chr(85),a=chr(97)等,ASCII信息參見附件二;
補(bǔ)充:校園網(wǎng)安全維護(hù)技巧
校園網(wǎng)絡(luò)分為內(nèi)網(wǎng)和外網(wǎng),就是說他們可以上學(xué)校的內(nèi)網(wǎng)也可以同時(shí)上互聯(lián)網(wǎng),大學(xué)的學(xué)生平時(shí)要玩游戲購物,學(xué)校本身有自己的服務(wù)器需要維護(hù);
在大環(huán)境下,首先在校園網(wǎng)之間及其互聯(lián)網(wǎng)接入處,需要設(shè)置防火墻設(shè)備,防止外部攻擊,并且要經(jīng)常更新抵御外來攻擊;
由于要保護(hù)校園網(wǎng)所有用戶的安全,我們要安全加固,除了防火墻還要增加如ips,ids等防病毒入侵檢測(cè)設(shè)備對(duì)外部數(shù)據(jù)進(jìn)行分析檢測(cè),確保校園網(wǎng)的安全;
外面做好防護(hù)措施,內(nèi)部同樣要做好防護(hù)措施,因?yàn)橛械膶W(xué)生電腦可能帶回家或者在外面感染,所以內(nèi)部核心交換機(jī)上要設(shè)置vlan隔離,旁掛安全設(shè)備對(duì)端口進(jìn)行檢測(cè)防護(hù);
內(nèi)網(wǎng)可能有ddos攻擊或者arp病毒等傳播,所以我們要對(duì)服務(wù)器或者電腦安裝殺毒軟件,特別是學(xué)校服務(wù)器系統(tǒng)等,安全正版安全軟件,保護(hù)重要電腦的安全;
對(duì)服務(wù)器本身我們要安全server版系統(tǒng),經(jīng)常修復(fù)漏洞及更新安全軟件,普通電腦一般都是撥號(hào)上網(wǎng),如果有異常上層設(shè)備監(jiān)測(cè)一般不影響其他電腦。做好安全防范措施,未雨綢繆。
相關(guān)閱讀:提高服務(wù)器安全性的技巧
1.經(jīng)常更改系統(tǒng)管理員密碼。---->且密碼最好是大小寫都有
2.定期更新系統(tǒng)補(bǔ)丁。---->開啟自動(dòng)更新,并設(shè)定到晚上重啟。
3.檢查系統(tǒng)是否多出超級(jí)管理員,檢查是否有帳號(hào)被克隆在“開始”>運(yùn)行中輸入“cmd”>在輸入 net localgroup administrators
4.在“開始”>運(yùn)行中輸入“msconfig”檢查隨機(jī)啟動(dòng)的程序和服務(wù),關(guān)掉不必要的隨機(jī)啟動(dòng)程序和服務(wù)。
5.服務(wù)器上的所有程序盡量安裝程序的最新穩(wěn)定版。
6.檢查SERVU是否被創(chuàng)建有執(zhí)行權(quán)限的用戶或者對(duì)C盤有讀寫權(quán)限的用戶,并且給SERVU設(shè)置一個(gè)登錄密碼。如果需要請(qǐng)給serv_u設(shè)置獨(dú)立啟動(dòng)賬戶。
7.不要隨意安裝任何的第三方軟件。例如XX優(yōu)化軟件,XX插件之類的,更不要在服務(wù)器上注冊(cè)未知的組件。
8.不要隨意在服務(wù)器上使用IE訪問任何網(wǎng)站,杜絕隱患那是必須的。
9. 檢查系統(tǒng)日志的“安全性”條目,在右側(cè)查看近期“審核成功”的登錄
10.不要在服務(wù)器上雙擊運(yùn)行任何程序,不然怎么中了木馬都不知道。
11.不要在服務(wù)器上用IE打開用戶的硬盤中的網(wǎng)頁,這是危險(xiǎn)的行為。
12.不要在服務(wù)器上瀏覽圖片,以前windows就出過GDI 的安全漏洞。
13.及時(shí)的更新病毒庫,查殺病毒。
14.定時(shí)的查看系統(tǒng)各個(gè)盤符的磁盤權(quán)限,是否為設(shè)定的安全權(quán)限。
15.確保你自己的電腦安全,如果自己的電腦不安全,服務(wù)器也可能不太安全。
SQL注入攻擊相關(guān)文章: