• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Python的WEB黑客攻擊技術(shù)分析研究

      2020-06-21 15:16賀軍忠
      軟件工程 2020年6期

      摘? 要:通過對Web黑客攻擊的語言分析研究,得知大部分黑客都以Python為攻擊語言,依托Internet對各種網(wǎng)絡(luò)服務(wù)器和客戶端進(jìn)行攻擊與密碼破解。文章著重從基于Python的各種Web攻擊目的入手,通過列舉的方法分析研究各種Web黑客攻擊技術(shù)與攻擊過程。根據(jù)各種基于Python的WEB黑客攻擊技術(shù)的攻擊方法,分析研究其攻擊過程,為企業(yè)等部門與單位的Web安全防護(hù)提供理論依據(jù)。

      關(guān)鍵詞:WEB攻擊;XSS攻擊;SQL注入;Web shell攻擊

      Abstract: With programming language analysis and research on Web hacking, Python is regarded as the most commonly used language on password cracking and attacking various network servers and clients. This article focuses on the purpose of various Web attacks using Python, and analyzes various Web hacking techniques and attack processes with examples. Based on the analysis of different Python-based Web hacking technics, the paper discusses attack processes, hoping to provide a theoretical basis for Web security protection of enterprises and organizations.

      Keywords: Web attack; Cross-Site Scripting (XSS) attack; SQL injection; Web shell attack

      1? ?引言(Introduction)

      目前,我們使用的大部分服務(wù)都是基于網(wǎng)絡(luò)的,而基于HTTP協(xié)議的Web是網(wǎng)絡(luò)服務(wù)的中心。如PC中使用的網(wǎng)易、淘寶等門戶網(wǎng)站,以及智能手機(jī)中使用的各種移動Web都屬于Web服務(wù)。為了保護(hù)系統(tǒng)安全,企業(yè)通常會關(guān)閉幾乎所有端口,但對外提供Web服務(wù)的80端口卻一直開放。比如我們常用的門戶網(wǎng)站網(wǎng)易(http//www.163.com)就使用80端口對外提供Web服務(wù)。輸入URL網(wǎng)址時,若不指定連接端口,則默認(rèn)連接80端口。Web服務(wù)器通過80端口向用戶PC傳送文本、圖像、文件、視頻等多種內(nèi)容,用戶通過相應(yīng)端口將ID、密碼等純文本以及大容量文件等上傳到Web服務(wù)器。像這樣,80端口應(yīng)用廣泛,但安全設(shè)備卻幾乎不對其進(jìn)行檢查。雖然很多企業(yè)配備了Web防火墻等設(shè)備,對應(yīng)用程序級別的黑客攻擊進(jìn)行探查防范,但面對不斷發(fā)展的各種web攻擊技術(shù),這種防范手段也不是萬能的。此時此刻,黑客們正在利用Web服務(wù)的工作機(jī)制嘗試發(fā)動致命攻擊。

      2? Python黑客攻擊的優(yōu)點(Advantages of Python hacking)

      Python語言具有易學(xué)易用的特點,且擁有各種強(qiáng)大功能。首先,Python支持功能強(qiáng)大的黑客攻擊模塊,其擁有用于支持黑客攻擊的豐富多樣的庫,比如pydbg、scapy、sqlmap、httplib等。目前,這些庫被廣泛應(yīng)用于各種黑客攻擊。其次,Python能夠訪問各種APl,Python提供了用于黑客可以訪問的Windows、Os X、Linux、Solaris、FreeBSD、OpenBSD等系統(tǒng)的ctypes庫,黑客借助它能鏈接以上系統(tǒng)提供的DLL與共享庫。第三,大多黑客攻擊工具為Python提供了APl,像Metasploit、sqlmap、Nmap等黑客工具都為Python提供了擴(kuò)展接口[1]。黑客們通過使用Python,可以將Metasploit、sqlmap、Nmap等工具改造得更加強(qiáng)大。第四,Python易學(xué)易用,這也是Python被好多黑客,尤其是新手所青睞的最重要一點,這對黑客攻擊而言是個巨大的優(yōu)勢。據(jù)中國企業(yè)數(shù)據(jù)治理聯(lián)盟數(shù)據(jù)空間統(tǒng)計分析,目前有9大編程語言是黑客最喜歡和青睞的語言,并對做了詳細(xì)分析排名,其Python僅次于R 語言排名第二。該統(tǒng)計報告指出Python 是行業(yè)人員正在轉(zhuǎn)換發(fā)展的方向。過去兩年里,很明顯存在由R向Python轉(zhuǎn)化的趨勢,Donnell說:“Python用途寬廣且靈活,所以人們蜂擁而至”[2]。掌握三四種編程語言是成為一名黑客所必需的,如C語言、C++、Jave與匯編語言,必須掌握。但其學(xué)習(xí)難度較大,要精通更是難上加難。而Python語言擁有各種強(qiáng)大功能,且具有易學(xué)易用的特點。所以Python語言成了黑客攻擊語言的首選。

      3? ?黑客攻擊的定義(Definition of hacking)

      Wikipedia中關(guān)于“黑客攻擊”的定義如下:“針對電子電路、計算機(jī)軟硬件、網(wǎng)絡(luò)、網(wǎng)頁等各種信息系統(tǒng),借助某種手段、技術(shù),使之執(zhí)行信息系統(tǒng)設(shè)計者、管理者、運營者預(yù)料之外的動作行為,或者設(shè)法獲取高于系統(tǒng)給定的權(quán)限,對相關(guān)信息進(jìn)行查閱、復(fù)制、修改等的一系列行為[3]?!背R姷暮诳凸舭ㄏ到y(tǒng)黑客攻擊、web黑客攻擊、應(yīng)用程序黑客攻擊和網(wǎng)絡(luò)黑客攻擊,黑客攻擊技術(shù)如圖1所示。

      4? 基于Python的Web 黑客攻擊技術(shù)(Web hacking technology based on Python)

      從本質(zhì)上說,計算機(jī)系統(tǒng)防范黑客攻擊的能力較差。計算機(jī)誕生之初,人們更多關(guān)注的是它的功能,而非安全。并且數(shù)十年中,計算機(jī)以單機(jī)形式運行,直到互聯(lián)網(wǎng)出現(xiàn),計算機(jī)系統(tǒng)才暴露在多個用戶面前。從此以后,黑客們便開始潛心研究計算機(jī)系統(tǒng)和各種攻擊技術(shù)。計算機(jī)提供的多種功能一方面為用戶帶來了極大的便利,另一方面也為黑客提供了實施攻擊的手段,其中Web黑客攻擊尤為突出。

      如圖2所示,Web系統(tǒng)一般由Internet瀏覽器、Web服務(wù)器、數(shù)據(jù)庫三部分組成,各部分功能劃分十分明確。瀏覽器用于處理用戶輸入,加工和接收來自Web服務(wù)器的數(shù)據(jù)并輸出到屏幕。Web服務(wù)器用于分析HTTP請求,并執(zhí)行相應(yīng)功能。需要處理數(shù)據(jù)時,Web服務(wù)器會連接數(shù)據(jù)庫執(zhí)行數(shù)據(jù)處理。數(shù)據(jù)庫用于管理數(shù)據(jù),支持?jǐn)?shù)據(jù)的輸入、更新與查詢等功能。

      黑客會惡意使用Web系統(tǒng)提供的功能。比如利用文件上傳功能,將Web shell文件與惡意代碼上傳到Web服務(wù)器,然后運行Web shell文件,獲取上傳文件所在位置,進(jìn)而控制Web服務(wù)器。黑客利用用戶輸入功能可以實施SQL注人攻擊,通過輸入非正常SQL查詢評句獲取Web服務(wù)器的錯誤信息,并對這些信息加以分析,進(jìn)而實施攻擊[4]。利用文件下載功能,可以將惡意代碼散布到網(wǎng)絡(luò)上的多臺PC。網(wǎng)絡(luò)瀏覽器中運行的HTML與腳本代碼可以被惡意用于開展XSS攻擊與CSRF攻擊等。下面就各種Web攻擊進(jìn)行分析研究與比較。

      4.1? ?XSS攻擊

      XSS(Cross-Site Scriptig,跨站腳本攻擊),Cross-Site Scriptig其縮寫為CSS,這與層疊樣式表(Cascading Style Sheets,CSS)易于混淆,黑客界約定跨站腳本攻擊為XSS[5]。其很容易用Python中單例模式進(jìn)行,XSS技術(shù)將包含惡意代碼的腳本植入布告板的公告,感染閱讀公告的用戶PC,從中盜取用戶個人信息。惡意代碼大多數(shù)是腳本代碼,它讀取Cookie,并將其發(fā)送到特定URL。XSS攻擊的主要步驟是:黑客首先通過Inernet將XSS腳本上傳到WEB服務(wù)器公告板等平臺,互聯(lián)網(wǎng)用戶通過正常請求Web 服務(wù)器等公告板,此時XSS腳本便會響應(yīng)正常用戶,并在用戶PC上運行XSS腳本,并將Cookie文件傳回Hacker PC。就這樣閱讀公告的過程中,其個人信息就會不知不覺地泄露。隨著瀏覽器安全性增強(qiáng),以及Web防火墻等設(shè)備的應(yīng)用,XSS攻擊的成功率已經(jīng)大幅降低。

      4.2? ?CSRF攻擊

      CSRF(Cros Site Request Forgery,跨站請求偽造)類似于XSS攻擊,它也將惡意代碼插入公告板,用戶閱讀相應(yīng)公告時即受到攻擊。其與XSS不同之處是XSS攻擊主要從用戶PC非法盜取個人信息,而CSRF主要通過用戶PC對Web服務(wù)器發(fā)動攻擊。就黑客攻擊類型而言,CSRF攻擊既可以使Web服務(wù)器癱瘓,也可以用于盜取敏感信息,對于部分黑客來說無疑是兩全其美,其攻擊過程如圖3所示。

      4.3? ?網(wǎng)絡(luò)釣魚

      網(wǎng)絡(luò)釣魚(Phinshing)是指黑客通過精心設(shè)計與銀行等類似的假冒網(wǎng)站,騙取受害人在這些網(wǎng)站輸入的金融信息或個人敏感信息。首先,黑客向用戶發(fā)送聲稱來自銀行或其他知名機(jī)構(gòu)的欺詐性郵件或鏈接信息,用戶打開電子郵件或點擊其中鏈接,就會進(jìn)入黑客精心偽造的釣魚網(wǎng)站。用戶可能將這些網(wǎng)站誤認(rèn)為正規(guī)網(wǎng)站,而在其中輸入用戶名與密碼。假冒網(wǎng)站就會保存用戶的這些信息,黑客利用這些輸入信息發(fā)動更深層次的攻擊,其攻擊過程如圖4所示。

      4.4? ?域欺騙

      域欺騙(Pharming)攻擊中,黑客首先入侵DNS服務(wù)器,修改正常的網(wǎng)站域名與IP對照表,將仿冒網(wǎng)站的IP地址發(fā)送給用戶瀏覽器,從而將用戶引導(dǎo)至精心設(shè)計的仿冒網(wǎng)站。這樣,用戶在這些網(wǎng)站輸入的個人信息就會被偷偷盜走,此攻擊類似網(wǎng)絡(luò)釣魚攻擊。不同之處是域欺騙是偽裝DNS,用戶并不知情,其攻擊過程如圖5所示。

      4.5? ?SQL注入

      SQL注入主要利用HTML input標(biāo)簽發(fā)動攻擊。首先,瀏覽器接收用戶輸入的賬號與密碼,并將其發(fā)送給Web服務(wù)器。Web服務(wù)器通過SQL語句查詢數(shù)據(jù)庫,比對是否存在與輸入的賬號和密碼一致的用戶信息。此時,黑客向用戶賬號與密碼中輸入的不是正常值,而是一些能夠誘使數(shù)據(jù)庫產(chǎn)生錯誤行為的值。比如,將類似于OR 1=1;/*,數(shù)據(jù)庫將忽略條件返回所有值。黑客通過反復(fù)輸入非正常的SQL語句,并分析數(shù)據(jù)庫返回的數(shù)據(jù),從而得到最適合對系統(tǒng)進(jìn)行攻擊的SQL語句[6]。SQL注入攻擊在Python的sqlmap模塊下只需5步即可完成。分別是第1步搜索URL、第2步尋找漏洞、第3步搜索數(shù)據(jù)表、第4步搜索列、第5步訪問數(shù)據(jù),其攻擊過程如圖6所示。

      4.6? ?Web shell

      Web shell惡意利用了Web提供的文件上傳功能。首先,黑客將用于遠(yuǎn)程操縱服務(wù)器的Web shell文件上傳到Web服務(wù)器,然后找到上傳文件所在位置,得到訪問Web shell文件的URL地址。然后,通過該URL地址運行Web shell文件,獲取可以控制操作系統(tǒng)的超級權(quán)限。Web shell攻擊利用Python提供的fileupload等模塊也比較容易實現(xiàn)[7]。近來,Web shell 與SQL注入都成為實施Web黑客攻擊最強(qiáng)大的技術(shù),其攻擊過程如圖7所示。

      5? ?結(jié)論(Conclusion)

      為了防范web黑客攻擊,幾乎所有企業(yè)都安裝了諸如防火墻、IPS、IDS等多種安全設(shè)備。盡管如此,它們還是不得不向網(wǎng)絡(luò)暴露一些端口,以對外提供Web服務(wù)。為了確保安全,這些公司使用了類似于Web防火墻的設(shè)備,但對黑客而言,Web系統(tǒng)仍然是最誘人的攻擊對象。文章通過對Python語言的分析,得知大部分黑客以其為攻擊語言。在利用Python提供的豐富模塊進(jìn)行各種攻擊,本研究對各種基于Python的Web黑客攻擊技術(shù)進(jìn)行分析與比較,有助于企業(yè)等進(jìn)行針對性的防護(hù)。

      參考文獻(xiàn)(References)

      [1] 張雅楠,唐陽山,田國紅,等.基于Python數(shù)據(jù)處理的不安全駕駛行為研究[J].遼寧工業(yè)大學(xué)學(xué)報(自然科學(xué)版),2019,39(06):381-383;388.

      [2] 數(shù)據(jù)處理的9大編程語言[EB/OL].http://www.chinaedg.com/shujuzhishixuexi/zhishipuji/2019-06-17/1876.html,2019-6-17/2019-11-25.

      [3] 潘崇霞,仲偉俊,梅姝娥.不同攻擊類型下風(fēng)險厭惡型企業(yè)信息安全投資策略[J].系統(tǒng)工程學(xué)報,2019,34(04):497-510.

      [4]姜鵬.Web應(yīng)用程序安全的“七宗罪”解析[J].計算機(jī)與網(wǎng)絡(luò),2018,44(09):50-51.

      [5] 丁媛媛.計算機(jī)網(wǎng)絡(luò)病毒防治技術(shù)及如何防范黑客攻擊探討[J].赤峰學(xué)院學(xué)報(自然科學(xué)版),2012,28(08):41-42.

      [6] 楚翔皓,劉震.基于LSTM神經(jīng)網(wǎng)絡(luò)的SQL注入攻擊檢測研究[J].天津理工大學(xué)學(xué)報,2019,35(06):41-46.

      [7] Yu Li, Jin Huang, Ademola Ikusan, et al. ShellBreaker:Automatically detecting PHP-based malicious web shells[J]. Computers & Security, 2019(87): 101-108.

      作者簡介:

      賀軍忠(1982-),男,碩士,網(wǎng)絡(luò)工程師/講師.研究領(lǐng)域:網(wǎng)絡(luò)組建與信息安全.

      道真| 枣阳市| 江达县| 庆城县| 瑞丽市| 林周县| 全南县| 兰西县| 体育| 施秉县| 梁山县| 大同县| 年辖:市辖区| 天门市| 南开区| 雷州市| 西藏| 宝清县| 正定县| 扬州市| 天等县| 承德市| 汤阴县| 尖扎县| 辽宁省| 孟州市| 施秉县| 南昌县| 绥宁县| 渭源县| 油尖旺区| 滦南县| 泸溪县| 永福县| 昭平县| 遂宁市| 丹江口市| 乌苏市| 哈巴河县| 达日县| 革吉县|