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