防止SQL注入攻擊的一些方法小結(jié)

-----解決方案--------------------------------------------------------
過濾URL中的一些特殊字符,動(dòng)態(tài)SQL語句使用PrepareStatement..
------解決方案--------------------------------------------------------
注入的方式就是在查詢條件里加入SQL字符串. 可以檢查一下提交的查詢參數(shù)里是否包含SQL,但通常這樣無益.
最好的辦法是不要用拼接SQL字符串,可以用prepareStatement,參數(shù)用set方法進(jìn)行填裝
------解決方案--------------------------------------------------------
sql注入形式:...where name="+name+",這樣的sql語句很容易sql注入,可以這樣:
jdbcTemplate.update("delete from userinfo where id=? and userId=?", new Object[]{userInfo.getId(),userInfo.getUserId()});
我的一些代碼,望有用!
------解決方案--------------------------------------------------------
Sql注入漏洞攻擊:如1'or'1'='1
使用參數(shù)化查詢避免
cmd.CommandText="select count(*) from 表名 where username=@a and password=@b";
cmd.parameters.Add(new SqlParameter("a",".."));
cmd.parameters.Add(new SqlParameter("b",".."));
------解決方案--------------------------------------------------------
恩,用框架,用jpa的pojo。。就沒這種事情了
SSH2架構(gòu)中 怎么防止SQL注入呢?還有其他相關(guān)安全問題怎么設(shè)計(jì)呢?
目前的安全,只是對(duì)用戶密碼加密,前臺(tái)jquery驗(yàn)證。
如何實(shí)現(xiàn)防止注入攻擊還有我的頁面有些隱藏域保存這當(dāng)前登錄用戶的信息等信息。
用戶查看頁面源代碼就可以查看到了。
有沒好的解決方案呢?還有其他哪些要注意的地方呢?
Struts2 hibernate3 spring 3.0
sql server 2000 sp4
------解決方案--------------------------------------------------------
1:向 CA 購買證書,使用 HTTPS 進(jìn)行通信,以保證在網(wǎng)絡(luò)傳輸過程中是安全的
2:避免 XSS 注入(頁面回顯的 input text, input hidden 均過濾 <、>、"、' 等字符等)
3:使用隨機(jī)鍵盤或者安全控件防止鍵盤木馬記錄用戶的輸入
4:若要在 Cookie 中寫入數(shù)據(jù),盡量使用 Cookie 的 HttpOnly 屬性
5:響應(yīng)中設(shè)置一些諸如 X-Frame-Options、X-XSS-Protection 等高版本瀏覽器支持的 HTTP 頭
6: 不管客戶端是否做過數(shù)據(jù)校驗(yàn),在服務(wù)端必須要有數(shù)據(jù)校驗(yàn)(長(zhǎng)度、格式、是否必填等等)
7: SQL 語句采用 PreparedStatement 的填充參數(shù)方式,嚴(yán)禁使用字符串拼接 SQL 或者 HQL 語句
六個(gè)建議防止SQL注入式攻擊
2009-04-01 14:38
SQL注入攻擊的危害性很大。在講解其防止辦法之前,數(shù)據(jù)庫管理員有必要先了解一下其攻擊的原理。這有利于管理員采取有針對(duì)性的防治措施。
一、 SQL注入攻擊的簡(jiǎn)單示例。
statement := "SELECT * FROM Users WHERE Value= " + a_variable + "
上面這條語句是很普通的一條SQL語句,他主要實(shí)現(xiàn)的功能就是讓用戶輸入一個(gè)員工編號(hào)然后查詢處這個(gè)員工的信息。但是若這條語句被不法攻擊者改裝過后,就可能成為破壞數(shù)據(jù)的黑手。如攻擊者在輸入變量的時(shí)候,輸入以下內(nèi)容SA001’;drop table c_order--。那么以上這條SQL語句在執(zhí)行的時(shí)候就變?yōu)榱薙ELECT * FROM Users WHERE Value= ‘SA001’;drop table c_order--。
這條語句是什么意思呢?‘SA001’后面的分號(hào)表示一個(gè)查詢的結(jié)束和另一條語句的開始。c_order后面的雙連字符 指示當(dāng)前行余下的部分只是一個(gè)注釋,應(yīng)該忽略。如果修改后的代碼語法正確,則服務(wù)器將執(zhí)行該代碼。系統(tǒng)在處理這條語句時(shí),將首先執(zhí)行查詢語句,查到用戶編號(hào)為SA001 的用戶信息。然后,數(shù)據(jù)將刪除表C_ORDER(如果沒有其他主鍵等相關(guān)約束,則刪除操作就會(huì)成功)。只要注入的SQL代碼語法正確,便無法采用編程方式來檢測(cè)篡改。因此,必須驗(yàn)證所有用戶輸入,并仔細(xì)檢查在您所用的服務(wù)器中執(zhí)行構(gòu)造 SQL命令的代碼。
二、 SQL注入攻擊原理。
可見SQL注入攻擊的危害性很大。在講解其防止辦法之前,數(shù)據(jù)庫管理員有必要先了解一下其攻擊的原理。這有利于管理員采取有針對(duì)性的防治措施。
SQL注入是目前比較常見的針對(duì)數(shù)據(jù)庫的一種攻擊方式。在這種攻擊方式中,攻擊者會(huì)將一些惡意代碼插入到字符串中。然后會(huì)通過各種手段將該字符串傳遞到SQLServer數(shù)據(jù)庫的實(shí)例中進(jìn)行分析和執(zhí)行。只要這個(gè)惡意代碼符合SQL語句的規(guī)則,則在代碼編譯與執(zhí)行的時(shí)候,就不會(huì)被系統(tǒng)所發(fā)現(xiàn)。
SQL注入式攻擊的主要形式有兩種。一是直接將代碼插入到與SQL命令串聯(lián)在一起并使得其以執(zhí)行的用戶輸入變量。上面筆者舉的例子就是采用了這種方法。由于其直接與SQL語句捆綁,故也被稱為直接注入式攻擊法。二是一種間接的攻擊方法,它將惡意代碼注入要在表中存儲(chǔ)或者作為原書據(jù)存儲(chǔ)的字符串。在存儲(chǔ)的字符串中會(huì)連接到一個(gè)動(dòng)態(tài)的SQL命令中,以執(zhí)行一些惡意的SQL代碼。
注入過程的工作方式是提前終止文本字符串,然后追加一個(gè)新的命令。如以直接注入式攻擊為例。就是在用戶輸入變量的時(shí)候,先用一個(gè)分號(hào)結(jié)束當(dāng)前的語句。然后再插入一個(gè)惡意SQL語句即可。由于插入的命令可能在執(zhí)行前追加其他字符串,因此攻擊者常常用注釋標(biāo)記“—”來終止注入的字符串。執(zhí)行時(shí),系統(tǒng)會(huì)認(rèn)為此后語句位注釋,故后續(xù)的文本將被忽略,不背編譯與執(zhí)行。
三、 SQL注入式攻擊的防治。
既然SQL注入式攻擊的危害這么大,那么該如何來防治呢?下面這些建議或許對(duì)數(shù)據(jù)庫管理員防治SQL注入式攻擊有一定的幫助。
1、 普通用戶與系統(tǒng)管理員用戶的權(quán)限要有嚴(yán)格的區(qū)分。
如果一個(gè)普通用戶在使用查詢語句中嵌入另一個(gè)Drop Table語句,那么是否允許執(zhí)行呢?由于Drop語句關(guān)系到數(shù)據(jù)庫的基本對(duì)象,故要操作這個(gè)語句用戶必須有相關(guān)的權(quán)限。在權(quán)限設(shè)計(jì)中,對(duì)于終端用戶,即應(yīng)用軟件的使用者,沒有必要給他們數(shù)據(jù)庫對(duì)象的建立、刪除等權(quán)限。那么即使在他們使用SQL語句中帶有嵌入式的惡意代碼,由于其用戶權(quán)限的限制,這些代碼也將無法被執(zhí)行。故應(yīng)用程序在設(shè)計(jì)的時(shí)候,最好把系統(tǒng)管理員的用戶與普通用戶區(qū)分開來。如此可以最大限度的減少注入式攻擊對(duì)數(shù)據(jù)庫帶來的危害。
2、 強(qiáng)迫使用參數(shù)化語句。
如果在編寫SQL語句的時(shí)候,用戶輸入的變量不是直接嵌入到SQL語句。而是通過參數(shù)來傳遞這個(gè)變量的話,那么就可以有效的防治SQL注入式攻擊。也就是說,用戶的輸入絕對(duì)不能夠直接被嵌入到SQL語句中。與此相反,用戶的輸入的內(nèi)容必須進(jìn)行過濾,或者使用參數(shù)化的語句來傳遞用戶輸入的變量。參數(shù)化的語句使用參數(shù)而不是將用戶輸入變量嵌入到SQL語句中。采用這種措施,可以杜絕大部分的SQL注入式攻擊。不過可惜的是,現(xiàn)在支持參數(shù)化語句的數(shù)據(jù)庫引擎并不多。不過數(shù)據(jù)庫工程師在開發(fā)產(chǎn)品的時(shí)候要盡量采用參數(shù)化語句。
3、 加強(qiáng)對(duì)用戶輸入的驗(yàn)證。
總體來說,防治SQL注入式攻擊可以采用兩種方法,一是加強(qiáng)對(duì)用戶輸入內(nèi)容的檢查與驗(yàn)證;二是強(qiáng)迫使用參數(shù)化語句來傳遞用戶輸入的內(nèi)容。在SQLServer數(shù)據(jù)庫中,有比較多的用戶輸入內(nèi)容驗(yàn)證工具,可以幫助管理員來對(duì)付SQL注入式攻擊。測(cè)試字符串變量的內(nèi)容,只接受所需的值。拒絕包含二進(jìn)制數(shù)據(jù)、轉(zhuǎn)義序列和注釋字符的輸入內(nèi)容。這有助于防止腳本注入,防止某些緩沖區(qū)溢出攻擊。測(cè)試用戶輸入內(nèi)容的大小和數(shù)據(jù)類型,強(qiáng)制執(zhí)行適當(dāng)?shù)南拗婆c轉(zhuǎn)換。這即有助于防止有意造成的緩沖區(qū)溢出,對(duì)于防治注入式攻擊有比較明顯的效果。
如可以使用存儲(chǔ)過程來驗(yàn)證用戶的輸入。利用存儲(chǔ)過程可以實(shí)現(xiàn)對(duì)用戶輸入變量的過濾,如拒絕一些特殊的符號(hào)。如以上那個(gè)惡意代碼中,只要存儲(chǔ)過程把那個(gè)分號(hào)過濾掉,那么這個(gè)惡意代碼也就沒有用武之地了。在執(zhí)行SQL語句之前,可以通過數(shù)據(jù)庫的存儲(chǔ)過程,來拒絕接納一些特殊的符號(hào)。在不影響數(shù)據(jù)庫應(yīng)用的前提下,應(yīng)該讓數(shù)據(jù)庫拒絕包含以下字符的輸入。如分號(hào)分隔符,它是SQL注入式攻擊的主要幫兇。如注釋分隔符。注釋只有在數(shù)據(jù)設(shè)計(jì)的時(shí)候用的到。一般用戶的查詢語句中沒有必要注釋的內(nèi)容,故可以直接把他拒絕掉,通常情況下這么做不會(huì)發(fā)生意外損失。把以上這些特殊符號(hào)拒絕掉,那么即使在SQL語句中嵌入了惡意代碼,他們也將毫無作為。
故始終通過測(cè)試類型、長(zhǎng)度、格式和范圍來驗(yàn)證用戶輸入,過濾用戶輸入的內(nèi)容。這是防止SQL注入式攻擊的常見并且行之有效的措施。
4、 多多使用SQL Server數(shù)據(jù)庫自帶的安全參數(shù)。
為了減少注入式攻擊對(duì)于SQL Server數(shù)據(jù)庫的不良影響,在SQLServer數(shù)據(jù)庫專門設(shè)計(jì)了相對(duì)安全的SQL參數(shù)。在數(shù)據(jù)庫設(shè)計(jì)過程中,工程師要盡量采用這些參數(shù)來杜絕惡意的SQL注入式攻擊。
如在SQL Server數(shù)據(jù)庫中提供了Parameters集合。這個(gè)集合提供了類型檢查和長(zhǎng)度驗(yàn)證的功能。如果管理員采用了Parameters這個(gè)集合的話,則用戶輸入的內(nèi)容將被視為字符值而不是可執(zhí)行代碼。即使用戶輸入的內(nèi)容中含有可執(zhí)行代碼,則數(shù)據(jù)庫也會(huì)過濾掉。因?yàn)榇藭r(shí)數(shù)據(jù)庫只把它當(dāng)作普通的字符來處理。使用Parameters集合的另外一個(gè)優(yōu)點(diǎn)是可以強(qiáng)制執(zhí)行類型和長(zhǎng)度檢查,范圍以外的值將觸發(fā)異常。如果用戶輸入的值不符合指定的類型與長(zhǎng)度約束,就會(huì)發(fā)生異常,并報(bào)告給管理員。如上面這個(gè)案例中,如果員工編號(hào)定義的數(shù)據(jù)類型為字符串型,長(zhǎng)度為10個(gè)字符。而用戶輸入的內(nèi)容雖然也是字符類型的數(shù)據(jù),但是其長(zhǎng)度達(dá)到了20個(gè)字符。則此時(shí)就會(huì)引發(fā)異常,因?yàn)橛脩糨斎氲膬?nèi)容長(zhǎng)度超過了數(shù)據(jù)庫字段長(zhǎng)度的限制。
5、 多層環(huán)境如何防治SQL注入式攻擊?
在多層應(yīng)用環(huán)境中,用戶輸入的所有數(shù)據(jù)都應(yīng)該在驗(yàn)證之后才能被允許進(jìn)入到可信區(qū)域。未通過驗(yàn)證過程的數(shù)據(jù)應(yīng)被數(shù)據(jù)庫拒絕,并向上一層返回一個(gè)錯(cuò)誤信息。實(shí)現(xiàn)多層驗(yàn)證。對(duì)無目的的惡意用戶采取的預(yù)防措施,對(duì)堅(jiān)定的攻擊者可能無效。更好的做法是在用戶界面和所有跨信任邊界的后續(xù)點(diǎn)上驗(yàn)證輸入。如在客戶端應(yīng)用程序中驗(yàn)證數(shù)據(jù)可以防止簡(jiǎn)單的腳本注入。但是,如果下一層認(rèn)為其輸入已通過驗(yàn)證,則任何可以繞過客戶端的惡意用戶就可以不受限制地訪問系統(tǒng)。故對(duì)于多層應(yīng)用環(huán)境,在防止注入式攻擊的時(shí)候,需要各層一起努力,在客戶端與數(shù)據(jù)庫端都要采用相應(yīng)的措施來防治SQL語句的注入式攻擊。
6、 必要的情況下使用專業(yè)的漏洞掃描工具來尋找可能被攻擊的點(diǎn)。
使用專業(yè)的漏洞掃描工具,可以幫助管理員來尋找可能被SQL注入式攻擊的點(diǎn)。不過漏洞掃描工具只能發(fā)現(xiàn)攻擊點(diǎn),而不能夠主動(dòng)起到防御SQL注入攻擊的作用。當(dāng)然這個(gè)工具也經(jīng)常被攻擊者拿來使用。如攻擊者可以利用這個(gè)工具自動(dòng)搜索攻擊目標(biāo)并實(shí)施攻擊。為此在必要的情況下,企業(yè)應(yīng)當(dāng)投資于一些專業(yè)的漏洞掃描工具。一個(gè)完善的漏洞掃描程序不同于網(wǎng)絡(luò)掃描程序,它專門查找數(shù)據(jù)庫中的SQL注入式漏洞。最新的漏洞掃描程序可以查找最新發(fā)現(xiàn)的漏洞。所以憑借專業(yè)的工具,可以幫助管理員發(fā)現(xiàn)SQL注入式漏洞,并提醒管理員采取積極的措施來預(yù)防SQL注入式攻擊。如果攻擊者能夠發(fā)現(xiàn)的SQL注入式漏洞數(shù)據(jù)庫管理員都發(fā)現(xiàn)了并采取了積極的措施堵住漏洞,那么攻擊者也就無從下手了。
如何防范黑客入侵網(wǎng)站的幾種常見安全方法
• 本文的目的是告訴企業(yè)在建網(wǎng)站時(shí)如何打造一個(gè)防范黑客攻擊的安全網(wǎng)站
• 互聯(lián)網(wǎng)隨著時(shí)間的發(fā)展,它的優(yōu)勢(shì)越來越來明顯,世界越來越多的企業(yè)通過這二十四小時(shí)不間斷的傳波平臺(tái),打造自己公司的網(wǎng)站,開展電子商務(wù)活動(dòng);由于互聯(lián)網(wǎng)的特殊性和復(fù)雜性,一旦你企業(yè)的網(wǎng)站接入互聯(lián)網(wǎng)后,你的企業(yè)網(wǎng)站便為一個(gè)公眾場(chǎng)所,任何人都可以上你的企業(yè)網(wǎng)站瀏覽信息,任何人(比如:黑客)都有可能對(duì)你的企業(yè)網(wǎng)站進(jìn)行技術(shù)上測(cè)試,查找你的企業(yè)網(wǎng)站在程序設(shè)計(jì)上的漏洞,不論他目的是惡意還其它原因,你都無法制止他的行為,因?yàn)楹诳驮谶h(yuǎn)程電腦上實(shí)施操作。
• 建設(shè)一個(gè)有安全系數(shù)保證的網(wǎng)站,關(guān)系著一個(gè)企業(yè)的商業(yè)信譽(yù)問題,面臨日夜猖狂、日益肆虐的網(wǎng)絡(luò)攻擊事件不斷發(fā)生,給自己的網(wǎng)站做一些最基本的安全防范措施是非常必要的。
• 非法字符過濾和轉(zhuǎn)換
• 黑客攻擊網(wǎng)站之前,先采用探路方式,通過網(wǎng)站的留言、論壇、搜索等系統(tǒng),注入可執(zhí)行的web腳本代碼和SQL語法,來達(dá)到入侵網(wǎng)站的目的;對(duì)網(wǎng)站所有交互式接口的文本輸入框(如:網(wǎng)站留言系統(tǒng)、BBS系統(tǒng)、blog系統(tǒng)、搜索系統(tǒng)、登陸系統(tǒng)等)的地方采取在客戶端非法字符過濾和轉(zhuǎn)換技術(shù),通過非法字符過濾和轉(zhuǎn)換將可執(zhí)行的惡意代碼變?yōu)榭勺xHTML代碼,使它基本失去了暴破網(wǎng)站的威力,又起到了保護(hù)網(wǎng)站程序源代碼不受破壞的作用。
• 建一個(gè)指定自定義出錯(cuò)(Error)的信息頁面
• 好處在于防止網(wǎng)站設(shè)計(jì)源代碼的溢出,黑客在入侵網(wǎng)站的后臺(tái)管理系統(tǒng),往往在網(wǎng)頁地址欄輸入可執(zhí)行的SQL語法和根據(jù)程序員為網(wǎng)頁命名的習(xí)慣輸入網(wǎng)址的文件名,一旦黑客采用這種方式,就會(huì)將黑客帶向指定自定義出錯(cuò)(Error)的信息頁面。
• 拒絕Cookie驗(yàn)證方式
• Cookie的好處在于管理員和注冊(cè)用戶登陸網(wǎng)站時(shí)Cookie會(huì)保存登陸信息,下次再登陸時(shí)Cookie會(huì)自動(dòng)將這些信息保留在登陸的頁面輸入文本框中,其作用是為了方便登陸者,但也給黑客采集Cookie的信息提供了良機(jī),所以應(yīng)該拒絕采用客戶端Cookie驗(yàn)證登陸方式,而改用通過服務(wù)器驗(yàn)證方式登陸并對(duì)賬號(hào)和密碼采用單向加密方式保存。
• 不要用自助建網(wǎng)站系統(tǒng)建你的企業(yè)網(wǎng)站
• 一些網(wǎng)站設(shè)計(jì)公司為了增加銷量降低成本(其實(shí)大部分客戶喜歡購買廉價(jià)的自助建網(wǎng)站系統(tǒng)),開發(fā)不同用途的自助建網(wǎng)站系統(tǒng)(如:網(wǎng)站內(nèi)容管理、BBS、新聞發(fā)布、留言、博客等),同時(shí)為了爭(zhēng)奪市場(chǎng)、擴(kuò)大產(chǎn)品知名度,往往兩種方式銷售產(chǎn)品:個(gè)人版可以免費(fèi)下載;商業(yè)版則需要購買;其實(shí)兩個(gè)版本的網(wǎng)站在是同一種程序技術(shù)基礎(chǔ)開發(fā)出來的,商業(yè)版是授權(quán)驗(yàn)證后可作商業(yè)用途,有技術(shù)支持和維護(hù)保證;黑客通過下載個(gè)人版,來潛心深研這些自助建網(wǎng)站系統(tǒng)的開放源代碼,從中找出程序漏洞,一旦發(fā)現(xiàn)了可攻擊的程序漏洞,通過搜索引擎平臺(tái)檢索出同一型號(hào)版本自建網(wǎng)站系統(tǒng),然后就發(fā)起攻擊;解決方式找有自主能力開發(fā)網(wǎng)站公司設(shè)計(jì)你的企業(yè)網(wǎng)站,通過將網(wǎng)站的設(shè)計(jì)源代碼封裝成“.dll”組件,這樣即保證網(wǎng)站設(shè)計(jì)上的安全性又保護(hù)了源代碼,又提高了網(wǎng)站的安全系數(shù)同時(shí)也降低了網(wǎng)站被入侵的危害程度,因?yàn)楹诳凸ハ菥W(wǎng)站往往是從研究網(wǎng)站源代碼開始并中找出程序漏洞。
• 解決Googel“暴庫”問題
• 一些程序員在開發(fā)網(wǎng)站喜歡用虛擬路徑方法調(diào)用數(shù)據(jù)庫,這就必須將數(shù)據(jù)庫保存在開通WWW服務(wù)的文件夾下,自然逃不過狡猾黑客的眼睛,一旦黑客破解了數(shù)據(jù)庫的真實(shí)保存位置,便可以從瀏覽器的地址欄打開和下載該數(shù)據(jù)庫,對(duì)網(wǎng)站的后果是非常危險(xiǎn)的;要想確保你網(wǎng)站的數(shù)據(jù)庫不被黑客下載,只要采取將數(shù)據(jù)庫保存在非WWW服務(wù)的文件夾下,通過物理(真實(shí))路徑方法調(diào)用數(shù)據(jù)庫,就可完全防止黑客下載你企業(yè)網(wǎng)站的數(shù)據(jù)庫。
• 建立robots文件
• 為了防止網(wǎng)站的重要文件夾(如:后臺(tái)管理)和文件(如:純程序文件)不被搜索引擎所收錄,首先在網(wǎng)站根目錄下建一個(gè)“robots.txt”純文本文件,來防止網(wǎng)站的重要文件或其它敏感信息被搜索引擎所收錄;最大多搜索引擎平臺(tái)都遵守robots協(xié)議;搜索引擎機(jī)器人訪問網(wǎng)站時(shí),首先找到網(wǎng)站根目錄下robots文件,然后會(huì)讀取robots文件的內(nèi)容,來確定它對(duì)網(wǎng)站收錄的范圍;robots文件可以說是對(duì)搜索引擎機(jī)器人收錄權(quán)限的限制管理,從而避免將網(wǎng)站的重要文件或其它敏感信息暴露在網(wǎng)絡(luò)上,在網(wǎng)站安全上起一個(gè)防御鎖作用,robots文件可由網(wǎng)站設(shè)計(jì)者在遵守robots協(xié)議下,根據(jù)網(wǎng)站的實(shí)際情況自由編寫。
• 完全將杜絕黑客的攻擊和入侵是不可能的,完全在網(wǎng)站的每個(gè)接口過濾和轉(zhuǎn)換非法字符串是辦不到,比如,在文件上傳時(shí),狡猾黑客會(huì)采取躲過過濾和轉(zhuǎn)換非法字符串的辦法,將可執(zhí)行惡意腳本代碼保存“.gif”格式或“.jpg”格式來實(shí)施文件上傳漏洞攻擊,解決的方法是對(duì)所有上傳的文件先導(dǎo)入到“.txt”純文本文件讀一遍,判斷是否是可執(zhí)行惡意腳本代碼,如果是就刪除,但是網(wǎng)站管理員要有web程序基礎(chǔ);黑客入侵網(wǎng)站的方式變化多端,幾千種免費(fèi)暴破網(wǎng)站的軟件,使你企業(yè)網(wǎng)站防不勝防,但是以上介紹幾種防御措施對(duì)菜鳥黑客是可行的,對(duì)于一些資深黑客,他也要費(fèi)一些精力和時(shí)間來暴破你企業(yè)網(wǎng)站,他會(huì)考慮值不值得?畢竟你的網(wǎng)站只是一個(gè)企業(yè)網(wǎng)站,不是銀行和證券交涉現(xiàn)金交易的網(wǎng)站(它們的程序設(shè)計(jì)安全系數(shù)更高),在大多數(shù)下情況,“大俠”黑客不會(huì)光顧你企業(yè)網(wǎng)站。
1、SQL注入漏洞的入侵
這種是ASP+ACCESS的網(wǎng)站入侵方式,通過注入點(diǎn)列出數(shù)據(jù)庫里面管理員的帳號(hào)和密碼信息,然后猜解出網(wǎng)站的后臺(tái)地址,然后用帳號(hào)和密碼登錄進(jìn)去找到文件上傳的地方,把ASP木馬上傳上去,獲得一個(gè)網(wǎng)站的WEBSHELL。這個(gè)是黑鏈?zhǔn)褂玫那耙徊糠?,?yīng)該比較常用吧。現(xiàn)在網(wǎng)上賣webshell的太多了。
2、ASP上傳漏洞的利用
這種技術(shù)方式是利用一些網(wǎng)站的ASP上傳功能來上傳ASP木馬的一種入侵方式,不少網(wǎng)站都限制了上傳文件的類型,一般來說ASP為后綴的文件都不允許上傳,但是這種限制是可以被黑客突破的,黑客可以采取COOKIE欺騙的方式來上傳ASP木馬,獲得網(wǎng)站的WEBSHELL權(quán)限。
3、后臺(tái)數(shù)據(jù)庫備份方式獲得WEBSHELL
這個(gè)主要是利用網(wǎng)站后臺(tái)對(duì)ACCESS數(shù)據(jù)庫進(jìn)行數(shù)據(jù)庫備份和恢復(fù)的功能,備份數(shù)據(jù)庫路徑等變量沒有過濾導(dǎo)致可以把任何文件的后綴改成ASP,那么利用網(wǎng)站上傳的功能上傳一個(gè)文件名改成JPG或者GIF后綴的ASP木馬,然后用這個(gè)恢復(fù)庫備份和恢復(fù)的功能把這個(gè)木馬恢復(fù)成ASP文件,從而達(dá)到能夠獲取網(wǎng)站W(wǎng)EBSHELL控制權(quán)限的目的。
4、網(wǎng)站旁注入侵
這種技術(shù)是通過IP綁定域名查詢的功能查出服務(wù)器上有多少網(wǎng)站,然后通過一些薄弱的網(wǎng)站實(shí)施入侵,拿到權(quán)限之后轉(zhuǎn)而控制服務(wù)器的其它網(wǎng)站。
下面這幾種我就聽不懂了,不過有點(diǎn)高技術(shù)的站長(zhǎng)會(huì)看懂的。
5、sa注入點(diǎn)利用的入侵技術(shù)
這種是ASP+MSSQL網(wǎng)站的入侵方式,找到有SA權(quán)限的SQL注入點(diǎn),然后用SQL數(shù)據(jù)庫的XP_CMDSHELL的存儲(chǔ)擴(kuò)展來運(yùn)行系統(tǒng)命令建立系統(tǒng)級(jí)別的帳號(hào),然后通過3389登錄進(jìn)去,或者在一臺(tái)肉雞上用NC開設(shè)一個(gè)監(jiān)聽端口,然后用VBS一句話木馬下載一個(gè)NC到服務(wù)器里面,接著運(yùn)行NC的反向連接命令,讓服務(wù)器反向連接到遠(yuǎn)程肉雞上,這樣遠(yuǎn)程肉雞就有了一個(gè)遠(yuǎn)程的系統(tǒng)管理員級(jí)別的控制權(quán)限。
6、sa弱密碼的入侵技術(shù)
這種方式是用掃描器探測(cè)SQL的帳號(hào)和密碼信息的方式拿到SA的密碼,然后用SQLEXEC之類的工具通過1433端口連接到遠(yuǎn)程服務(wù)器上,然后開設(shè)系統(tǒng)帳號(hào),通過3389登錄。然后這種入侵方式還可以配合WEBSHELL來使用,一般的ASP+MSSQL 網(wǎng)站通常會(huì)把MSSQL的連接密碼寫到一個(gè)配置文件當(dāng)中,這個(gè)可以用WEBSHELL來讀取配置文件里面的SA密碼,然后可以上傳一個(gè)SQL木馬的方式來獲取系統(tǒng)的控制權(quán)限。
7、提交一句話木馬的入侵方式
這種技術(shù)方式是對(duì)一些數(shù)據(jù)庫地址被改成asp文件的網(wǎng)站來實(shí)施入侵的。黑客通過網(wǎng)站的留言版,論壇系統(tǒng)等功能提交一句話木馬到數(shù)據(jù)庫里面,然后在木馬客戶端里面輸入這個(gè)網(wǎng)站的數(shù)據(jù)庫地址并提交,就可以把一個(gè)ASP木馬寫入到網(wǎng)站里面,獲取網(wǎng)站的WEBSHELL權(quán)限。
8、論壇漏洞利用入侵方式
這種技術(shù)是利用一些論壇存在的安全漏洞來上傳ASP木馬獲得WEBSHELL權(quán)限,最典型的就是,動(dòng)網(wǎng)6.0版本,7.0版本都存在安全漏洞,拿7.0版本來說,注冊(cè)一個(gè)正常的用戶,然后用抓包工具抓取用戶提交一個(gè)ASP文件的COOKIE,然后用明小子之類的軟件采取COOKIE欺騙的上傳方式就可以上傳一個(gè)ASP木馬,獲得網(wǎng)站的WEBSHELL。
相關(guān)文章
- 這篇文章主要介紹了SQL注入黑客防線網(wǎng)站實(shí)例分析,需要的朋友可以參考下2017-05-19
ASP+PHP 標(biāo)準(zhǔn)sql注入語句(完整版)
這里為大家分享一下sql注入的一些語句,很多情況下由于程序員的安全意識(shí)薄弱或基本功不足就容易導(dǎo)致sql注入安全問題,建議大家多看一下網(wǎng)上的安全文章,最好的防范就是先學(xué)2017-05-19mysql 注入報(bào)錯(cuò)利用方法總結(jié)
這篇文章主要介紹了mysql 注入報(bào)錯(cuò)利用方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2016-10-08- SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會(huì)對(duì)SQL注入發(fā)出警報(bào),如果管理員沒查看IIS日志的習(xí)慣,可能被入2016-05-21
- 這篇文章主要為大家介紹了SQL注入測(cè)試實(shí)例分析,對(duì)于數(shù)據(jù)庫安全非常重要,需要的朋友可以參考下2014-08-06
- sqlmap 是一個(gè)自動(dòng)SQL 射入工具。本文收集了一些利用Sqlmap做注入測(cè)試的TIPS,其中也包含一點(diǎn)繞WAF的技巧,便于大家集中查閱,歡迎接樓補(bǔ)充、分享。2014-07-29
- 畢業(yè)開始從事winfrm到今年轉(zhuǎn)到 web ,在碼農(nóng)屆已經(jīng)足足混了快接近3年了,但是對(duì)安全方面的知識(shí)依舊薄弱,事實(shí)上是沒機(jī)會(huì)接觸相關(guān)開發(fā)……必須的各種借口。這幾天把sql注入2012-11-06
- java防SQL注入,最簡(jiǎn)單的辦法是杜絕SQL拼接,SQL注入攻擊能得逞是因?yàn)樵谠蠸QL語句中加入了新的邏輯2012-08-10
- web 頁面 一些sql注入語句小結(jié),對(duì)于開發(fā)人員來說一定要注意的事項(xiàng)。2012-03-12
手動(dòng)mysql 高級(jí)注入實(shí)例分析
為了 方便 自己隨手寫了個(gè) sql.php注入點(diǎn) 。經(jīng)典的 id沒有過濾 造成 sql語句帶入?yún)?shù) 形成注入, 對(duì)了 大家導(dǎo)入test.sql 這個(gè)數(shù)據(jù)庫文件吧2010-08-04