駭客怎麼煉成的?什麼?原來就是滲透測試啊!
我是小白,顧名思義就是初出茅廬網路安全圈子裡的小菜雞哈。讓我們一起學習滲透測試,一起成長吧。混個好點的工作,讓自己的收入不在是那不如眼的幾K薪資,努力向著安全大佬看齊哈。
今天就從基礎學起。
Web伺服器與HTTP基礎
Web伺服器一般指網站伺服器,是指駐留於因特網上某種型別計算機的程式,可以處理瀏覽器等Web客戶端的請求並返回相應響應,也可以放置網站檔案,讓全世界瀏覽;可以放置資料檔案,讓全世界下載。目前最主流的三個Web伺服器是Apache、 Nginx 、IIS。(涉及不認識的專業名詞多多找度娘)
Web伺服器主要用於解析HTTP/HTTPS協議。當web伺服器接收到一個http請求(request),會返回一個http響應(response),如:返回一個HTML頁面,但一般而言,web伺服器不用於處理業務邏輯。
應用程式伺服器透過各種協議(包括http),把商業邏輯暴露給客戶端應用程式。即執行業務邏輯處理,如J2ee中的EJB。
Http協議介紹
HTTP 全稱:Hyper Text Transfer Protocol 中文名:超文字傳輸協議
什麼是超文字
包含有超連結(Link)和各種多媒體元素標記(Markup)的文字。這些超文字檔案彼此連結,形成網狀(Web),因此又被稱為網頁(Web Page)。這些連結使用URL表示。最常見的超文字格式是超文字標記語言HTML。
html檔案->包含各種各樣的元素(URL連結)->形成WebPage簡稱web頁面
什麼是URL
URL即統一資源定位符(Uniform Resource Locator),用來唯一地標識全球資訊網中的某一個文件。
URL由協議、主機和埠(預設為80)以及檔名三部分構成:
什麼是超文字傳輸協議
是一種按照URL指示,將超文字文件從一臺主機(Web伺服器)傳輸到另一臺主機(瀏覽器)的應用層協議,以實現超連結的功能。
Http工作原理
1。首先,當你在瀏覽器中輸入一個網址的時候(https://www。baidu。com)瀏覽器會幫你分析,你輸入的這個URL
2。其次,瀏覽器會向DNS伺服器請求解析,該URL中的域名www。baidu。com,解析出百度伺服器所在的IP地址
3。DNS伺服器,會將解析出來的IP地址14。215。177。38並返回給瀏覽器。
4。瀏覽器接收到DNS返回的IP地址,立即與該IP所在的伺服器建立TCP連線(80埠)。
5。瀏覽器請求文件,也就是咱們常說的html頁面,GET /index。html,併發出HTTP請求報文。
6。伺服器給出響應,將請求的index。html文件返回給瀏覽器,也就是響應HTTP請求的報文。
7。TCP連線響應完之後,釋放TCP連線。
8。最後就能顯示出,你請求的這個頁面了
HTTP的請求方法
1
GET
請求指定的頁面資訊,並返回實體主體。
2
HEAD
類似於 GET 請求,只不過返回的響應中沒有具體的內容,用於獲取報頭
3
POST
向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。資料被包含在請求體中。POST 請求可能會導致新的資源的建立和/或已有資源的修改。
4
PUT
從客戶端向伺服器傳送的資料取代指定的文件的內容。
5
DELETE
請求伺服器刪除指定的頁面。
6
CONNECT
HTTP/1。1 協議中預留給能夠將連線改為管道方式的代理伺服器。
7
OPTIONS
允許客戶端檢視伺服器的效能。
8
TRACE
回顯伺服器收到的請求,主要用於測試或診斷。
9
PATCH
是對 PUT 方法的補充,用來對已知資源進行區域性更新 。
HTTP狀態碼分類
HTTP狀態碼由三個十進位制數字組成,第一個十進位制數字定義了狀態碼的型別,後兩個數字沒有分類的作用。HTTP狀態碼共分為5種類型:
1**
資訊,伺服器收到請求,需要請求者繼續執行操作
2**
成功,操作被成功接收並處理
3**
重定向,需要進一步的操作以完成請求
4**
客戶端錯誤,請求包含語法錯誤或無法完成請求
5**
伺服器錯誤,伺服器在處理請求的過程中發生了錯誤
HTTP
狀態碼詳解
https://tool。oschina。net/commons?type=5
HTTP
協議響應頭資訊
HTTP
(
HyperTextTransferProtocol
)是超文字傳輸協議的縮寫,它用於傳送
WWW
方式的資料,關於
HTTP
協議的詳
細內容請參考
RFC2616
。
HTTP
協議採用了請求
/
響應模型。客戶端向伺服器傳送一個請求,請求頭包含請求的方法、
URI
、協議版本、以及包含請求修
飾符、客戶資訊和內容的類似於
MIME
的訊息結構。
響應頭
說明
Allow
伺服器支援哪些請求方法(如
GET
、
POST
等)。
Content-Encoding
文件的編碼(
Encode
)方法。只有在解碼之後才可以得到
Content-Type
頭指定的內容型別。利用
gzip
壓縮文件能夠顯著地減少
HTML
文件的下載時間。
Java
的
GZIPOutputStream
可以很方便地進行
gzip
壓縮,但只有
Unix
上的
Netscape
和
Windows
上的
IE 4
、
IE 5
才支援它。因此,
Servlet
應該透過檢視
Accept-Encoding
頭(即
request。getHeader(“Accept-Encoding”)
)檢查瀏覽器是否支援
gzip
,為支援
gzip
的瀏覽器返回經
gzip
壓縮的
HTML
頁面,為其他瀏覽器返回普通頁面。
Content-Length
表示內容長度。只有當瀏覽器使用持久
HTTP
連線時才需要這個資料。如果你想要利用持久連線的優勢,可以把輸出文件寫入
ByteArrayOutputStream
,完成後檢視其大小,然後把該值放入
Content-Length
頭,最後透過
byteArrayStream。writeTo(response。getOutputStream()
傳送內容。
Content-Type
表示後面的文件屬於什麼
MIME
型別。
Servlet
預設為
text/plain
,但通常需要顯式地指定為
text/html
。由於經常要設定
Content-Type
,因此
HttpServletResponse
提供了一個專用的方法
setContentType
。
Date
當前的
GMT
時間。你可以用
setDateHeader
來設定這個頭以避免轉換時間格式的麻煩。
Expires
應該在什麼時候認為文件已經過期,從而不再快取它?
Last-Modified
文件的最後改動時間。客戶可以透過
If-Modified-Since
請求頭提供一個日期,該請求將被視為一個條件
GET
,只有改動時間遲於指定時間的文件才會返回,否則返回一個
304
(
Not Modified
)狀態。
Last-Modified
也可用
setDateHeader
方法來設定。
Location
表示客戶應當到哪裡去提取文件。
Location
通常不是直接設定的,而是透過
HttpServletResponse
的
sendRedirect
方法,該方法同時設定狀態程式碼為
302
。
Refresh
表示瀏覽器應該在多少時間之後重新整理文件,以秒計。除了重新整理當前文件之外,你還可以透過
setHeader(“Refresh”, “5; URL=http://host/path”)
讓瀏覽器讀取指定的頁面。
注意這種功能通常是透過設定
HTML
頁面
HEAD
區的<
META HTTP-EQUIV=“Refresh” CONTENT=“5;URL=http://host/path”
>實現,這是因為,自動重新整理或重定向對於那些不能使用
CGI
或
Servlet
的
HTML
編寫者十分重要。但是,對於
Servlet
來說,直接設定
Refresh
頭更加方便。
注意
Refresh
的意義是
“N
秒之後重新整理本頁面或訪問指定頁面
”
,而不是
“
每隔
N
秒重新整理本頁面或訪問指定頁面
”
。因此,連續重新整理要求每次都發送一個
Refresh
頭,而傳送
204
狀態程式碼則可以阻止瀏覽器繼續重新整理,不管是使用
Refresh
頭還是<
META HTTP-EQUIV=“Refresh” 。。。
>。
注意
Refresh
頭不屬於
HTTP 1。1
正式規範的一部分,而是一個擴充套件,但
Netscape
和
IE
都支援它。
Server
伺服器名字。
Servlet
一般不設定這個值,而是由
Web
伺服器自己設定。
Set-Cookie
設定和頁面關聯的
Cookie
。
Servlet
不應使用
response。setHeader(“Set-Cookie”, 。。。)
,而是應使用
HttpServletResponse
提供的專用方法
addCookie
。參見下文有關
Cookie
設定的討論。
WWW-Authenticate
客戶應該在
Authorization
頭中提供什麼型別的授權資訊?在包含
401
(
Unauthorized
)狀態行的應答中這個頭是必需的。例如,
response。setHeader(“WWW-Authenticate”, “BASIC realm=
\
”executives
\
“”)
。
注意
Servlet
一般不進行這方面的處理,而是讓
Web
伺服器的專門機制來控制受密碼保護頁面的訪問(例如
。htaccess
)。
相關文章
- 2021-09-22【沙雕問題】:徵婚!多少歲不重要,最好年前能扯證~神回覆~哈哈哈
- 2021-05-26王俊凱今年第四個代言出現,排面給太足了,這個品牌不火都難
- 2021-05-11康熙最器重的皇子,竟是九子中最蠢的,僅用一句話,就作死了自己!
- 2021-05-07PDF如何刪除頁面?批次刪除不連續頁的方法
- 2021-05-05Jmeter入門基礎實踐