-
SSRF漏洞原理攻擊與防御(超詳細(xì)總結(jié))
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 一、SSRF是什么? SSRF(Server-Side Request Forgery:服務(wù)器端請求偽造) 是一種由攻擊者構(gòu)造形成由服務(wù)端發(fā)起請求的一個安全漏洞。 一般情況下,SSRF攻擊的目標(biāo)是從外網(wǎng)無法訪問的內(nèi)部系統(tǒng)。(正是因?yàn)樗怯煞?wù)端發(fā)起的,所以它能夠請求到與它相連而與外網(wǎng)隔離的內(nèi)部系統(tǒng)) 二、SSRF漏洞原理 SSRF 形成的原因大都是由于服務(wù)端提供了從其他服務(wù)器應(yīng)用獲取數(shù)據(jù)的功能且沒有對目標(biāo)地址做過濾與限制。 比如,黑客操作服務(wù)端從指…
-
詳述 Golang 的符號表
???本文基于 Go 1.13。 符號表是由編譯器生成和維護(hù)的,保存了與程序相關(guān)的信息,如函數(shù)和全局變量。理解符號表能幫助我們更好地與之交互和利用它。 符號表 Go 編譯的所有二進(jìn)制文件默認(rèn)內(nèi)嵌了符號表。我們來舉一個例子并研究它。下面是代碼: var?AppVersion?string func?main()?{ ?fmt.Println(`Version:?`+AppVersion) } 可以通過命令?nm?來展示符號表;下面是從?OSX?的結(jié)果中提取的部分信息: 00000000011772…
-
可落地的 8 種架構(gòu)模式!
什么是架構(gòu) 我想這個問題,十個人回答得有十一個答案,因?yàn)榱硗獾哪且粋€是大家妥協(xié)的結(jié)果。哈哈,我理解,架構(gòu)就是骨架,如下圖所示: 人類的身體的支撐是主要由骨架來承擔(dān)的,然后是其上的肌肉、神經(jīng)、皮膚。架構(gòu)對于軟件的重要性不亞于骨架對人類身體的重要性。 什么是設(shè)計(jì)模式 這個問題我問過的面試者不下于數(shù)十次,回答五花八門,在我看來,模式就是經(jīng)驗(yàn),設(shè)計(jì)模式就是設(shè)計(jì)經(jīng)驗(yàn),有了這些經(jīng)驗(yàn),我們就能在特定情況下使用特定的設(shè)計(jì)、組合設(shè)計(jì),這樣可以大大節(jié)省我們的設(shè)計(jì)時間,提高工作效率。作為一個工作10年以上的老碼農(nóng),經(jīng)…
-
來個查漏補(bǔ)缺!關(guān)于 Redis 都在這一篇里了
Redis簡介 Redis 是 C 語言開發(fā)的一個開源高性能鍵值對的內(nèi)存數(shù)據(jù)庫,可以用來做數(shù)據(jù)庫、緩存、消息中間件等場景,是一種 NoSQL(not-only sql,非關(guān)系型數(shù)據(jù)庫)的數(shù)據(jù)庫。 Redis特點(diǎn) 優(yōu)秀的性能,數(shù)據(jù)是存儲在內(nèi)存中,讀寫速度非???,可支持并發(fā)10W QPS。 單線程但進(jìn)程,是線程安全的,采用IO 多路復(fù)用制 可作為分布式鎖 支持五種數(shù)據(jù)類型 支持?jǐn)?shù)據(jù)持久化到磁盤 可以作為消息中間件使用,支持消息發(fā)布及訂閱。 數(shù)據(jù)類型 下表是我列舉的五種數(shù)據(jù)類型的特性及其使用場景 緩存…
-
紅隊(duì)最常用的三大工具
有人說,歷史就像任人打扮的小姑娘,每次表演都唱同樣的歌。網(wǎng)絡(luò)安全也不能免俗,紅隊(duì)工具似乎總是能逃避檢測,給藍(lán)隊(duì)制造麻煩。造成這種局面原因有很多,但有一點(diǎn)是決定性的,那就是:紅隊(duì)只需要做對一次,而藍(lán)隊(duì)每次都需要做對。 藍(lán)隊(duì)通常很難檢測到紅隊(duì)的工具,這迫使藍(lán)隊(duì)需要與威脅狩獵團(tuán)隊(duì)坐下來共同研究如何查找和檢測紅隊(duì)最常使用的工具——例如Cobalt Strike、Brute Ratel、Meterpreter和PowerShell Empire。 以下,我們逐一介紹紅隊(duì)最常用的三大工具: 紅隊(duì)工具一:Co…
-
3種常用的 Web 會話管理方式
http 是無狀態(tài)的,即我們的一次請求結(jié)束后,下一次請求,服務(wù)端他并不知道是哪個用戶發(fā)來的。 我們在業(yè)務(wù)開發(fā)中通常是不需要關(guān)注是哪個客戶端發(fā)來的,更多的是關(guān)注是哪個用戶發(fā)來的。 基于這個特點(diǎn),我們在處理業(yè)務(wù)邏輯時,就得想方設(shè)法地在下一次請求時讓服務(wù)端知道我是哪個用戶。 為什么是下一次呢? 因?yàn)槭紫任覀兊孟鹊卿?,才能告訴下一次請求是哪個,否則我們的很多業(yè)務(wù)就沒法開展,這就是所謂的會話管理。 那我們在項(xiàng)目里通常是怎么去管理我們的會話呢? 下面介紹常用的三種方式: 一、基于 server 端 sess…
-
運(yùn)維必備!Linux 遠(yuǎn)程數(shù)據(jù)同步工具詳解
一、簡介 1 認(rèn)識 Rsync(remote synchronize)是一個遠(yuǎn)程數(shù)據(jù)同步工具,可通過LAN/WAN快速同步多臺主機(jī)間的文件。Rsync使用所謂的“Rsync算法”來使本地和遠(yuǎn) 程兩個主機(jī)之間的文件達(dá)到同步,這個算法只傳送兩個文件的不同部分,而不是每次都整份傳送,因此速度相當(dāng)快; Rsync支持大多數(shù)的類Unix系統(tǒng),無論是Linux、Solaris還是BSD上都經(jīng)過了良好的測試; 此外,它在windows平臺下也有相應(yīng)的版本,如cwRsync和Sync2NAS等工具 2 原理 R…
-
老司機(jī)親授:請收下這份運(yùn)維故障處理指南
1.故障處理原則 故障處理的原則只有兩個: 以恢復(fù)業(yè)務(wù)優(yōu)先 及時升級 1.1?恢復(fù)業(yè)務(wù)優(yōu)先 恢復(fù)業(yè)務(wù)優(yōu)先是指,不管在任何情況下,也不管任何級別的故障,都要先做到恢復(fù)業(yè)務(wù),這個和故障定位不同,也有很多人會產(chǎn)生歧義,覺得如果不找到問題的根源,如何能恢復(fù)業(yè)務(wù),下面我舉一個例子說明二者的差別: 如果 A 應(yīng)用調(diào) B 應(yīng)用時,調(diào)用失敗,這時我們要怎么做? 方法一,排查問題,尋找A到B之間會經(jīng)過哪些環(huán)節(jié),找到其中的出問題的環(huán)節(jié),比如HA連接異常,進(jìn)行重啟或者擴(kuò)容恢復(fù)。 方法二,從A應(yīng)用的服務(wù)器去ping B…
-
7 款顏值 yyds 的 Linux 操作系統(tǒng) !
Linux 的發(fā)行版有很多,這里羅列7個漂亮的 Linux 發(fā)行版,可以說是Linux操作系統(tǒng)界的顏值擔(dān)當(dāng)了。 elementary OS 網(wǎng)站:https://elementaryos.cn elementary OS操作系統(tǒng)是最漂亮的Linux發(fā)行版之一。它基于macOS外觀,同時為Linux用戶提供了出色的用戶體驗(yàn)。如果用戶已經(jīng)習(xí)慣使用macOS,則使用elementary OS不會有任何問題。 另外,elementary OS操作系統(tǒng)基于Ubuntu,因此用戶也可以輕松找到大量應(yīng)用程序來…
-
網(wǎng)絡(luò)排查工具
常用的 ping,tracert,nslookup 一般用來判斷主機(jī)的網(wǎng)絡(luò)連通性,其實(shí) Linux 下有一個更好用的網(wǎng)絡(luò)聯(lián)通性判斷工具,它可以結(jié)合ping nslookup tracert 來判斷網(wǎng)絡(luò)的相關(guān)特性,這個命令就是 mtr。mtr 全稱 my traceroute,是一個把 ping 和 traceroute 合并到一個程序的網(wǎng)絡(luò)診斷工具。 traceroute默認(rèn)使用UDP數(shù)據(jù)包探測,而mtr默認(rèn)使用ICMP報(bào)文探測,ICMP在某些路由節(jié)點(diǎn)的優(yōu)先級要比其他數(shù)據(jù)包低,所以測試得到的數(shù)據(jù)…