文章的格式也許不是很好看,也沒有什么合理的順序
完全是想到什么寫一些什么,但各個方面都涵蓋到了
能耐下心看的朋友歡迎一起學習,大牛和杠精們請繞道
我這里先說幾句:
其實從緩沖區溢出到Web滲透之間還有很多的內容
但是Web滲透實在有學習的必要,我打算先學習這些內容
Web滲透:
早期Web滲透其實是攻擊Web服務器,比如IIS或者是Tomcat
C/S架構時期:程序員很累,需要兼顧兩方面的問題
后來程序猿們覺得這種方式復雜,后來就有了B/S架構:
只需要一個瀏覽器即可,而程序猿只需要遵循瀏覽器的規則進行編碼即可
服務器會根據用戶使用瀏覽器提交的數據來存儲或者返回對應的信息
張三只夠看到的頁面和信息,李四未必就可以看到
服務器端通常包括:Web服務器(Tomcat),應用程序服務器,數據庫
應用程序是什么?是可以交互的,我給它一個值,它會做出相應的反應
因此,至少這里,就存在着漏洞
其實Web攻擊技術共有幾百種,而我會介紹一部分典型的,以及一些基本工具的使用
而我們如果想做Web滲透,有很多個大的方面可以考慮:
瀏覽器、網絡、服務器操作系統、Web服務器類型、應用程序服務器、應用程序代碼、數據庫
就拿Java來說,WebServer采用Tomcat,應用程序服務器(SpringBoot、Struts2)數據庫(MySQL、Sqlite)
程序猿也是人,總會有漏洞,應用程序代碼也總會存在漏洞
前端來說:瀏覽器本身的安全機制以及很完善,基本找不到漏洞
於是,對我們來說,現在能夠考慮滲透的方面主要就是:應用程序方面,數據庫方面
惡意的指令傳遞給應用程序或者傳遞到數據庫從而造成漏洞利用
這么來說,想做Web滲透,那么就需要了解HTTP協議:
HTTP協議:
應用層明文協議,在網絡中如果采用嗅探或代理截斷技術即可獲取所有的信息
有些不懂安全的人會認為:HTTPS會變得很安全,其實不然,HTTPS只能提升傳輸層的安全性,並不能保證安全
在后面的一些文章我會詳細介紹HTTPS攻擊,總之不要過度相信HTTPS
下面繼續看一看HTTP協議的特點:
無狀態:類似於UDP協議,服務器發送數據包過去,接受與否與它無關
從協議上來看,HTTP協議每一次客戶端和服務器端的通信都是獨立的過程
有人會疑問:那么我登陸上賬號做相關的操作,感覺似乎每一步並不是獨立的?
其實不然,這是由於服務器端的程序猿的代碼造成的錯覺(Cookie)
而客戶端和服務器端的會話是如何實現的?Cookie技術
形象地來看:Cookie類似與學校的校園卡,學生沒有校園卡是無法進入學校的
服務器端會根據Cookie地不同而返回不同的信息
而如果不使用Cookie呢?如果客戶端要訪問服務器端的頁面,每一次都需要輸入賬戶名密碼,用戶體驗極差
有人會把Cookie和Session混淆:
Cookie本身其實就是SessionID,客戶端拿到的是服務器端的Session的SessionID,保存下來作為Cookie
Cookie既然功能強大:凡事有利有弊,正是出現了Cookie才會出現更多的漏洞
比如:張三篡改自己的Cookie變成李四的Cookie,那么,張三就可以操作李四的一些機密信息
客戶端和服務器之間一個請求一個響應為一個Cycle:
請求和相應都是由Header和Body組成
接下來看看Web滲透中需要注意的一些頭信息:
Set-cookie:服務器端發給客戶端的SessionID,如果被竊取,就可以做很多事情
Content-Length:響應Body部分的字節長度,比如我暴力破解用戶名密碼,可以根據返回的這個參數的不同來判斷是否成功
Location:重定向用戶到另一個頁面,可識別身份認證后允許訪問的頁面
Cookie:客戶端回給服務器證明用戶狀態的信息(頭:值成對出現)
Referrer:發起新請求之前用戶位於哪個頁面,服務器基於此頭的安全限制很容易被修改繞過
下面看看響應的狀態碼:1-5開頭表示五大類
100系列:服務器響應信息,沒有實際意義,表示還有后續處理,極少出現
200系列:請求被服務器成功接收並處理后返回的結果
300系列:重定向到某一個頁面,配合Location頭
400系列:客戶端請求錯誤
401:身份認證錯誤
403:拒絕訪問
404:這個很常見,請求目標不存在
500系列:服務器內部錯誤
介紹就到這里了:
接下來說說我接下來的實驗環境:
Metasploitable:集成了各種漏洞的靶機
演示:
啟動靶機
默認用戶名和密碼就是msfadmin
ifconfig查到IP地址是192.168.163.129
然后用Kali的瀏覽器訪問即可:
我在接下來的環境中要使用的就是DVWA
就是這個,其實相當於是一個實際的網站:
使用默認用戶admin和默認密碼password進入:
對於新手這里設置成Low(低級安全級別),這樣更容易找出漏洞
如果要滲透目標網站,我建議先用一個工具httrack:
作用:完全復制一個網站
為什么要用它呢?防止與目標過多的交互,以免被發現
具體使用方法:這里有向導,會英文的人就會用
這一篇的內容偏少,主要是介紹和環境搭建,具體的掃描工具以及滲透方法后邊的文章介紹