天天看點

基礎入門-概念名詞

基礎入門-概念名詞

基礎入門-概念名詞
域名(英語:Domain Name),又稱網域,是由一串用點分隔的名字組成的Internet上某一台計算機或計算機組的名稱,用于在資料傳輸時對計算機的定位辨別(有時也指地理位置)。

由于IP位址具有不友善記憶并且不能顯示位址組織的名稱和性質等缺點,人們設計出了域名,并通過網域名稱系統(DNS,Domain Name System)來将域名和IP位址互相映射,使人更友善地通路網際網路,而不用去記住能夠被機器直接讀取的IP位址數串。

比如www.baidu.com,這就是一個域名,簡單來說就是ip不好記,是以有了域名來友善記憶。可以聯想到位址和經緯度的關系(上海 :經度 121.48 緯度 31.22)

基礎入門-概念名詞

找個域名注冊商的網站(比如阿裡、萬網),搜尋想要的域名(由于國内并非所有域名都支援備案,目前提供主流可備案域名有:

.com, .cn, .com.cn, .net, .top, .wang, .vip, .company, .org.cn,.ac.cn, .site, .online, .ren .store, .tech, .xyz, .club, .link, .pro, .red, .info, .biz, .ltd, .gov.cn, .mobi, .city 等。)

注冊流程

填寫域名資料。若你是以公司名義注冊域名,則需要填寫企業資料、聯系人資訊;若你是以個人名義注冊,請切換到個人欄,填寫個人資訊。域名英文資訊将會根據你填寫的中文自動翻譯,請核對是否有誤,若有誤請及時進行修改。 确認域名賬單。确認域名注冊人資訊、賬單無誤後,使用支付寶或微信掃碼支付即可完成注冊。 域名實名驗證。因國内法律法規要求,域名注冊後需要進行實名認證,通過認證後即可正式生效。若稽核有誤,請及時進行修改,再次送出稽核。 域名備案及綁定網站。如果你需要在國内上線,則需要進行網站備案。

如baidu.com是由前面的字元串“baidu”和後面的域名字尾“.com”組成的,這就是我們常說的頂級域名,也稱為一頂域名。

國際頂級域名的子域名叫做二級域名。

如A.com是一級域名,A.B.com則是二級域名。一級域名較二級域名級别更高,而二級域名則是依附于一級域名下的附屬分區域名,即二級域名是一級域名的細分層級。

通常情況下可通過網址上【.】數量來判斷域名層級,有多少【.】就為幾級域名,如A.com是一級域名,A.B.com則是二級域名。

基礎入門-概念名詞

如:baidu.com 是百度的頂級域名,zhidao.baidu.com 是二級域名,zhidao.zhidao.baidu.com 是三(多)級域名,*.baidu.com 是泛域名。

需要注意的是:

(1)、“.”的個數并不能完全代表域名的等級,因為有些域名字尾是比較特殊的。如.com.cn,.com.hk,.cn.com等,看起來像是一級域名了,其實他們都隻是一個域名字尾而已。是以在判斷域名的等級的時候,首先要對一些特殊的域名字尾有深入的了解。

(2)、不管是三級域名還是四級,五級……域名都是往頂級域名的左邊推演,而不是右邊。

(3)、形如baidu.com/cn 是往一級域名的右邊拓展,以目錄的形式而且用“/”代替“.”的域名不能成為“某某”級域名,如果嚴謹的話,甚至不能把他們叫做域名,應該叫做網址。“/”下面“cn”一般稱為“二級目錄”。

三級域名一般是大型綜合網站自建網站使用的比較多,因為大型綜合網站的業務比較多,又不想使用其他的頂級域名。現在也有一些免費三級域名申請,一般是不建議個人申請這種三級域名使用的,因為這種域名都隻有使用權而沒有所有權,所有權是掌握在頂級域名所有者手上的,使用别人的域名對自身後期發展還是有很大限制的。

進行滲透測試時,其主域名找不到漏洞時,就可以嘗試去測試收集到的子域名,有可能測試子域名網站時會有意向不到的效果,然後可以由此橫向到主網站。

有關DNS,我想到的就是那個面試經常會被問到的“輸入url位址到頁面顯示發生了啥”,在這個過程中,我們首先會判斷如果這個url是個域名,那麼就需要進行域名解析。

是以為什麼要進行域名解析呢?

在網際網路上,通信是基于TCP/IP協定來進行的

其中的IP協定被稱為網際協定,如果TCP|UDP定義了資料傳輸的方式,那麼通過IP協定,我們就可以知道資料傳輸的地點。不過日常我們也是可以通過<code>域名</code>去通路對應的位址,而事實上隻有IP位址才可以尋找到對應伺服器,是以當你使用域名去通路,首先經曆的是一個<code>域名解析</code>的過程,将域名轉換成對應的IP位址,再去尋址。

DNS 就是一個域名系統,提供的服務是将域名轉換成ip位址的工作,你可以把它當做一名翻譯官。

域名系統(英文:Domain Name System,縮寫:DNS)是網際網路的一項服務。它作為将域名和IP位址互相映射的一個分布式資料庫,能夠使人更友善地通路網際網路。DNS使用TCP和UDP端口53。目前,對于每一級域名長度的限制是63個字元,域名總長度則不能超過253個字元。

DNS 從屬于應用層協定(包括http smtp ftp)

DNS 域名解析流程

使用者主機上運作這DNS的用戶端(就是我們的pc機,或者手機用戶端)

浏覽器将接收到的url中抽取出域名字段,就是通路的主機名,并将這個主機名傳送給DNS應用的用戶端<code>http://www.baidu.com/</code> 比如像這麼一個位址

DNS用戶端向DNS伺服器發送一份查詢封包(包含要通路的主機名字段)

該DNS客戶機最終得到一份回答封包,其中包含該主機名對應的ip位址

浏覽器收到來自DNS的ip位址,向該ip位址定位的http伺服器發起TCP連接配接

基礎入門-概念名詞

DNS 服務體系

在上面的DNS轉換過程中我們可以看到,域名經過在DNS伺服器上找到相對應的ip傳回就可以了,但是,這個找到域名的過程其實裡面要複雜的多,下面一起來看看吧:

下面會涉及到一個需要注意的點:使用者主機的DNS用戶端接收到後,向網絡中發送一個DNS查詢封包。<code>所有DNS請求和回答封包使用的UDP資料報經過端口53發送</code>。

一次UDP名字伺服器交換可以短到兩個包:<code>一個查詢包、一個響應包。</code>

一次TCP交換則至少包含9個包:<code>三次握手初始化TCP會話、一個查詢包、一個響應包以及四次分手的包交換。</code>

考慮到效率原因,TCP連接配接的開銷大,故采用UDP作為DNS的運輸層協定,<code>這也将導緻隻有13個根域名伺服器的結果。</code>

當我們在浏覽器中輸入<code>http://www.baidu.com/</code>的時候,作業系統先檢查本地hosts檔案是否有對應的ip映射,如果有直接調用

如果沒有,查找本地DNS解析緩存,如果有直接調用

如果沒有,(在TCP/IP中有設定一個首選DNS伺服器,也就是本地DNS伺服器),如果該伺服器上有,映射,傳回ip

如果本地DNS伺服器本地區域檔案與緩存解析都失效,根據本地DNS伺服器的設定(是否設定轉發)進行查詢

以上整個過程就是遞歸查詢

基礎入門-概念名詞

5.<code>無轉發:</code>

本地DNS就把請求發至13台根DNS,根DNS伺服器收到請求後會判斷這個域名(.com)是誰來授權管理,并會傳回一個負責該頂級域名伺服器的一個IP

本地DNS伺服器收到IP資訊後,将會聯系負責.com域的這台伺服器。這台負責.com域的伺服器收到請求後,如果自己無法解析,它就會找一個管理.com域的下一級DNS伺服器位址 給本地DNS伺服器。

當本地DNS伺服器收到這個位址後,就會找域伺服器,重複上面的動作,進行查詢,直至找到www . baidu.com主機。

6.<code>有轉發:</code>

此DNS伺服器就會把請求轉發至上一級DNS伺服器,由上一級伺服器進行解析,

上一級伺服器如果不能解析,或找根DNS或把轉請求轉至上上級,以此循環。

不管是本地DNS伺服器用是是轉發,還是根提示,最後都是把結果傳回給本地DNS伺服器,由此DNS伺服器再傳回給客戶機。

以上整個過程就是疊代查詢

基礎入門-概念名詞

提示:無論是本地DNS伺服器用的是轉發還是根DNS伺服器提示,最後都是要把結果傳回給本地DNS伺服器的

用戶端到本地DNS伺服器就是遞歸查詢,而DNS伺服器之間的互動查詢是疊代查詢

hosts是一個沒有擴充名的系統檔案,可以用記事本等工具打開,其作用就是将一些常用的網址域名與其對應的IP位址建立一個關聯“資料庫”,當使用者在浏覽器中輸入一個需要登入的網址時,系統會首先自動從Hosts檔案中尋找對應的IP位址,一旦找到,系統會立即打開對應網頁,如果沒有找到,則系統會再将網址送出DNS域名解析伺服器進行IP位址的解析。

基礎入門-概念名詞

hosts與DNS的共同點: 都是做域名解析的,解決IP位址與域名的對應關系問題。 在早期的時候,計算機數量還不是很多,通過修改本地hosts檔案就能解決域名解析的工作。後來随着網際網路的發展,計算機的數量越來越多,在每一個計算機上都維護、更新hosts檔案的工作量也越來越大。DNS的出現就是解決了hosts檔案無法滿足海量計算機與域名的對應關系問題,将域名解析工作轉移到了DNS伺服器上,在本地計算機上隻需要配置DNS伺服器的IP位址即可。

DNS也是用來解析IP位址的,隻不過hosts檔案使用者可以自由修改,但DNS上的内容使用者是無法修改的,隻可以選擇使用哪個DNS服務。一般預設使用電信服務商,但也可以選擇第三方服務,如Google,阿裡,百度等。

特點:在對域名解析的時候, 計算機會<code>優先</code>檢視本地的hosts檔案(C:\Windows\System32\drivers\etc\hosts)中是否存在相應的域名解析記錄。如果存在則傳回域名對應的IP位址,如果不存在則在通過DNS來查到該域名對應的IP位址。
優點: <code>速度快</code> (由于是本地的,不通過網絡,查詢速度較快) 屬于<code>主動</code>解析 (它能将域名強制的指向我們期望它解析到的那個IP位址)
缺點: <code>維護</code>比較麻煩(當域名解析記錄更新或者有新的域名解析記錄的時候, 需要我們更新所有計算機的hosts檔案) <code>存在安全問題</code>(如中電腦病毒情況下,可能會惡意修改hosts檔案)
應用場景: 适用于小型公司區域網路或本地的域名解析工作。 當DNS伺服器解析出錯的時候,可以通過臨時修改hosts檔案來解決域名解析問題。 通過修改hosts檔案,添加相應的記錄,可以達到屏蔽廣告的效果。 早期的時候可以通過修改hosts檔案,上google網站。現在該方法應該是無效的了。
特點: 管理海量域名解析工作,為廣大網際網路使用者提供服務。
維護工作量降低(原先是維護每台計算機的hosts檔案,現在隻需要維護DNS伺服器即可) 提供統一的服務,相對較安全(通過DNS伺服器解析到的IP位址,一般都是我們期望的)
解析速度慢(盡管DNS有緩存機制,但相對hosts檔案而已,速度還是慢了一點) 存在一定風險(在内網環境,如果主、從DNS伺服器都挂了且沒有備機的情況,将無法完成域名的解析工作)
适用于大型網際網路或中大型公司區域網路DNS的解析工作。 可以用作反垃圾郵件以及安全防護等
CDN的全稱是Content Delivery Network,即内容分發網絡。 簡單了解成一個離使用者很近的,可以從上面擷取到完整的原始資料的伺服器,它會定期和擁有原始内容的伺服器進行同步,保證使用者可以從上面擷取到最新的内容。 CDN的基本思路是盡可能避開網際網路上有可能影響資料傳輸速度和穩定性的瓶頸和環節,使内容傳輸的更快、更穩定。通過在網絡各處放置節點伺服器所構成的在現有的網際網路基礎之上的一層智能虛拟網絡,CDN系統能夠實時地根據網絡流量和各節點的連接配接、負載狀況以及到使用者的距離和響應時間等綜合資訊将使用者的請求重新導向離使用者最近的服務節點上(單純隻使用DNS解析,直接PING就會顯示出自己的真實IP,如果又使用CDN,PING出來的IP就不是使用者的真實IP而是CDN伺服器的IP節點。需要繞過CDN後去找真實IP位址:拓展:判斷是否存在CDN并繞過,尋找真實IP)。 CDN可以大幅度的體改下載下傳速度,提高帶寬,加速了網站的通路——使用者與内容之間的實體距離縮短,使用者的等待時間也得以縮短。

CDN 具體流程?

當部署了CDN的網絡,我們使用url進行通路的時候,回和之前說的DNS域名解析過程有那麼一些不一樣,具體來看個例子:

比如我們現在要去騰訊視訊點播一集電視劇:

當我們點選這個app上的内容,app也會根據這個url位址去本地的DNS域名解析系統尋求IP位址解析

本地DNS系統會将域名解析的權利給我們CDN專用的DNS伺服器

CDN專用DNS伺服器,<code>将CDN的全局負載均衡裝置IP位址</code>傳回使用者

基礎入門-概念名詞

使用者根據ip位址向CDN的負載均衡裝置發起内容URL通路請求

CDN負載均衡裝置根據使用者IP位址,以及使用者請求的内容URL,選擇一台使用者所屬區域的緩存伺服器。

負載均衡裝置告訴使用者這台緩存伺服器的IP位址,讓使用者向所選擇的緩存伺服器發起請求

使用者向緩存伺服器發起請求,緩存伺服器響應使用者請求,将使用者所需内容傳送到使用者終端

如果這台緩存伺服器上并沒有使用者想要的内容,那麼這台緩存伺服器就要網站的源伺服器請求内容。

源伺服器傳回内容給緩存伺服器,緩存伺服器發給使用者,并根據使用者自定義的緩存政策,判斷要不要把内容緩存到緩存伺服器上。

基礎入門-概念名詞

剛才說到cdn實際上是一個就近通路,那麼現在有一個問題是,我們怎麼知道使用者的所在位置進而給他配置設定最佳的cdn節點呢。這就需要dns服務來進行定位了。當我們通過使用dns服務的時候,可以根據他使用的LDNS伺服器來進行一個定位,例如我們的排程伺服器看到他是來自深圳電信的LDNS伺服器,那麼我們就認為該使用者來自深圳電信,然後排程伺服器可以讓該使用者去通路深圳電信的CDN伺服器,這樣就讓使用者通路到了最優的cdn節點。

通過dns服務我們可以很快的定位到使用者的位置,然後給使用者配置設定最佳cdn節點,但是這種排程方式存在一個問題,例如,當我 是北京聯通的使用者但是使用的卻是深圳電信的ldns的話,排程伺服器會給我配置設定到深圳電信的cdn伺服器,這樣就産生了錯誤的排程。

基礎入門-概念名詞

擴充:DNS和CDN的差別與聯系

緩存投毒

通常也稱為域名系統投毒或DNS緩存投毒。它是利用虛假Internet位址替換掉域名系統表中的位址,進而制造破壞。當網絡使用者在帶有該虛假位址的頁面中進行搜尋,以通路某連結時,網頁浏覽器由于受到該虛假條目的影響而打開了不同的網頁連結。在這種情況下,蠕蟲、木馬、浏覽器劫持等惡意軟體就可能會被下載下傳到本地使用者的電腦上。

DNS劫持

DNS劫持又稱域名劫持,是指在劫持的網絡範圍内攔截域名解析的請求,分析請求的域名,把審查範圍以外的請求放行,否則傳回假的IP位址或者什麼都不做使請求失去響應,其效果就是對特定的網絡不能通路或通路的是假網址。這類攻擊一般通過惡意軟體來更改終端使用者TCP/IP設定,将使用者指向惡意DNS伺服器,該DNS伺服器會對域名進行解析,并最終指向釣魚網站等被攻擊者操控的伺服器。

域名劫持

域名劫持就是在劫持的網絡範圍内攔截域名解析的請求,分析請求的域名,把審查範圍以外的請求放行,否則直接傳回假的IP位址或者什麼也不做使得請求失去響應,其效果就是對特定的網址不能通路或通路的是假網址。一旦您的域名被劫持,使用者被引到假冒的網站進而無法正常浏覽網頁,使用者可能被誘騙到冒牌網站進行登入等操作導緻洩露隐私資料。

DNS DDoS攻擊

針對DNS的DDoS攻擊通過控制大批僵屍網絡利用真實DNS協定棧發起大量域名查詢請求,利用工具軟體僞造源IP發送海量DNS查詢,發送海量DNS查詢封包導緻網絡帶寬耗盡而無法傳送正常DNS查詢請求。發送大量非法域名查詢封包引起DNS伺服器持續進行疊代查詢,進而達到較少的攻擊流量消耗大量伺服器資源的目的。

反射式DNS放大攻擊

所有放大攻擊都利用了攻擊者和目标Web資源之間的帶寬消耗差異,由于每個機器人都要求使用欺騙性IP位址打開DNS解析器,該IP位址已更改為目标受害者的真實源IP位址,然後目标會從DNS解析器接收響應。為了建立大量流量,攻擊者以盡可能從DNS解析器生成響應的方式構造請求。結果,目标接收到攻擊者初始流量的放大,并且他們的網絡被虛假流量阻塞,導緻拒絕服務。
腳本語言是為了縮短傳統的編寫-編譯-連結-運作(edit-compile-link-run)過程而建立的計算機程式設計語言 常見的腳本語言類型:Python、JavaScript、Asp (逐漸淘汰,基本都是小站點在使用)、Aspx、php (目前比較流行)javaweb、 pl、cgi等
不同的腳本語言的編寫規則不一樣,程式産生的漏洞自然也不一樣(代碼審計)。
更嚴謹的語言,安全性相對更高
後門是指一種繞過安全性控制而擷取對程式或系統通路權的方法。在軟體的開發階段,程式員常會在軟體内建立後門以便可以修改程式中的缺陷。如果後門被其他人知道,或者在釋出軟體之前沒有删除,那麼它就成了安全隐患。
網頁後門 此類後門程式一般都是伺服器上正常 的web服務來構造自己的連接配接方式,比如非常流行的ASP、cgi腳本後門等。 線程插入後門 這種後門在運作時沒有程序,所有網絡操作均播入到其他應用程式的程序中完成。也就是說,即使受控制端安裝的防火牆擁有“應用程式通路權限”的功能,也不能對這樣的後門進行有效的警告和攔截,也就使對方的防火牆形同虛設了!因為對它的清除比較困難,這種後門本身的功能比較強大,是“居中家旅行、入侵攻擊”的必備品哦! 擴充後門 所謂的擴充後門,在普通意義上了解,可以看成是将非常多的功能內建到了後門裡,讓後門本身就可以實作很多功能,友善直接控制殭屍電腦或者伺服器,這類的後門非常受初學者的喜愛,通常內建了檔案上傳/下載下傳、系統使用者檢測、HTTP通路、終端安裝、端口開放、啟動/停止服務等功能,本身就是個小的工具包,功能強大。 C/S後門 傳統的木馬程式常常使用C/S構架,這樣的構架很友善控制,也在一定程度上避免了“萬能密碼”的情況出現,對後門私有化有一定的貢獻,這方面分類比較模糊,很多後門可以歸結到此類中,比如較巧妙的就是ICMP Door了 賬号後門 賬号後門技術是指黑客為了長期控制目标計算機,通過後門在目标計算機中建立一個備用管理者賬戶的技術。一般采用克隆賬戶技術。克隆賬戶一般有兩種方式,一個是手動克隆賬戶,一個是使用克隆工具。
在擷取到相關權限的時候,後門就相當于一個管道,提供一個通道去連接配接網站或者伺服器,使得攻擊者可以控制整個網站或者伺服器去達到自己的目标

• 玩法(建立後門之後我們可以怎麼樣操作?):

網站後門:便于控制網站

軟體後門:用于控制

伺服器後門:可以進行脫庫、盜取資訊

• 免殺:防止相關東西檢測到後門

免殺技術全稱為反殺毒技術Anti Anti- Virus簡稱“免殺”,它指的是一種能使病毒木馬免于被防毒軟體清除的技術。由于免殺技術的涉獵面非常廣,其中包含反彙編、逆向工程、系統漏洞等黑客技術,是以難度很高,一般人不會或沒能力接觸這技術的深層内容。其内容基本上都是修改病毒、木馬的内容改變特征碼,進而躲避了防毒軟體的清除。

• 技術分類

1、開源免殺:指在有病毒、木馬源代碼的前提下,通過修改源代碼進行免殺。

2、手工免殺:指在僅有病毒、木馬的可執行檔案(.exe)(PE檔案)的情況下進行免殺。

網站源碼:分腳本類型,分應用方向 作業系統:Windows linux 中間件(搭建平台):apache iis tomcat nginx等 資料庫:access mysql mssql oracle sybase db2 psotsql等。存儲了大量與網站相關的資料以及管理者資料
安全測試分為四個層面,包括通信層、應用服務層、系統層、管理層的測試
使用者接觸web層面最多,大部分都是從web頁面入手慢慢滲透到伺服器。直接從作業系統入手不太現實(大部分情況下接觸不到)。
git源碼洩露 svn源碼洩露 hg源碼洩漏 CVS洩露 Bazaar/bzr洩露 網站備份壓縮檔案 <code>WEB-INF/web.xml</code> 洩露 DS_Store 檔案洩露 SWP 檔案洩露 GitHub源碼洩漏
IIS中間元件--1、PUT漏洞2、短檔案名猜解3、遠端代碼執行4、解析漏洞 Apache中間元件--1、解析漏洞2、目錄周遊 Nginx中間元件--1、檔案解析2、目錄周遊3、CRLF注入4、目錄穿越 Tomcat中間元件--1、遠端代碼執行2、war後門檔案部署 jBoss中間元件--1、反序列化漏洞2、war後門檔案部署 WebLogic中間元件--1、反序列化漏洞2、SSRF3、任意檔案上傳4、war後門檔案部署 其它中間件相關漏洞--1、FastCGI未授權通路、任意指令執行2、PHPCGI遠端代碼執行
弱密碼、SQL注入等
提權、代碼執行漏洞等。
被利用的第三方ActiveX插件漏洞,涉及迅雷、暴風影音、百度超級搜霸、realplayer等多款常見軟體的部分版本中,而且其中多數漏洞曾經是或者現在仍是0day漏洞。它是相對于系統漏洞後一些插件的漏洞來說的,是以叫第三方漏洞。
有些APP核心就是網站

繼續閱讀