滲透相關問題(一)

1.什麼是kali?
kali Linux是基於Debian的Linux發行版,最早是設計用於數字取證的操作系統,被稱爲BackTrack(基於ubuntu),kali集成了精心挑選的滲透測試和安全審計的工具,供滲透測試和安全設計人員使用。也可稱之爲平臺或者框架。其擁有超過300個工滲透測試工具,並且永久免費。

2.爲什麼要用kali?
kali集成了在滲透測試裏的工具,大約三百多個,並且大多數都是開源的

3.懸劍是什麼?
懸劍更加便於初級滲透測試,基於Windows10爲平臺,佔用內存較大,不建議使用,有4個版本,3.0,4.0都需要收費以及相關證書才能使用。

4.滲透測試的流程是什麼?
確定目標—信息收集—信息分析—工具準備—漏洞掃描 —漏洞驗證—信息分析—編寫文檔

5.對kali進行簡單描述。
集成了滲透測試所使用的大量工具,方便專業人士使用

6.黑盒測試和白盒測試的區別是什麼?
一個是內部測試,一個是外部測試,也可分爲知道源代碼和不知道源代碼的滲透測試。此時黑盒測試還是傳統的滲透測試,而白盒測試就偏向於代碼審計。

7.描述一些你知道的信息安全的概念詞語。
Web安全,滲透測試,逆向工程,dos攻擊,SQL注入,spool攻擊,XSS攻擊,爆破,反編譯,木馬,嗅探

8.常用的google語法有哪些用法?
Intext、intitle、allintitle、inurl、site、filetype、link、related、info、define.

9.主動信息收集和被動信息收集採用什麼方法?區別是什麼?
主動信息收集:通過直接訪問、掃描網站,這種流量將流經網站如AWVS、Nessus、OpenVAS、Burpsuite、OWASP ZAP。
被動信息收集:利用第三方的服務對目標進行訪問 瞭解,比如:Google hacking搜索、Shodan、fofa搜索等
區別:主動是指使用工具對目標進行掃描,被動是在網絡中正常的人工搜索。

10.請描述OWASP ZAP的工作原理是什麼?
OWASP(開放式Web應用程序安全項目),是web application 集成滲透測試和漏洞挖掘工具
ZAP以架設代理的形式來實現滲透性測試,類似於fiddler抓包機制。它將自己置於用戶瀏覽器和服務器中間,充當一箇中間人的角色,瀏覽器所有與服務器的交互都要經過ZAP,這樣ZAP就可以獲得所有這些交互的信息,並且可以多他們進行分析、掃描,甚至是改包再發送。

11.OWASP TOP 10漏洞有哪些?
1)SQL 注入;2)失效的身份認證;3)敏感數據泄露;4)外部實體(XXE);5)失效的訪問控制;6)安全配置錯誤;7)跨站腳本攻擊(XSS);8)不安全的反序列化;9)使用含有已知漏洞的組件;10)不足的日誌記錄和監控

12.如果是滲透測試一個web網站,我們應該收集哪些信息?
IP、主機系統類型、版本、端口、是否安全機制、後臺目錄、文件、腳本語言、中間件、服務類型

13.常見的容器有哪些?
Apache(跨平臺性強)、Nginx(輕量級,高性能)、Tomcat(Apache公司的,且免費)、IIS(可以添加和刪除模塊)

14.滲透的信息收集應該從哪些方向收集
DNS收集、敏感目錄收集、端口掃描收集、瀏覽器語法、子域探測、旁站探測、C段查詢、整站識別、Waf探測、工具網站

15.layer子域挖掘機、whatweb的工作原理是什麼?
Layer子域名挖掘機:是一款域名查詢工具,可提供網站子域名查詢服務;支持服務接口、暴力搜索、同服挖掘三種模式,其通過字典對目標域名進行訪問,如果有那個子域則返回200(訪問成功)的一個狀態。
Whatweb:是一個web應用程序指紋識別工具。

16.敏感信息如何挖掘?
1)獲取域名的whois信息,獲取註冊者郵箱姓名電話等;2)查詢服務器旁站以及子域名站點,因爲主站一般比較難,所以先看看旁站有沒有通用性的cms或者其他漏洞;3)查看服務器操作系統版本,web中間件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞;4)查看IP,進行IP地址端口掃描,對響應的端口進行漏洞探測,比如 rsync,心臟出血,mysql,ftp,ssh弱口令等;5)掃描網站目錄結構,看看是否可以遍歷目錄,或者敏感文件泄漏,比如php探針;6)google hack 進一步探測網站的信息,後臺,敏感文件。

17.常見的數據庫有哪些?分別有哪些特點?
Access:關係型,具有圖形用戶界面
MySQL:關係型,熱門數據庫之一,查詢速度快
SQL server:關係型,可伸縮性好與相關軟件集成程度高等優點
Oracle:關係型,最流行之一,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的、適應高吞吐量的數據庫方案。

18.如何探測系統類型?
在確定目標主機在線之後,應當識別他們使用的操作系統。這個工作稱爲識別操作系統也叫操作系統指紋識別(分爲被動式和主動式)使用的工具:p0f、Nmap、banner抓取,1)TTL起始值:Windows xp(及在此版本之前的windows) 128 (廣域網中TTL爲65-128)Linux/Unix64(廣域網中TTL爲1-64)某些Unix:255網關:255;2)Nwap -o +目標ip掃描探測;3)大小寫敏感

19.whatweb是什麼?
Whatweb是一個基於Ruby語言的開源網站指紋識別軟件,正如它的名字一樣,whatweb能夠識別各種關於網站的詳細信息包括:CMS類型、博客平臺、中間件、web框架模塊、網站服務器、腳本類型、JavaScript庫、IP、cookie等。

20.C段和旁站是什麼意思?
C段:C段指的是同一內網段內的其他服務器,每個ip有ABCD四個段,舉個例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一臺服務器,也就是說是D段1-255中的一臺服務器,然後利用工具嗅探拿下該服務器。
旁站:旁站是和目標網站在同一臺服務器上的其他網站。

21.Apache和NGNIX的區別?
1)nginx比apache佔用的資源少;2)apache模塊多; 3)nginx處理併發能力強。

22.CDN是什麼?如何判斷?如何繞過?
CDN是內容分發網絡,主要解決因傳輸距離和不同運營商節點造成的網絡速度性能低下的問題。
CDN判斷:
1)使用各種多地ping的服務,查看對應ip地址是否唯一,如果不唯一多半是使用了CDN;2)使用nslookup進行檢測,原理同上,如果返回域名解析對應多個IP地址多半是使用了CDN;3)使用各種在線工具幫助檢測目標網站是否使用了CDN。
CDN繞過:
1)查詢DNS解析的歷史記錄;2)查詢子域名或根域名的IP;3)利用多地ping工具;4)與網站進行交互;5)全網掃描;6)利用相關庫;7)社會工程學

23.nslookup是什麼?有什麼用?
Nslookup是一個常用的cmd命令
作用:能找出IP對應的主機名,也能找出主機名對應的IP

24.ping是什麼,有什麼用?
Ping是一個常用的dos命令
用來檢查網絡是否通暢或網絡連接速度

25.CMS是什麼?常見的CMS有哪些?請描述哪些CMS有漏洞?
CMS相當於一個網站的模板,用戶只需要向其中放入美化後的頁面,一個門戶級的網站就出爐了。其供建站使用,一旦這個CMS出現問題那麼所有使用這個CMS模板的都會出現問題。
常見的CMS:Dedecms (織夢),Discuz,PHPWEB,PHPWind,PHPCMS,ECShop,Dvbbs,SiteWeaver,ASPCMS,帝國,Z-Blog,WordPress等。
漏洞:cookie注入漏洞、Sql注入漏洞、上傳漏洞、遍歷目錄漏洞、留言本寫馬漏洞

26.請描述shodan和fofa是什麼?
Shodan 是用來搜索網絡空間中在線設備的,你可以通過 Shodan 搜索指定的設備,或者搜索特定類型的設備,其中 Shodan 上最受歡迎的搜索內容是:webcam,linksys,cisco,netgear,SCADA等等。
hang可以迅速進行網站資產匹配,加快後續工作進程,如漏洞影響範圍分析,應用分佈統計,應用流行度排名統計等;當前版本覆蓋服務數量爲27757612個,覆蓋網站數量170332964個,覆蓋規則數量爲587條。

27.什麼是子域名探測?爲什麼要找子域名?域名的結構構成?查找域名的手段以及工具?
子域名探測是查找一個或多個域的子域名的過程。這是信息蒐集階段的重要組成部分;
1)子域名探測可以幫我們發現滲透測試中更多的服務,這將增加發現漏洞的可能性;2)查找一些用戶上較少,被人遺忘的子域名,其上運行的應用程序可能會使我們發現關鍵漏洞;3)通常,同一組織的不同域名/應用程序中存在相同的漏洞
一個完整的域名由2個或2個以上的部分組成,各部分之間用英文的句號“.”來分隔,最後一個“.”的右邊部分稱爲頂級域名(TLD,也稱爲一級域名),最後一個“.”的左邊部分稱爲二級域名(SLD),二級域名的左邊部分稱爲三級域名,以此類推,每一級的域名控制它下一級域名的分配。
Google和Bing等搜索引擎支持各種高級搜索運算符來優化搜索查詢:
1)可以在Google搜索中使用 site:運算符來查找一個域的所有子域名。谷歌還額外支持減號運算符site:*.wikimedia.org -www -store -jobs -uk以排除我們不感興趣的子域名
2)Bing搜索引擎也支持一些高級搜索運算符。與Google一樣,Bing也支持site:運算符,可以幫助您檢查除Google搜索之外的其他結果。
有許多第三方服務提供大量的DNS數據,可以用其檢索給定域名的子域名:
VirusTotal、DNSdumpster、Sublist3r等。

28.通過IP地址打開一個網站,經歷了哪些過程?
當使用IP地址訪問網站時,先使用TCP與服務器建立連接,然後再進行http請求,當服務器收到請求時,向客戶機進行響應,這就是一個完整的請求過程。

29.通過域名打開一個網站,經歷了哪些過程?
當使用域名進行訪問時,首先客戶機會向DNS服務器請求解析該域名的IP地址,當得到IP地址時才進行與網站服務器的鏈接和請求。

30.http請求包有哪些部分構成?
一共有四個部分:請求行、請求頭行、請求行、請求數據行

31.URL地址由哪幾個部分構成?
協議、域名或IP端口、路徑、發送給http服務器的數據、錨點

32.請描述Burp是什麼工具?有哪些作用?
Burp是用於攻擊web應用程序的一個集成了多種功能的黑客工具;可以進行封包的抓取、篡改、漏洞的掃描等。

33.對http請求包進行詳細分析
在這裏插入圖片描述

34.對http響應包進行詳細分析
在這裏插入圖片描述

34.get和post的區別?
Get請求會以明文顯示提交的信息,不安全。Post則是通過表單提交,會對數據加密;get請求是直接將參數跟在url的後面進行提交。Post則是寫在http的body中。

35.sql注入漏洞手動探測方法
數字型:
這種類型可以使用經典的 and 1=1 和 and 1=2 來判斷:
Url 地址中輸入 www.xxx.com/abc.php?id= x and 1=1
頁面依舊運行正常,繼續進行下一步。
Url 地址中繼續輸入 www.xxx.com/abc.php?id= x and 1=2
頁面運行錯誤,則說明此 Sql 注入爲數字型注入。
字符型:
這種類型我們同樣可以使用 and ‘1’='1 和 and ‘1’=‘2來判斷:
Url 地址中輸入 www.xxx.com/abc.php?id= x’ and ‘1’=‘1
頁面運行正常,繼續進行下一步。
Url 地址中繼續輸入 www.xxx.com/abc.php?id= x’ and ‘1’='2
頁面運行錯誤,則說明此 Sql 注入爲字符型注入。

36.數據庫中如何註釋
–+;–空格;#;/* */。

37.version()是一個什麼函數?
查看當前版本

38.order by 用來做什麼
檢測數據表有多少個字段

39.請介紹information_schema數據庫相關信息
schemata:保存了當前服務器上的所有數據庫名(schema_name)
tables:保存了當前服務器上的所有的數據庫名(table_schema)和表名(table_name)
columns:保存了當前服務器上所有的數據庫名(table_schema)和表名(table_name)和字段名(column_name)

40.sql注入漏洞原理是什麼?
攻擊者通過對參數的控制,上傳一些惡意的sql語句帶入數據庫,來實現對數據庫的控制。

41.limit 是什麼?
Limit是限制內容輸出的關鍵字,可以指定查詢結果的顯示數目

42.sql注入的前提條件
1)有參數。並且參數可以控制;2)參數帶入數據庫的查詢;3)前端頁面對用戶所輸入的參數沒有做合法性的判斷

43.union是什麼?
Union 聯合、合併:將多條查詢語句的結果合併成一個結果,union 注入攻擊爲一種手工測試。

44.group_concat是什麼?
group_concat是一個組合函數

45.什麼叫 0day 漏洞?
在軟件或者其他東西發佈後,短時間出現其破解程序的都可以稱之爲0day漏洞,0day是一個統稱,所有破解程序都可以叫0day,已被發現(有可能未被公開),而官方還沒有相關補丁的漏洞

46.Payload是什麼?有什麼作用?
病毒通常會做出一些有害的或者是惡性的動作,在病毒代碼中實現這個功能的部分(代碼)叫做有效負載(payload)
pyload可以實現任何運行在受害者環境中的程序所能做的事情,並且能夠執行動作,包括破壞刪除文件,向病毒的作者或者任意的接收者發送敏感信息,以及提供通向被感染計算機的後門。

47.mysql 的網站注入,5.0 以上和 5.0 以下有什麼區別?
5.0以下是沒有information_schema這個系統表,無法列表名等,只能暴力跑表名
5.0以下是多用戶單操作,5.0以上是多用戶多操作

48.判斷出網站的 CMS 對滲透有什麼意義?
查找網上此CMS已曝光的程序漏洞。
如果開源,還能下載相對應的源碼進行代碼審計。

49.注入時可以不使用 and 或 or 或 xor,直接 order by 開始注入嗎?
使用and、or、xor只是爲了判斷此處是否爲注入點,如果確定爲注入點的話就可以省去此步步驟直接開始注入。

50.sql 注入有以下兩個測試選項,選一個並且闡述不選另一個的理由?
A.demo.jsp?id=2+1 B. demo.jsp?id=2-1
選B,+可能在url地址欄轉換爲空格,-號不影響

51.虛擬機的幾種連接方式及原理?
1)NAT-網絡地址轉換:默認使用VMnet8
它在主機和虛擬機之間用軟件僞造出一塊網卡,這塊網卡和虛擬機的ip處於一個地址段。同時,在這塊網卡和主機的網絡接口之間進行NAT。虛擬機發出的每一塊數據包都會經過虛擬網卡,然後NAT,然後由主機的接口發出。 虛擬網卡和虛擬機處於一個地址段,虛擬機和主機不同一個地址段,主機相當於虛擬機的網關,所以虛擬機能ping到主機的IP,但是主機ping不到虛擬機的IP。
2)Brigde——橋接:默認使用VMnet0
當採用橋接時,VMWare會虛擬一塊網卡和真正的物理網卡就行橋接,這樣,發到物理網卡的所有數據包就到了VMWare虛擬機,而由VMWare發出的數據包也會通過橋從物理網卡的那端發出。
3)Host-Only——私有網絡共享主機:默認使用VMnet1
提供的是主機和虛擬機之間的網絡互訪。只想讓虛擬機和主機之間有數據交換,而不想讓虛擬機訪問Internet,就要採用這個設置了。Host-only的條件下,VMWare在真正的Windows系統中,建立一塊軟網卡。這塊網卡可以在網絡連接中看到,一般是VMNET1,這塊網卡的作用就是使Windows看到虛擬機的IP。

52.請簡單描述聯合注入攻擊的步驟?
1)先判斷是否存在sql注入漏洞;2)再判斷數據表的字段數;3)判定查詢輸出的位置;4)脫庫,報數據庫名;5)爆表名;6)爆字段名;7)爆數據

53.http和https的區別?
HTTP的URL以http://開頭,而HTTPS的URL以https://開頭
HTTP是不安全的,而HTTPS是安全的
HTTP標準端口是80,而HTTPS的標準端口是443
在OSI網絡模型中,HTTP工作於應用層,而HTTPS工作在傳輸層
HTTP無需加密,而HTTPS對傳輸的數據進行加密
HTTP無需證書,而HTTPS需要認證證書

54.網頁在那個地方可能存在注入點?如何判斷是否存在注入?
在帶有參數的動態網頁中可能存在注入點,因爲有數據庫交互,一般是php、jsp頁面。
使用1’ 1 and 1=1 1 and 1=2 判斷是否有數字型注入漏洞
使用1’ 1’ and 1=1 --+ 1’ and 1=2 --+判斷是否有字符型注入漏洞

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