1. 程式人生 > >從面試題中學安全

從面試題中學安全

根據 Github 上的面經總結的一些安全崗面試的基礎知識,這些基礎知識不僅要牢記,而且要熟練操作,分享給大家,共勉。

1.對Web安全的理解

我覺得 Web 安全首先得懂 Web、第三方內容、Web 前端框架、Web 伺服器語言、Web 開發框架、Web 應用、Web容器、儲存、作業系統等這些都要了解,然後較為常見且危害較大的,SQL 注入,XSS 跨站、CSRF 跨站請求偽造等漏洞要熟練掌握。

第三方內容: 廣告統計、mockup 實體模型

Web前端框架: jQuery 庫、BootStrap

Web服務端語言: aps.net、php

Web開發框架: Diango/Rails/Thinkphp

Web應用: BBS ( discuz、xiuno ) / CMS ( 帝國、織夢、動易、Joomla ) / BLOG ( WordPress、Z-Blog、emlog )

Web 容器: Apache ( php )、IIS ( asp )、Tomcat ( java ) -- 處理從客戶端發出的請求

儲存:資料庫儲存 / 記憶體儲存 / 檔案儲存

作業系統: linux / Windows

2.http協議

安裝火狐瀏覽器常用外掛方便HTTP抓包除錯:

firebug:抓包與各種除錯

Tamper Data:攔截修改

Live Http Header:重放功能

Hackbar:編碼解碼 / POST 提交

Modify Headers:修改頭部

http常見狀態碼:

1xx:資訊提示,表示請求已被成功接收,繼續處理。

2xx:成功,伺服器成功處理了請求

3xx:重定向,告知客戶端所請求的資源已經移動

4xx:客戶端錯誤狀態碼,請求了一些伺服器無法處理的東西。

5xx:服務端錯誤,描述伺服器內部錯誤

200   請求成功,一般用於 GET 和 POST 請求

301   URL 重定向,永久移動

302   URL 重定向,臨時移動

404   請求資源不存在

400   客戶端請求有語法錯誤,不能被伺服器理解

401   請求未經授權

403   伺服器收到請求,但是拒絕服務

500   伺服器內部錯誤

503   伺服器當前不能處理客戶端請求,一段時間後可能恢復正常

GET 和 POST:

GET方法用於獲取請求頁面的指定資訊,如點選連結

POST方法是有請求內容的,由於向伺服器傳送大量資料,如提交表單

http 請求:

http 請求包括三個部分,請求行 ( 請求方法 )、請求頭 ( 訊息報頭 ) 和請求正文

http響應:

http 響應也由三部分組成,響應行,響應頭 ( 訊息報頭 ) 和響應正文 ( 訊息主題 )

3、資料庫

基本 SQL 語句

增:INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

刪:DELETE FROM 表名稱 WHERE 列名稱 = 值

查:SELECT 列名稱 FROM 表名稱

改:UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

mysql 有哪些表

mysql 自帶的資料庫有 information_schema、performance_schema、sys、mysql,information_schema 資料庫是 mysql 自帶的,它提供了訪問元資料庫的方式。

在 mysql 資料庫中,有 mysql_install_db 指令碼初始化許可權表,儲存許可權的表有:

1、user表: 使用者列、許可權列、安全列、資源控制列

2、db表 : 使用者列、許可權列

3、host表

4、table_priv表

5、columns_priv表

6、proc_priv表

sys 資料庫表說明 sys_config ,這是在這個系統庫上存在的唯一一個表了:

詳見這兩篇文章:

http://blog.csdn.net/xlxxcc/article/details/51754524 http://blog.csdn.net/huwei0518/article/details/43563583

mysql 提權方式 ( 搭建環境使用 mysql5.1 或以前的版本)

mof 提權:

拿到 Webshell 後:

1、找一個可寫目錄上傳mof檔案,例如上傳到 C:/Windows/nullevt.mof 程式碼如下:

2、執行load_file及into dumpfile把檔案匯出到正確的位置即可:

Select load_file('C:/Windows/nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof'

執行成功後,即可新增一個普通使用者,然後你可以更改命令,再上傳匯出執行把使用者提升到管理員許可權,然後3389連線即可

反彈埠提權

1、拿到 mysql root 許可權,無法通過網站 Getshell,利用 mysql 客戶端工具連線 mysql 伺服器,然後執行下面的操作:

2、本地監聽你反彈的埠

nc.exe -vv -l -p 2010      

成功後,你將獲得一個 system 許可權的 cmdshell

Mysql  udf 提權

目錄位置:

c:\windows\system32

具體如下:

連線到 mysql 以後,先匯出 udf.dll 到 c:\windows\system32 目錄下。

2、建立相應的函式並執行命令,具體如下:

某些情況下,我們會遇到 Can't open shared library 的情況,

這時就需要我們把 udf.dll 匯出到 lib\plugin 目錄下才可以,利用 NTFS ADS 流來建立資料夾

select @@basedir;   //查詢到mysql的目錄

select 'It is dll' into dumpfile 'C:\Program Files\MySQL\MySQL Server 5.1\lib::$INDEX_ALLOCATION';   //利用NTFS ADS建立lib目錄

select 'It is dll' into dumpfile 'C:\Program Files\MySQL\MySQL Server 5.1\lib\plugin::$INDEX_ALLOCATION'; //利用NTFS ADS建立plugin目錄

執行成功以後再進行匯出即可。

4.作業系統

死鎖以及為什麼發生死鎖,解除死鎖

死鎖是指一組相互競爭系統資源或進行通訊的程序間的"永久"阻塞。

產生死鎖的原因:

(1)競爭系統資源

(2)程序的推進順序不當

產生死鎖的四個必要條件:

(1) 互斥條件:一個資源每次只能被一個程序使用。

(2) 請求與保持條件:一個程序因請求資源而阻塞時,對已獲得的資源保持不放。

(3) 不剝奪條件:程序已獲得的資源,在末使用完之前,不能強行剝奪。

(4) 迴圈等待條件:若干程序之間形成一種頭尾相接的迴圈等待資源關係。

解除死鎖:

當發現有程序死鎖後,應立即把它從死鎖狀態中解脫出來,常採用的方法有:

剝奪資源:從其它程序剝奪足夠數量的資源給死鎖程序,以解除死鎖狀態;

撤消程序可以直接撤消死鎖程序或撤消代價最小的程序,直至有足夠的資源可用,死鎖狀態消除為止

所謂代價是指優先順序、執行代價、程序的重要性和價值等。

程序之間通訊方式:

訊號,管道,訊息佇列,共享記憶體。

啟動流程 ( Windows ):

基本上作業系統是從計算機通電自檢完成後開始進行的,這一過程可以分為 ( 預引導、引導、載入核心、初始化核心、登入等 5 個階段 )

1) 預引導

通電自檢後,從引導裝置中讀取並執行主引導記錄MBR

2) 引導

引導階段又可以分為 初始化引導載入程式、作業系統選擇、硬體檢測、硬體配置檔案選擇

在這一過程中需要使用的檔案包括 ntldr、boot.ini、ntdetect.com、ntoskrnl.exe、ntbootdd.sys、bootsect.dos ( 非必須 )

A 初始化引導載入程式:

程式 ntldr 會自動尋找系統自帶的一個微型的檔案驅動,讀取檔案系統驅動併成功找到硬碟上的分割槽後,引導載入程式的初始化過程就已經完成。

B 作業系統選擇:

ntldr 程式完成了初始化工作後就會從硬碟上讀取 boot.ini 檔案,進行作業系統選擇(多系統)

C 硬體檢測:

作業系統選擇了想要載入的 Windows 系統後,ntdetect.com 首先要將當前計算機中安裝的所有硬體資訊收集起來並列成一個表,接著將該表傳送給 ntldr,這個表的資訊稍後會被用來建立登錄檔中有關硬體的鍵。這裡需要被收集資訊的硬體包括匯流排 / 介面卡型別顯示卡、通訊埠、串列埠、浮點運算器 ( CPU )、可移動儲存器、鍵盤、指示裝置 ( 滑鼠 )。

D 配置檔案選擇:

這個步驟不是必須的。

只有在計算機(常用於膝上型電腦)建立了多個硬體配置檔案的時候才需要處理這一步

3) 載入核心階段

在這一階段,ntldr 會載入 Windows 的核心檔案 ntoskrnl.exe,但這裡僅僅是載入,核心此刻還不會被初始化。隨後被載入的是硬體抽象層。接下來要被核心載入的是:HKEY_LOCAL_MACHINE\System 登錄檔鍵。

ntldr 會根據載入的 Select 鍵的內容判斷接下來需要載入哪個 ControlSet 登錄檔鍵,這些鍵決定隨後系統會載入哪些裝置驅動或者啟動哪些服務。

這些登錄檔鍵的內容被載入後,系統將進入初始化核心階段。

這時候ntldr會將系統的控制權交給作業系統核心。

4) 初始化核心階段

在這一階段中主要會完成 4 項任務:

建立 Hardware 登錄檔鍵、對 Control Set 登錄檔鍵進行復制載入和初始化裝置驅動、啟動服務

A.建立Hardware登錄檔鍵:

Windows 核心會使用前面硬體檢測階段收集倒的硬體資訊來建立 HKEY_LOCAL_MACHINE/Hardware 鍵。也就是說登錄檔中該鍵的內容不是固定的,會根據系統中的硬體配置情況動態更新。

B.對Control Set登錄檔鍵進行復制:

如果上一步成功,系統核心會對 Control Set 鍵的內容建立一個備份。這個備份會被用在系統的高階啟動選單中 "最後一次正確的配置" 選項。

例如,系統新裝了一個顯示卡驅動,Hardware 還沒有建立成功系統就崩潰了,這時就可以使用"最後一次正確的配置"選項,用上一次 Control Set 登錄檔鍵的備份內容重新生成 Hardware 鍵,從而撤銷因安裝了顯示卡驅動對系統設定的更改。

C.載入和初始化裝置驅動:

作業系統核心首先會初始化之前在載入核心階段載入的底層裝置驅動,然後會在登錄檔的,HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services 鍵下查詢所有 Strat 鍵值為 1 的裝置驅動,這些裝置驅動將會在載入之後立刻進行初始化。

D.啟動服務:

系統核心成功載入並且成功初始化所有底層裝置驅動後,ntoskrnl.exe 建立會話管理器程序 smss.exe,這是第一個使用者態程序 會話管理器會啟動其他高層子系統和服務,載入並初始化核心模式中的 Win32 子系統 ( win32k.sys ),啟動 csrss.exe ( win32 子系統在使用者模式的部分 ),進而啟動 Win32 子系統。Win32 子系統的作用是控制所有輸入 / 輸出裝置以及訪問顯示裝置。當這些操作都完成後,Windows 的圖形介面就可以顯示出來了,同時使用者也將可以使用鍵盤以及其他 I/O 裝置。

接下來會話管理器會啟動 winlogon 程序。至此,初始化核心階段已經成功完成,這時候使用者就可以開始登陸了。

5)登入階段

這一階段,由會話管理器啟動的 winlogon.exe 程序將會啟動本地安全性授權 lsass.exe 子系統,載入圖形化標識和驗證 ( Graphical Identfication and Authentication,GINA ) 並等待使用者登入。

預設 GINA 是 Msgina.dll,可以自行開發 GINA 實現基於生物資訊的使用者登入 ( 指紋識別,人臉識別 ),然後啟動後臺服務管理器 services.exe ,通過它啟動所有標識為自動啟動的 Win32 服務程式。

在登入過程中,後臺可能仍在載入一些非關鍵的裝置驅動。系統會再次掃描 HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services 登錄檔鍵,尋找 Start 鍵的數值是 2 或者更大數字的服務。這些服務就是非關鍵服務,系統直到成功登入後才開始載入這些服務,至此,Windows 啟動過程完成。

執行緒:

執行緒有時候又被稱為輕量級程序,是程式執行的最小單元。

一個程序可對應多個執行緒,而一個執行緒只屬於一個程序。程序的執行是以執行緒為單位進行的,比如說一個簡單 “hello world” 程式只有一個執行緒,就是 main() 函式對應的執行緒。

保護模式,真實模式

保護模式與真實模式相對應,在保護模式下, CPU 的定址模式與真實模式不同。

真實模式下的定址方式是 "段基址+段偏移",段的預設大小為 64kb ,所有段都是可讀寫的,唯有程式碼段是可執行的,段的特權級為 0。

特權級有 0、1、2、3 四個級別,0 特權級別最高,3 特權級別最低想要控制系統,就必須取得0特權級,比如除錯工具 SoftICE 就工作在0特權級上。

詳細:

http://blog.csdn.net/rosetta/article/details/8933200

5.https的建立過程

1.客戶端傳送請求到伺服器端 ( 支援的加密協議及版本,SSL,TLS )

2.服務端篩選合適的加密協議,返回 CA 證書和公開祕鑰(公開祕鑰作為證書的一部分而存在)

3.客戶端使用瀏覽器根證書驗證證書的合法性

4.如果驗證通過,客戶端生成對稱祕鑰,通過證書中的公鑰加密,傳送到服務端

5.服務端使用私鑰解密,獲取對稱祕鑰,使用對稱祕鑰加密資料

6.客戶端使用共享祕鑰解密資料,建立 SSL 加密通訊...

6.TCP三次握手的過程以及對應的狀態轉換

1) 源主機給目標主機發送一個 SYN 標誌位為 1 的資料包

2) 目標主機自動應答,SYN 和 ACK 均設定為 1,序號 SEQ 為 Y,並將確認號設定為 Y+1

3) 源主機收到目標主機返回的第二次握手的資料包後,向目的主機發送一個 ACK 標誌位為 1 的應答包示意對第二次握手確認要建立連線,第三次握手資料包的序號為 SEQ 為 X+1,確認號為 Y+1。    

7.SQL注入漏洞

基本原理和防範

應用程式對使用者輸入的資料校驗處理不嚴或者根本沒有校驗,以至使用者可以直接執行 SQL 查詢

1.對特殊字元進行轉義處理(可能被編碼繞過)

2.使用引數化語句 (完全杜絕 SQL 注入) 以 PHP 的 PDO 或 mysqli 為例:

PDO ( 使用序數引數 ):

除了資料庫資料,利用方式還有哪些?

A 獲取系統 shell

B 留資料庫後門

8.XSS漏洞

基本原理和分類

當應用程式傳送給瀏覽器的頁面中包含使用者提交的資料,但沒有經過適當驗證或轉義時,就會導致跨站指令碼漏洞。

分類:

反射型:經過後端,不經過資料庫

儲存型:經過後端,經過資料庫

DOM 型:不經過後端,DOM—based XSS 漏洞,是基於文件物件模型 ( Document Objeet Model,DOM ) 的一種漏洞,DOM xss 是通過 url 傳入引數去控制觸發的。

XSS防範

前端:

對使用者輸入進行編碼轉換

後端(在入口和出口都過濾):

對輸入和輸出都編碼轉換

可以自己編寫過濾函式,呼叫也行。或者查詢網上的 XSS 過濾函式。

xssfuzzing

一個基本的流程是:

1.檢測輸入點

2.潛在注入點檢測

3.生成 payload

4.Payload 攻擊驗證

詳細參考下面這篇文章:

https://www.qcloud.com/community/article/172258001490259493

xss還能幹什麼?

A 重定向網站

B 組建僵屍網路

更多:

http://bobao.360.cn/learning/detail/159.html

9.CSRF

原理與防範

由於瀏覽器自動傳送會話 Cookie 等認證憑證,導致攻擊者能夠建立惡意的 Web 頁面來產生偽造請求

案例:

上面一句話概括了 CSRF 的原理,下面我虛構了一個案例幫助理解:

123456:李白的使用者 ID

741741:杜甫的使用者 ID

941941:白居易的使用者 ID

李白正在某銀行網站給白居易轉賬,則有以下 URL

http://www.abc.com/zhuanzhang?=amount=500&fromAccount=123456&toAccount=941941

杜甫構造一個請求,把李白賬戶中的錢轉到自己賬戶中(並且修改了金額為 5000 )

<img http://www.abc.com/zhuanzhang?=amount=5000&fromAccount=123456&toAccount=741741" width="0" height="0">

杜甫在他控制的多個網站中嵌入這段程式碼,李白只要登入了銀行網站,又恰巧訪問了杜甫控制的網站,李白的 5000 塊錢就會轉給杜甫

防範:

1.給每個 HTTP 請求新增一個不可預測的令牌,並保證該令牌對每個合法使用者來說是唯一的,將獨有的令牌包含在隱藏欄位中,通過 HTTP 請求傳送,避免在URL中暴露出來。

2.要求使用者重新認證或判斷他是一個真實的使用者

csrf 如何不帶 referer 訪問?

那麼什麼是referer呢?

根據 HTTP 協議,在 HTTP 頭中有一個欄位叫 Referer,它記錄了該HTTP請求的來源地址。在通常情況下,訪問一個安全受限頁面的請求必須來自於同一個網站。比如某銀行的轉賬是通過使用者訪問 http://bank.test/test?page=10&userID=101&money=10000 頁面完成,使用者必須先登入 bank.test,然後通過點選頁面上的按鈕來觸發轉賬事件。當用戶提交請求時,該轉賬請求的 Referer 值就會是轉賬按鈕所在頁面的 URL(本例中,通常是以 bank. test 域名開頭的地址)。而如果攻擊者要對銀行網站實施 CSRF 攻擊,他只能在自己的網站構造請求,當用戶通過攻擊者的網站傳送請求到銀行時,該請求的 Referer 是指向攻擊者的網站。因此,要防禦 CSRF 攻擊,銀行網站只需要對於每一個轉賬請求驗證其 Referer 值,如果是以 bank.test 開頭的域名,則說明該請求是來自銀行網站自己的請求,是合法的。如果 Referer 是其他網站的話,就有可能是 CSRF 攻擊,則拒絕該請求。

測試發現:

測試發現 302 跳轉不會帶 referer,可以直接請求配置寫 php 程式碼實現不帶 referer 訪問

302 跳轉 php 程式碼實現

還有更簡單的方式,使用 html 中 a 標籤的一個屬性

<a href="http://www.51xkx.cn" rel="noreferrer">test</a>

10.SSRF 漏洞

原理介紹

SSRF ( Server-Side Request Forgery: 伺服器端請求偽造) 是一種由攻擊者構造形成由服務端發起請求的一個安全漏洞。一般情況下,SSRF 攻擊的目標是從外網無法訪問的內部系統。正是因為它是由服務端發起的,所以它能夠請求到與它相連而與外網隔離的內部系統 SSRF 形成的原因大都是由於服務端提供了從其他伺服器應用獲取資料的功能且沒有對目標地址做過濾與限制。

比如從指定 URL 地址獲取網頁文字內容,載入指定地址的圖片,下載等等.

如何尋找?

一、從 Web 功能上尋找

1)分享:通過URL地址分享網頁內容

2)圖片載入與下載:通過URL地址載入或下載圖片

3)圖片、文章收藏功能

二、從 URL 關鍵字尋找

大致有以下關鍵字:

share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain

如果利用 google 語法加上這些關鍵字去尋找 SSRF 漏洞,耐心的驗證,現在還是可以找到存在的 SSRF 漏洞

如何深入利用?如何探測非 HTTP 協議?如何防範?

這兩篇文章寫的不錯,搭建環境什麼的都有:

http://www.91ri.org/17111.html

https://www.t00ls.net/articles-41070.html

11.如何滲透一個網站/思路(滲透測試流程)

1、資訊收集

whois 查詢    //站長工具

DNS 資訊     //站長工具

子域名查詢 //站長工具

旁站、C 段查詢:http://www.webscan.cc/

開放協議、作業系統、中介軟體、使用的開源 Web 應用(如 WordPress,憑藉經驗判斷)

用 nmap 進行埠掃描:

nmap-sP 192.168.1.100             //檢視一個主機是否線上

nmap 192.168.1.100               //檢視一個主機上開放的埠

nmap-p 1-1000 192.168.1.100     //掃描指定埠範圍

nmap-p 80 192.168.1.*          //掃描特定埠

nmap-O 192.168.1.100          //判斷目標作業系統型別

nmap-sV 192.168.1.100        //檢視目標開放埠對應的協議及版本資訊

獲取 WAF、IDS、防火牆資訊 ( 使用 hping3、wafw00f 等工具)

網站目錄 ( 使用工具 DirBuster )

資料庫型別:

我通常是通過中介軟體資訊和開放埠來判斷,這些只是判斷思路並不是 100% 正確

MySQL:Apache+PHP:3306

MSSQL:asp+IIS:1433

Oracle:Java+Tomcat:1521

PostgreSQL:5432

2.漏洞掃描

使用 w3af、AWVS、Nessus、APPscan 等專業的漏洞掃描器自動化掃描,或者,用自己收集的EXP編寫漏洞掃描器

3.漏洞利用

SQLmap:SQL 注入利用

BeFF:XSS 漏洞利用

Metasploit:漏洞利用模組

總而言之,根據掃描到的漏洞選擇合適的方法或工具來利用

4.許可權獲取

後臺編輯器提權、Webshell 提權、資料庫提權、內網滲透提權

5.分析報告

滲透測試範圍和內容 ( 包不包括社工··· )

脆弱性分析:

有哪些漏洞哪些風險等等、漏洞資訊以圖示出。

檢測過程

使用的方法和工具

改善建議和修復方案

如何獲得一個域名的郵箱列表

工具:

如何社工一個企業的員工資訊:

嗯,不太擅長,簡單說一下吧~

先線上搜尋他的公開資訊,社交賬號,社交圈子等等

可以先從他身邊的人間接瞭解他本人

然後以顧客的身份接近,套取所需資訊

再者時間充裕的可以跟蹤一下(違法危險,被抓住容易被揍成豬頭)

然後就是投其所好獲取信任了

12.需要認識的常見埠

13、如何獲取 Web 指紋

1:網頁中發現關鍵字

2:特定檔案的 MD5(主要是靜態檔案、不一定要是 MD5 )

3:指定 URL 的關鍵字

4:指定 URL 的 TAG 模式

whatweb ( Ruby 寫的 ) 是一個 web 應用程式指紋識別工具,可以鑑別出內容管理系統 ( CMS ),部落格平臺、統計分析軟體、javascript 庫、伺服器和其他更多Web程式。

whatweb 擁有超過 900 個外掛,外掛是用來鑑別 Web 應用系統的。

可以說 whatweb 是目前網路上比較強大的一款應用識別程式了。

它支援正則表示式、md5 hash 匹配、url 識別、HTML 標記模式、蜘蛛爬行等等

下載地址:

https://github.com/urbanadventurer/whatweb/

plecost 是基於 python 架構,利用了 Beautiful Soup 來解析 html、xml 檔案,識別網站使用的外掛及版本。kali 系統上集成了這個工具。(感興趣的可以試著讀讀它的程式碼,自己開發一個指紋識別工具)

14.如何程式碼審計

自己找到過的程式碼審計問題

15.如何做掃描器-思路-為什麼要這麼設計

埠掃描器:

通過連線測試服務埠可以判斷埠是否開放

(1) TCP 全連線掃描

嘗試與目標主機建立正常的TCP三次握手,如果能建立三次握手,說明目標埠開放,但是掃描過程容易被檢測到。

(2) TCP SYN 掃描 ( TCP 的半連線掃描)

利用 TCP 前兩次握手,如第二次握手回覆了,則證明埠開放,因為沒有第三次握手建立連線,降低了被發現的可能,同時提高了掃描效能

(3) TCP FIN 掃描

向目標主機發送 FIN 標誌位為 1 的資料包進行探測。

如果目標埠開放,則丟棄此包,不進行迴應

若未開放,則返回一個 RST 標誌位為 1 的資料包

這種掃描更隱祕又叫祕密掃描通常用於 UNIX 作業系統主機

有的 Windows 主機 ( Windows NT ),不論埠是否開放都回復 RST。

(4) UDP 的 ICMP 埠不可達掃描

用 UDP 協議向目標主機 UDP 埠傳送探測資料包。

如果目標埠未開啟,會返回一個 ICMP_PORTUNREACHABLE 錯誤。

根據是否收到這個訊息,可以發現關閉的 UDP 埠

(5) ICMP 掃描

用 ICMP 協議向目標主機發送一個協議存在錯誤的 IP 資料包

根據反饋的 ICMP 資訊判斷目標主機使用的網路服務和埠

(6) 亂序掃描和慢速掃描

將掃描埠的順序打亂,降低掃描速度,躲避防火牆和入侵檢測系統的檢查

漏洞掃描器

用模擬攻擊掃描出具體的漏洞型別

比如 SQL 漏洞掃描器用 payload 字元去試、使頁面報錯

一個 SQL 漏洞掃描器例項:

http://blog.csdn.net/oxuzhenyi/article/details/72763486?locationNum=13&fps=1

防範掃描可以在目標主機和網路的外圍邊界部署防火牆和入侵檢測系統

16.黑客兵器譜(滲透常用工具)

資訊收集: Maltego

Web 程式 ( 攔截、重放 ):Burp suite

埠掃描: nmap (其實不僅僅是埠掃描它的指令碼也很有用)

漏洞掃描:w3af、AWVS、Nessus、AppScan

SQL 注入神器: SQLmap

sqlmap 給出型別對安全研究有什麼幫助(區別有、無),tamper 指令碼使用:信安之路的一篇總結挺好,地址:

XSS利用框架:BeEF

漏洞利用框架:metasploit

爆破利器:Hydra

17.python

基礎類庫

常用第三方類庫、爬蟲的基本流程

18.挖過哪些有趣的漏洞講述過程

沒有拿得出手的?

分享一個域名劫持釣魚獲取管理許可權的思路文章吧:

19.還有就是 HR 面的時候,記住一定要準備一份自己的職業規劃。