




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第7章:計算機網(wǎng)絡(luò)技術(shù)要點計算機網(wǎng)絡(luò)
HTTP/HTTPS/SSL/TSL協(xié)議
TCP/UDP協(xié)議語音傳輸協(xié)議視頻傳輸協(xié)議相關(guān)安全漏洞披露1計算機網(wǎng)絡(luò)計算機網(wǎng)絡(luò)技術(shù)是通信技術(shù)與計算機技術(shù)相結(jié)合的產(chǎn)物。計算機網(wǎng)絡(luò)是按照網(wǎng)絡(luò)協(xié)議,將地球上分散的、獨立的計算機相互連接的集合。連接介質(zhì)可以是電纜、雙絞線、光纖、微波、載波或通信衛(wèi)星。計算機網(wǎng)絡(luò)具有共享硬件、軟件和數(shù)據(jù)資源的功能,具有對共享數(shù)據(jù)資源集中處理及管理和維護的能力。1.1計算機網(wǎng)絡(luò)發(fā)展第一階段:誕生階段20世紀60年代中期之前的第一代計算機網(wǎng)絡(luò)是以單個計算機為中心的遠程聯(lián)機系統(tǒng)。第二階段:形成階段20世紀60年代中期至70年代的第二代計算機網(wǎng)絡(luò)是以多個主機通過通信線路互聯(lián)起來,為用戶提供服務(wù),興起于60年代后期,典型代表是美國國防部高級研究計劃局協(xié)助開發(fā)的ARPANET。第三階段:互聯(lián)互通階段20世紀70年代末至90年代的第三代計算機網(wǎng)絡(luò)是具有統(tǒng)一的網(wǎng)絡(luò)體系結(jié)構(gòu)并遵循國際標準的開放式和標準化的網(wǎng)絡(luò)。第四階段:高速網(wǎng)絡(luò)技術(shù)階段20世紀90年代末至今的第四代計算機網(wǎng)絡(luò),由于局域網(wǎng)技術(shù)發(fā)展成熟,出現(xiàn)光纖及高速網(wǎng)絡(luò)技術(shù)、多媒體網(wǎng)絡(luò)、智能網(wǎng)絡(luò),整個網(wǎng)絡(luò)就像一個對用戶透明的大的計算機系統(tǒng),發(fā)展為以Internet為代表的互聯(lián)網(wǎng)。1.2OSI七層網(wǎng)絡(luò)模型OSI自底向上七層網(wǎng)絡(luò)模型:1)物理層2)數(shù)據(jù)鏈路層3)網(wǎng)絡(luò)層4)傳輸層5)會話層6)表示層7)應(yīng)用層1.3TCP/IP協(xié)議族TCP/IP協(xié)議簇是Internet的基礎(chǔ),也是當今最流行的組網(wǎng)形式。TCP/IP是一組協(xié)議的代名詞,包括許多別的協(xié)議,組成了TCP/IP協(xié)議簇。其中比較重要的有SLIP協(xié)議、PPP協(xié)議、IP協(xié)議、ICMP協(xié)議、ARP協(xié)議、TCP協(xié)議、UDP協(xié)議、FTP協(xié)議、DNS協(xié)議、SMTP協(xié)議等。IP協(xié)議即互聯(lián)網(wǎng)協(xié)議(InternetProtocol),它將多個網(wǎng)絡(luò)連成一個互聯(lián)網(wǎng),可以把高層的數(shù)據(jù)以多個數(shù)據(jù)包的形式通過互聯(lián)網(wǎng)分發(fā)出去。ICMP協(xié)議即互聯(lián)網(wǎng)控制報文協(xié)議。從IP互聯(lián)網(wǎng)協(xié)議的功能,可以知道IP提供的是一種不可靠的無連接報文分組傳送服務(wù)。ARP協(xié)議即傳輸控制協(xié)議,它提供的是一種可靠的數(shù)據(jù)流服務(wù)。UDP協(xié)議即用戶數(shù)據(jù)包協(xié)議,它是對IP協(xié)議組的擴充,它增加了一種機制,發(fā)送方可以區(qū)分一臺計算機上的多個接收者。FTP協(xié)議即文件傳輸協(xié)議,它是網(wǎng)際提供的用于訪問遠程機器的協(xié)議,它使用戶可以在本地機與遠程機之間進行有關(guān)文件的操作。DNS協(xié)議即域名服務(wù)協(xié)議,它提供域名到IP地址的轉(zhuǎn)換,允許對域名資源進行分散管理。SMTP協(xié)議即簡單郵件傳送協(xié)議互聯(lián)網(wǎng)標準中的電子郵件是一個簡單的基于文本的協(xié)議,用于可靠、有效地數(shù)據(jù)傳輸。1.4TCP三次握手與四次揮手握手過程中傳送的包里不包含數(shù)據(jù),三次握手完畢后,客戶端與服務(wù)器才正式開始傳送數(shù)據(jù)。理想狀態(tài)下,TCP連接一旦建立,在通信雙方中的任何一方主動關(guān)閉連接之前,TCP連接都將被一直保持下去。三次握手可以形象記憶為:我要和你建立鏈接;你真的要和我建立鏈接么;我真的要和你建立鏈接,成功。1.5SYNFlood洪泛攻擊SYNFlood洪泛攻擊原理是:利用三次握手的規(guī)則,在客戶機向服務(wù)器發(fā)送請求后,在服務(wù)器發(fā)送SYN-ACK后下線,服務(wù)器則無法收到ACK確認,服務(wù)器段則會不斷重試,重試間隔為1s、2s、4s、8s、16s、32s,在Linux默認狀況下會等待63s,如果有大量的連接重復此過程,則會造成服務(wù)器連接隊列耗盡,這就是洪泛攻擊的原理。防護措施:Linux下設(shè)置了TCP_SYN_Cookies參數(shù),若為正常連接,客戶機發(fā)回SYNCookie,如果為異常連接,就不發(fā)回,但也不會影響到連接隊列。建立連接后客戶機突然出現(xiàn)故障:服務(wù)器默認“?;顧C制”,會在一定時間內(nèi)發(fā)送請求,若幾次請求無應(yīng)答,則將該客戶機標識為不可達客戶機。1.6SocketSocket是對TCP/IP協(xié)議的抽象,是操作系統(tǒng)對外開發(fā)的接口。Socket是基于從打開,到讀或者寫,再到關(guān)閉的模式。Socket最初是加利福尼亞大學Berkeley分校為Unix系統(tǒng)開發(fā)的網(wǎng)絡(luò)通信接口。后來隨著TCP/IP網(wǎng)絡(luò)的發(fā)展,Socket成為最為通用的應(yīng)用程序接口,也是在Internet上進行應(yīng)用開發(fā)最為通用的API。為了滿足不同的通信程序?qū)νㄐ刨|(zhì)量和性能的要求,一般的網(wǎng)絡(luò)系統(tǒng)提供了三種不同類型的套接字,以供用戶在設(shè)計網(wǎng)絡(luò)應(yīng)用程序時根據(jù)不同的要求來選擇。這三種套接為:流式套接字(SOCK-STREAM)數(shù)據(jù)報套接字(SOCK-DGRAM)原始套接字(SOCK-RAW)。2HTTP/HTTPS/SSL/TSL協(xié)議萬維網(wǎng)WWW(WorldWideWeb)發(fā)源于歐洲日內(nèi)瓦量子物理實驗室CERN,正是WWW技術(shù)的出現(xiàn)使得因特網(wǎng)得以超乎想象的速度迅猛發(fā)展。這項基于TCP/IP的技術(shù)在短短的十年時間內(nèi)迅速成為已經(jīng)發(fā)展了幾十年的Internet上的規(guī)模最大的信息系統(tǒng),它的成功歸結(jié)于它的簡單、實用。在WWW的背后有一系列的協(xié)議和標準支持它完成如此宏大的工作,這就是Web協(xié)議族,其中就包括HTTP超文本傳輸協(xié)議。2.1HTTP/HTTPSHTTP(HyperTextTransferProtocol)是超文本傳輸協(xié)議,HTTPS(HyperTextTransferProtocolSecure)是超文本傳輸安全協(xié)議。HTTPS是一種以計算機網(wǎng)絡(luò)安全通信為目的的傳輸協(xié)議。HTTP是包含了IP、TCP、HTTP,而HTTPS比HTTP新增了SSL或者TLS。HTTP與HTTPS的主要區(qū)別:區(qū)別一:HTTPS需要到CA申請證書,HTTP不需要。區(qū)別二:HTTPS(HyperTextTransferProtocolSecure)是超文本加密傳輸協(xié)議,具有安全性的SSL加密傳輸協(xié)議,是密文傳輸,HTTP(HyperTextTransferProtocol)是超文本傳輸協(xié)議,是明文傳輸。區(qū)別三:連接方式的不同,端口的不同,HTTPS默認使用的端口是443端口,HTTP默認使用的端口是80端口。區(qū)別四:HTTPS=HTTP+加密+認證+完整性保護,SSL是有狀態(tài)的,而HTTP連接是無狀態(tài)的。2.2SSL/TLSSSL(SecureSocketLayer安全套接層)是基于HTTPS下的一個協(xié)議加密層,最初是由網(wǎng)景公司(Netscape)研發(fā),后被IETF(TheInternetEngineeringTaskForce-互聯(lián)網(wǎng)工程任務(wù)組)標準化后寫入(RFC:RequestForComments請求注釋),RFC里包含了很多互聯(lián)網(wǎng)技術(shù)的規(guī)范。TLS(TransportLayerSecurity傳輸層安全性協(xié)議),其前身是安全套接層(SSL)是一種安全協(xié)議,目的是為互聯(lián)網(wǎng)通信提供安全及數(shù)據(jù)完整性保障。TLS的主要目標是使SSL更安全,并使協(xié)議的規(guī)范更精確和完善。TLS在SSLv3.0的基礎(chǔ)上,提供了以下增加內(nèi)容:1)更安全的MAC算法。2)更嚴密的警報。3)“灰色區(qū)域”規(guī)范的更明確的定義。2.3Heartbleed心血漏洞Heartbleed(心臟出血),也簡稱為心血漏洞,是一個出現(xiàn)在加密程序庫OpenSSL的安全漏洞,該程序庫廣泛用于實現(xiàn)互聯(lián)網(wǎng)的傳輸層安全(TLS)協(xié)議。它于2012年被引入了軟件中,2014年4月首次向公眾披露。只要使用的是存在缺陷的OpenSSL版本,無論是服務(wù)器還是客戶端,都可能因此而受到攻擊。此問題的原因是在實現(xiàn)TLS的心跳擴展時沒有對輸入進行適當驗證(缺少邊界檢查),因此漏洞的名稱來源于“心跳”(heartbeat)。該程序錯誤屬于緩沖區(qū)過讀,即可以讀取的數(shù)據(jù)比應(yīng)該允許讀取的還多。受影響的OpenSSL版本:OpenSSL1.0.2-betaOpenSSL1.0.1-OpenSSL1.0.1f3TCP/UDP協(xié)議TCP和UDP協(xié)議是TCP/IP協(xié)議的核心。在TCP/IP網(wǎng)絡(luò)體系結(jié)構(gòu)中,TCP(TransportControlProtocol:傳輸控制協(xié)議)、UDP(UserDataProtocol:用戶數(shù)據(jù)報協(xié)議)是傳輸層最重要的兩種協(xié)議,為上層用戶提供級別的通信可靠性。其中TCP提供IP環(huán)境下的數(shù)據(jù)可靠傳輸,它提供的服務(wù)包括數(shù)據(jù)流傳送、可靠性、有效流控、全雙工操作和多路復用。通過面向連接、端到端和可靠的數(shù)據(jù)包發(fā)送。通俗說,它是事先為所發(fā)送的數(shù)據(jù)開辟出連接好的通道,然后再進行數(shù)據(jù)發(fā)送;而UDP則不為IP提供可靠性、流控或差錯恢復功能。一般來說,TCP對應(yīng)的是可靠性要求高的應(yīng)用,而UDP對應(yīng)的則是可靠性要求低、傳輸經(jīng)濟的應(yīng)用。3.1TCPTCP(傳輸控制協(xié)議)定義了兩臺計算機之間進行可靠的傳輸而交換的數(shù)據(jù)和確認信息的格式,以及計算機為了確保數(shù)據(jù)的正確到達而采取的措施。協(xié)議規(guī)定了TCP軟件怎樣識別給定計算機上的多個目的進程如何對分組重復這類差錯進行恢復。協(xié)議還規(guī)定了兩臺計算機如何初始化一個TCP數(shù)據(jù)流傳輸以及如何結(jié)束這一傳輸。TCP最大的特點就是提供的是面向連接、可靠的字節(jié)流服務(wù)??蛻舳伺c服務(wù)端在使用TCP傳輸協(xié)議時要先建立一個“通道”,在傳輸完畢之后又要關(guān)閉這“通道”,前者可以被形象地成為“三次握手”,而后者則可以被稱為“四次揮手”。3.2UDPUDP(用戶數(shù)據(jù)報協(xié)議)是一個簡單的面向數(shù)據(jù)報的傳輸層協(xié)議。提供的是非面向連接的、不可靠的數(shù)據(jù)流傳輸。UDP不提供可靠性,也不提供報文到達確認、排序以及流量控制等功能。它只是把應(yīng)用程序傳給IP層的數(shù)據(jù)報發(fā)送出去,但是并不能保證它們能到達目的地。因此報文可能會丟失、重復以及亂序等。但由于UDP在傳輸數(shù)據(jù)報前不用在客戶和服務(wù)器之間建立一個連接,且沒有超時重發(fā)等機制,故而傳輸速度很快。TCP與UDP的主要區(qū)別如下:1)TCP面向連接,UDP面向無連接。2)TCP可靠,UDP不可靠。3)TCP有序,UDP可能無序。4)TCP速度慢,UDP速度快。5)TCP重量級,UDP輕量級。4語音傳輸協(xié)議語音通信是實時通信,一定要保證實時性,不然用戶體驗會很糟糕。IETF設(shè)計了RTP來承載語音等實時性要求很高的數(shù)據(jù),同時設(shè)計了RTCP來保證服務(wù)質(zhì)量(RTP不保證服務(wù)質(zhì)量)。在傳輸層,一般選用UDP而不是TCP來承載RTP包。4.1VOIPVOIP即指IP網(wǎng)絡(luò)上使用IP協(xié)議以數(shù)據(jù)包的方式傳輸語音。使用VOIP協(xié)議,不管是因特網(wǎng)、企業(yè)內(nèi)部互連網(wǎng)還是局域網(wǎng)都可以實現(xiàn)語音通信。一個使用VOIP的網(wǎng)絡(luò)中,語音信號經(jīng)過數(shù)字化,壓縮并轉(zhuǎn)換成IP包,然后在IP網(wǎng)絡(luò)中進行傳輸。VOIP信令協(xié)議用于建立和取消呼叫,傳輸用于定位用戶以及協(xié)商能力所需的信息。VOIP系統(tǒng)中,在將編碼語音數(shù)據(jù)交給UDP進行傳輸之前,要利用RTP/RTCP協(xié)議進行處理。RTP/RTCP協(xié)議實際上包含RTP協(xié)議和RTCP協(xié)議兩部分。4.2RTP/RTCPRTP(Real-timeTransportProtocol:實時傳輸協(xié)議)是一個網(wǎng)絡(luò)傳輸協(xié)議,它是由IETF的多媒體傳輸工作小組1996年在RFC1889中公布的。RTP標準定義了兩個子協(xié)議,RTP和RTCP。RTCP(Real-timeTransportControlProtocol或RTPControlProtocol簡寫)是實時傳輸協(xié)議(RTP)的一個姐妹協(xié)議。RTCP與RTP聯(lián)合工作,RTP實施實際數(shù)據(jù)的傳輸,RTCP則負責將控制包送至電話中的每個人。其主要功能是就RTP正在提供的服務(wù)質(zhì)量做出反饋。數(shù)據(jù)傳輸協(xié)議RTP,用于實時傳輸數(shù)據(jù)。該協(xié)議提供的信息包括:時間戳(用于同步)、序列號(用于丟包和重排序檢測)、以及負載格式(用于說明數(shù)據(jù)的編碼格式)??刂茀f(xié)議RTCP,用于QoS(QualityofService:服務(wù)質(zhì)量)反饋和同步媒體流。相對于RTP來說,RTCP所占的帶寬非常小,通常只有5%。4.3SRTPVOIP網(wǎng)絡(luò)很不安全,這也是限制VOIP發(fā)展的一個考慮因素。為了提供一種策略滿足VOIP的安全,SRTP應(yīng)運而生。所謂SRTP,即安全實時傳輸協(xié)議(SecureReal-timeTransportProtocol),是在實時傳輸協(xié)議(Real-timeTransportProtocol)基礎(chǔ)上所定義的一個協(xié)議,旨在為單播和多播應(yīng)用程序中的實時傳輸協(xié)議的數(shù)據(jù)提供加密、消息認證、完整性保證和重放保護。5視頻傳輸協(xié)議近些年網(wǎng)絡(luò)直播平臺做的風生水起,特別是熊貓直播、斗魚、花椒等。作為構(gòu)建直播平臺的基礎(chǔ)之一的傳輸協(xié)議常見的有:RTMP、RTSP、HLS、SRT、NDI等。5.1RTMP&RTSPRTMP(RealTimeMessagingProtocol:實時消息傳輸協(xié)議)是由Adobe公司提出的,在互聯(lián)網(wǎng)TCP/IP五層體系結(jié)構(gòu)中應(yīng)用層,RTMP協(xié)議是基于TCP協(xié)議的,也就是說RTMP實際上是使用TCP作為傳輸協(xié)議。TCP協(xié)議處在傳輸層,是面向連接的協(xié)議,能夠為數(shù)據(jù)的傳輸提供可靠保障,因此數(shù)據(jù)在網(wǎng)絡(luò)上傳輸不會出現(xiàn)丟包的情況。RTSP(RealTimeStreamingProtocol)是TCP/UDP協(xié)議體系中的一個應(yīng)用層協(xié)議,由哥倫比亞大學,網(wǎng)景和RealNetworks公司提交的IETFRFC標準.該協(xié)議定義了一對多應(yīng)用程序如何有效地通過IP網(wǎng)絡(luò)傳輸多媒體數(shù)據(jù)。RTSP在體系結(jié)構(gòu)上位于RTP和RTCP之上,它使用TCP或者RTP完成數(shù)據(jù)傳輸,目前市場上大多數(shù)采用RTP來傳輸媒體數(shù)據(jù)。5.2HLS&SRT&NDIHLS(HTTPLiveStreaming)是一個由蘋果公司提出的基于Http協(xié)議的的流媒體網(wǎng)絡(luò)傳輸協(xié)議。是蘋果公司QuickTimeX和iPhone軟件系統(tǒng)的一部分。它的工作原理是把整個流分成一個個小的基于HTTP的文件來下載,每次只下載一些。當媒體流正在播放時,客戶端可以選擇從許多不同的備用源中以不同的速率下載同樣的資源,允許流媒體會話適應(yīng)不同的數(shù)據(jù)速率。在開始一個流媒體會話時,客戶端會下載一個包含元數(shù)據(jù)的extendedM3U(m3u8)playlist文件,用于尋找可用的媒體流。SRT(SecureReliableTransport)由Haivision和Wowza合作成立的,管理和支持SRT協(xié)議開源應(yīng)用的組織,這個組織致力于促進視頻流解決方案的互通性,以及推動視頻產(chǎn)業(yè)先驅(qū)協(xié)作前進,實現(xiàn)低延時網(wǎng)絡(luò)視頻傳輸。NDI(NetworkDeviceInterface)是種IP網(wǎng)絡(luò)設(shè)備接口協(xié)議。就是通過IP網(wǎng)絡(luò)進行超低延時、無損傳輸、交互控制的標準協(xié)議;使視頻兼容產(chǎn)品通過局域網(wǎng)進行視頻共享的開放式協(xié)議,就是通過IP網(wǎng)絡(luò)進行超低延時、無損傳輸、交互控制的標準協(xié)議。NDI是使視頻兼容產(chǎn)品通過局域網(wǎng)進行視頻共享的開放式協(xié)議。6近期網(wǎng)絡(luò)相關(guān)安全漏洞披露漏洞號影響產(chǎn)品漏洞描述CNVD-2019-45137axTLSaxTLS<=2.1.5axTLS是一款高度可配置的客戶端/服務(wù)器TLS庫。axTLS2.1.5及之前版本中的asn1.c文件的‘a(chǎn)sn1_signature’函數(shù)存在安全漏洞。攻擊者可利用該漏洞造成拒絕服務(wù)。CNVD-2020-22320GnutlsGnuTLS<3.6.13GnuTLS是一款免費的用于實現(xiàn)SSL、TLS和DTLS協(xié)議的安全通信庫。GnuTLS3.6.13之前版本中存在加密問題漏洞。該漏洞源于網(wǎng)絡(luò)系統(tǒng)或產(chǎn)品未正確使用相關(guān)密碼算法,導致內(nèi)容未正確加密、弱加密、明文存儲敏感信息等。CNVD-2020-19875ARMmbedTLS<2.6.15ARMmbedTLS是一個SSL庫。ArmMbedTLS2.6.15之前版本存在信息泄露漏洞。攻擊者可通過監(jiān)測導入期間的緩存使用情況,利用該漏洞獲取敏感信息(RSA私鑰)。CNVD-2019-31354LimesurveyLimeSurvey<3.17.14Limesurvey是一款開源在線問卷調(diào)查程序,具有問卷的設(shè)計、修改、發(fā)布、回收和統(tǒng)計等多項功能。Limesurvey3.17.14之前版本存在SSL/TLS使用漏洞。該漏洞源于Limesurvey在默認配置中不強制使用SSL/TLS。CNVD-2018-23260HuaweieSpace7950V200R003C30HuaweieSpace7950是中國華為公司的7950系列IP話機產(chǎn)品。華為eSace產(chǎn)品存在使用匿名TLS算法套的安全漏洞。由于認證不充分,攻擊者在用戶通過TLS注冊登錄時發(fā)起中間人攻擊來截獲客戶端的連接。攻擊者成功利用漏洞后可以截獲并篡改數(shù)據(jù)信息。CNVD-2020-15557Lualua-openssl0.7.7-1lua-openssl是Lua的OpenSSL綁定。lua-openssl0.7.7-1中的openssl_x509_check_ip_asc存在X.509證書驗證處理不當漏洞。該漏洞源于lua-openssl將lua_pushboolean用于某些非布爾返回值。CNVD-2020-03864OpensslOpenssl>=1.1.1,<=1.1.1dOpensslOpenssl>=1.0.2,<=1.0.2tOpenSSL1.1.1版本至1.1.1d版本和1.0.2版本至1.0.2t版本中存在緩沖區(qū)溢出漏洞。該漏洞源于網(wǎng)絡(luò)系統(tǒng)或產(chǎn)品在內(nèi)存上執(zhí)行操作時,未正確驗證數(shù)據(jù)邊界,導致向關(guān)聯(lián)的其他內(nèi)存位置上執(zhí)行了錯誤的讀寫操作。攻擊者可利用該漏洞導致緩沖區(qū)溢出或堆溢出等。CNVD-2018-06538OpenSSLOpenSSL>=1.1.0,<=1.1.0gOpenSSL是一種開放源碼的SSL實現(xiàn),用來實現(xiàn)網(wǎng)絡(luò)通信的高強度加密。OpenSSL1.1.0-1.1.0g版本PA-RISCCRYPTO_memcmp函數(shù)實現(xiàn)中存在安全漏洞,攻擊者通過構(gòu)造消息利用此漏洞可繞過安全限制。第8章:注入攻擊要點注入攻擊采用的技術(shù)
SQL注入攻擊
CRLF注入攻擊
XPath注入攻擊
Template注入攻擊實例:Testfire網(wǎng)站有SQL注入攻擊風險相關(guān)安全漏洞披露1注入攻擊采用的技術(shù)注入攻擊應(yīng)用場合不同,采用的技術(shù)也不同。SQL注入攻擊利用的是SQL語法,HTML注入攻擊用的是HTML語法,CRLF注入攻擊利用的是HTTP頭與HTTPBody的回車與換行語法,XPath注入攻擊用的是XML語法,Template注入攻擊用的是各自語言中的Template語法。通過對各自語法的掌握,設(shè)計精巧的代碼段,進行注入攻擊。這其中最為著名的是SQL注入攻擊,連續(xù)多年排名于十大Web安全攻擊之首。2SQL注入攻擊所謂SQL注入,就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務(wù)器執(zhí)行惡意的SQL命令。具體來說,它是利用現(xiàn)有應(yīng)用程序,將(惡意的)SQL命令注入到后臺數(shù)據(jù)庫引擎執(zhí)行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到存在安全漏洞網(wǎng)站數(shù)據(jù)庫上的任意數(shù)據(jù),而不是按照設(shè)計者意圖去執(zhí)行SQL語句。2.1SQL注入攻擊手法SQL注入攻擊是通過構(gòu)建特殊的輸入作為參數(shù)傳入到Web應(yīng)用程序中,而這些輸入大多是SQL語法里的一些組合,通過執(zhí)行SQL語句進而執(zhí)行攻擊者所要的操作,致使非法數(shù)據(jù)侵入系統(tǒng)。典型的攻擊案例:比如一個登錄頁面,需要輸入正確的用戶名與密碼,才能登錄成功。而攻擊者因為熟悉SQL語法,所以將用戶名與密碼分別填寫為以下兩種:用戶名1:'or'1'='1密碼1:'or'1'='1用戶名2:admin'--密碼2:任意字符如果系統(tǒng)沒有做相應(yīng)的SQL注入攻擊防護,將會導致將用戶填入的信息直接與數(shù)據(jù)庫中的記錄進行比對查詢。語句1:SELECT*fromUsersWHEREusername=''or'1'='1'ANDpassword=''or'1'='1'。語句2:SELECT*fromUsersWHEREusername='admin'--ANDpassword=XXXXX。通過語句1,可以看出'1'='1'是永真的,所以一定能查詢到記錄并返回。通過語句2,可以看出--之后,在SQL語言中是注釋語法,所以不管密碼輸入的任意字符都不會真正起作用,真正有效的是,只要系統(tǒng)中有admin這個賬戶,攻擊者就能利用第二種攻擊手法。2.2SQL注入攻擊防護方法1.對SQL注入防護最為關(guān)鍵的方法永遠不要使用動態(tài)拼裝SQL,推薦使用參數(shù)化的SQL或者直接使用存儲過程進行數(shù)據(jù)查詢存取。SQL注入最主要的攻擊對象就是動態(tài)拼裝的SQL,通過參數(shù)化查詢可以極大減少SQL注入的風險。同時以下的防護措施對SQL注入攻擊也是一種緩和:(1)永遠不要使用管理員權(quán)限的數(shù)據(jù)庫連接(sa、root、admin),為每個應(yīng)用使用單獨的專用的低特權(quán)賬戶進行有限的數(shù)據(jù)庫連接。(2)不要把機密信息明文存放,請加密或者hash掉密碼和敏感的信息。這樣攻擊者就算獲取到整個表的數(shù)據(jù)內(nèi)容,也沒什么價值。
(3)應(yīng)用的異常信息應(yīng)該給出盡可能少的提示,最好使用自定義的錯誤信息對原始錯誤信息進行包裝,
把異常信息輸出到日志而不是在頁面中展示。更多請參考書籍3HTML注入攻擊HTML注入,實際上是一個網(wǎng)站允許惡意用戶,通過不正確處理用戶輸入而將HTML注入其網(wǎng)頁的一種攻擊。換句話說,HTML注入漏洞是由接收HTML引起的,通常是通過某種表單輸入,然后在網(wǎng)頁上呈現(xiàn)用戶輸入的內(nèi)容。由于HTML是用于定義網(wǎng)頁結(jié)構(gòu)的語言,如果攻擊者可以注入HTML,它們實質(zhì)上可以改變?yōu)g覽器呈現(xiàn)的內(nèi)容和網(wǎng)頁的外觀。有時,這可能會導致完全改變頁面的外觀,或者在其他情況下,創(chuàng)建HTML表單以欺騙用戶,希望用戶使用表單提交敏感信息(這稱為網(wǎng)絡(luò)釣魚)。3.1HTML注入攻擊手法HTML注入攻擊利用HTML的語言特點,在網(wǎng)站文本框中,輸入類似于HTML語法中預定義的<tr>、<td>、<input>、</td>、</tr>等內(nèi)容。如果系統(tǒng)沒有做防護,而是將這些數(shù)據(jù)直接顯示到頁面的時候,就會產(chǎn)生HTML攻擊。典型的攻擊案例:比如一個網(wǎng)站有搜索框,可以依照用戶輸入的內(nèi)容進行查詢。而攻擊者因為熟悉HTML語法,所以將搜索框內(nèi)容分別填寫為以下兩種:搜索內(nèi)容1:<Strong>網(wǎng)絡(luò)空間安全技術(shù)</Strong>搜索內(nèi)容2:<inputtype='text'如果系統(tǒng)沒有做相應(yīng)的HTML注入攻擊防護,將會導致將用戶填入的數(shù)據(jù)直接展示到網(wǎng)頁上,可能出現(xiàn)意想不到的攻擊效果。3.2HTML注入攻擊防護方法能引起HTML注入,主要原因是沒有凈化輸入和對輸出沒有進行適當?shù)木幋a就直接輸出。平常網(wǎng)頁沒做任何防護,或者開發(fā)者沒有相應(yīng)的安全意識,就容易出現(xiàn)HTML注入攻擊。能防護HTML注入正確代碼段:凈化用戶輸入,消除HTML注入攻擊。publicstaticStringremoveHTMLTag(Stringtemp){
temp=temp.replaceAll("<[^>]*>","");
temp=temp.replaceAll("","");
temp=temp.trim();
returntemp;}如果確認用戶輸入的內(nèi)容不能包含HTML標簽,那么就可以直接刪除用戶的HTML標簽,讓攻擊無效。對所有用戶輸入的內(nèi)容,在使用前調(diào)用這個方法進行凈化后再使用。在頁面輸出展示前,也可以根據(jù)將要輸出顯示的場景進行合適的編碼,防止HTML注入攻擊產(chǎn)生。4CRLF注入攻擊CRLF(CarriageReturnLineFeed)注入,CRLF是“回車+換行”(\r\n)的簡稱。在HTTP協(xié)議中,HTTPHeader與HTTPBody是用兩個CRLF分隔的,瀏覽器就是根據(jù)這兩個CRLF取出HTTP內(nèi)容并顯示出來。所以,一旦惡意用戶能夠控制HTTP消息頭中的字符并注入一些惡意的換行,這樣惡意用戶就能注入一些會話Cookie或者HTML代碼,所以CRLF注入又叫HTTPResponseSplitting,簡稱HRS。4.1CRLF注入攻擊手法常見CRLF注入攻擊舉例:1)通過CRLF注入構(gòu)造會話固定漏洞請求參數(shù)中插入新的Cookie:%0aSet-cookie:sessionid%3Devil服務(wù)器返回:HTTP/1.1200OKLocation:Set-cookie:sessionid=evil2)通過CRLF注入消息頭引發(fā)XSS漏洞在請求參數(shù)中插入CRLF字符:?email=a%0d%0a%0d%0a<script>alert(/xss/);</script>服務(wù)器返回:HTTP/1.1200OKSet-Cookie:de=a<script>alert(/xss/);</script>4.2CRLF注入攻擊防護方法對于預防CRLF攻擊的方法,就是去除用戶輸入的回車換行的字符,避免出現(xiàn)CRLF攻擊。$post=strip_tags($post,"");//清除HTML等代碼$post=ereg_replace("\t","",$post);//去掉制表符號$post=ereg_replace("\r\n","",$post);//去掉回車換行符號$post=ereg_replace("\r","",$post);//去掉回車$post=ereg_replace("\n","",$post);//去掉換行$post=ereg_replace("","",$post);//去掉空格$post=ereg_replace("'","",$post);//去掉單引號在程序真正執(zhí)行前,先對用戶輸入的數(shù)據(jù)進行凈化,去除CRLF等常見的攻擊字符。5XPath注入攻擊XPath注入攻擊主要是通過構(gòu)建特殊的輸入,這些輸入往往是XPath語法中的一些組合,這些輸入將作為參數(shù)傳入Web應(yīng)用程序,通過執(zhí)行XPath查詢而執(zhí)行入侵者想要的操作。XPath注入跟SQL注入差不多,只不過這里的數(shù)據(jù)庫用的是XML格式,攻擊方式自然需要按XML的語法進行。5.1XPath注入攻擊手法在Web應(yīng)用程序的登錄驗證程序中,一般有用戶名和密碼兩個參數(shù),程序會通過用戶所提交輸入的用戶名和密碼來執(zhí)行授權(quán)操作。若驗證數(shù)據(jù)存放在XML文件中,其原理是通過查找user表中的用戶名和密碼的結(jié)果來進行授權(quán)訪問。例存在user.xml文件如下:<users><user><firstname>Ben</firstname><lastname>Elmore</lastname><loginID>abc</loginID><password>test123</password></user>…….</users>則在XPath中其典型的查詢語句如下://users/user[loginID/text()='abc'
andpassword/text()='123test’]但是可以構(gòu)造攻擊查詢代碼:用戶傳入類似'or1=1or''='的值//users/user[loginID/text()=''
or1=1or''=''andpassword/text()=''or1=1or''='']5.2XPath注入攻擊防護方法參數(shù)化XPath查詢,將需要構(gòu)建的XPath查詢表達式,以變量的形式表示,變量不是可以執(zhí)行的腳本。如下代碼可以通過創(chuàng)建保存查詢的外部文件使查詢參數(shù)化:declarevariable$loginIDasxs:stringexternal;declarevariable$passwordasxs:stringexternal;//users/user[@loginID=$loginIDand@password=$password]實驗Testfire網(wǎng)站有SQL注入風險缺陷標題:testfire網(wǎng)站>登錄頁面>登錄框有SQL注入攻擊問題測試平臺與瀏覽器:Windows10+IE11或Firefox瀏覽器測試步驟:用IE瀏覽器打開網(wǎng)站:。點擊“SignIn”,進入登錄頁面。在用戶名處輸入('or'1'='1),密碼輸入('or'1'='1)。點擊“Login”。查看結(jié)果頁面。
期望結(jié)果:頁面提示拒絕登錄的信息。
實際結(jié)果:成功并以管理員身份登錄實驗Testfire網(wǎng)站有SQL注入風險實驗Testfire網(wǎng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年皖南醫(yī)學院第二附屬醫(yī)院招聘編外28人模擬試卷有答案詳解
- 2025廣西梧州市公安局第二批招聘警務(wù)輔助人員160人模擬試卷(含答案詳解)
- 2025福建漳州市南靖縣南坑鎮(zhèn)民政服務(wù)站招聘社工1人考前自測高頻考點模擬試題有完整答案詳解
- 2025年河北承德醫(yī)學院附屬醫(yī)院招聘技師崗工作人員7名模擬試卷及答案詳解(各地真題)
- 2025河北省地理集團有限公司實習崗招聘30人考前自測高頻考點模擬試題及答案詳解(新)
- 冬季預防知識培訓總結(jié)課件
- 2025菏澤曹縣教育系統(tǒng)公開招聘初級崗位教師(166人)模擬試卷及答案詳解(考點梳理)
- 2025北京市環(huán)科院編制外人員招聘6人模擬試卷及答案詳解(易錯題)
- 2025江蘇連云港市贛榆農(nóng)業(yè)發(fā)展集團有限公司及下屬子公司招聘設(shè)備工程師崗(A36)技能考前自測高頻考點模擬試題及答案詳解(考點梳理)
- 2025吉林長春中醫(yī)藥大學附屬第三臨床醫(yī)院招聘院前急救人員6人模擬試卷及答案詳解(各地真題)
- GB/T 4706.23-2024家用和類似用途電器的安全第23部分:室內(nèi)加熱器的特殊要求
- 新部編版語文1-6年級2460個生字表(帶拼音)
- (高清版)DZT 0399-2022 礦山資源儲量管理規(guī)范
- 衛(wèi)生監(jiān)督員行為規(guī)范
- 深圳電子行業(yè)前景分析
- 內(nèi)窺鏡檢查病歷委托書
- 70篇短文復習1600中考詞匯
- 小學計算機興趣小組活動記錄
- SCR煙氣脫硝裝置聲波清灰技術(shù)的研究的開題報告
- 煤礦班組建設(shè)課件
- CB/T 495-1995吸入口
評論
0/150
提交評論