版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【ch13】靶機(jī)文件包含漏洞與審計(jì)【ch14】靶機(jī)文件操作類(lèi)漏洞與審計(jì)【ch15)靶機(jī)其他類(lèi)型漏洞與審計(jì)【ch16】
靶機(jī)框架漏洞與審計(jì)部署工作環(huán)境Web
安全漏洞及代碼審計(jì)(第2版)(微課版)【ch01】
部署工作環(huán)境【ch02】
初識(shí)審計(jì)軟件【ch03】
初基于DVWA
的漏洞分析與代碼審計(jì)
【ch04】
靶機(jī)SQL
注入漏洞與審計(jì)【ch05】靶機(jī)跨站腳本攻擊漏洞與審計(jì)【ch06】靶機(jī)跨站請(qǐng)求偽造漏洞與審計(jì)【ch07】
靶機(jī)服務(wù)端請(qǐng)求偽造漏洞與審計(jì)【ch08】
靶機(jī)XML
外部實(shí)體注入漏洞與審計(jì)
【ch09】
靶機(jī)代碼執(zhí)行漏洞與審計(jì)【ch10】靶機(jī)命令執(zhí)行漏洞與審計(jì)【ch11】靶機(jī)反序列化漏洞與審計(jì)【ch12】靶機(jī)任意文件上傳漏洞與審計(jì)項(xiàng)目1全套可編輯PPT
課件01
項(xiàng)目知識(shí)準(zhǔn)備
代碼編輯工具在學(xué)習(xí)語(yǔ)言之初,最先需要做的就是進(jìn)行環(huán)境搭建。只有配置好相應(yīng)的環(huán)境,才能部署一套業(yè)務(wù)系統(tǒng)。同時(shí),一個(gè)漏洞在不同環(huán)境中的利用方式可能不同。因此,我們需要在不同平臺(tái)上對(duì)多個(gè)PHP
版本進(jìn)行切換測(cè)試。這時(shí)就需要一套可以支持多環(huán)境切換、支持不同PHP版本切換等功能的集成環(huán)境。1.p
hpStudyphpStudy
的Linux
版和Windows
版同步上線,支持Apache/Nginx/Tengine/Lighttpd/IS7/8/6
。目
前
,
該程序包集成了最新的Apache+Nginx+Lighttpd+PHP+MySQL+phpMyAdmin+ZendOptimizer+Zend
Loader服務(wù),如圖1-1所示,支持一次性安裝,無(wú)須配置即可使用,是非常方便、好
用的PHP調(diào)試環(huán)境。項(xiàng)目知識(shí)準(zhǔn)備
代碼編輯工具2.WampServerWAMP
環(huán)境是指在Windows
服務(wù)器上使用Apache、MySQL和PHP的集成安裝環(huán)境,如圖1-2所示。WampServer
可以快速安裝和配置Web
服務(wù)器,集成了Apache、MySQL、PHP、phpMyAdmin
服務(wù),只需要在菜單“開(kāi)啟/關(guān)閉”處單擊即可啟用或禁用這些服務(wù)。在安裝成功后,訪問(wèn)localhost
時(shí)會(huì)出現(xiàn)ServerConfiguration
(服務(wù)器配置)界面,如圖1-3所示。phpStudy2018
PHP-5.4.452.4.27
5.6.315.7.1910.2.8MySQL己經(jīng)啟動(dòng)…打開(kāi)工具箱Start
All
ServicesStop
All
ServicesRestart
AllServices三TockYourVirtualHosts
wwwdirectoryApacheMsaL01You
a
Your
VirtaalonYor
nosc一22:03:55建方法。代碼審計(jì)員通常會(huì)選擇安裝集成環(huán)境軟件包,如WAMP或LAMP,因?yàn)檫@些軟件包可以快速構(gòu)建用戶需要的PHP運(yùn)行環(huán)境。而在選擇安裝的集成環(huán)境軟件包時(shí),代碼審計(jì)員必須考慮集成環(huán)境的版本。同時(shí),對(duì)于服務(wù)軟件的版本(如PHP、MySQL、Apache等),可以嘗試使用最常用的版本(如PHP5.2.X、MySQL5.0及更高版本)來(lái)解決特殊漏洞。在測(cè)試過(guò)程中,我們可能需要安裝不同的服務(wù)軟件版本進(jìn)行測(cè)試,并且需要在不同的操作系統(tǒng)下進(jìn)行測(cè)試。可以在phpStudy官網(wǎng)上直接下載phpStudy安裝程序,之后只需要單擊phpStudy主界
WAMP/WNMP
環(huán)境搭建在構(gòu)建PHP代碼審計(jì)環(huán)境時(shí)由于它不是一個(gè)在線環(huán)境,因此為了便于環(huán)境的配置,可以嘗試使用最簡(jiǎn)單的構(gòu)01
項(xiàng)目知識(shí)準(zhǔn)備頁(yè)c3小招共eelO7厘本正式站
三-
×1一健宿助WAMD
·
開(kāi)nne
·
團(tuán)
數(shù)*工共網(wǎng)站數(shù)據(jù)庫(kù)8
FTP三軟件管理設(shè)置1#件Apod2439mP0958MgOLS728NpnL1511
■□E田
田
I
田國(guó)行m三8
Be文4202908-24142254MoL572世202001025o57正202002410225pad24E應(yīng)
2920634121d24正調(diào)產(chǎn)pA9G0L5726①版本A1.1首XP面中Apache和MySQL等套件后面的“啟動(dòng)”按鈕,即可啟動(dòng)相應(yīng)服務(wù),如圖1-
4所示。T01
項(xiàng)目知識(shí)準(zhǔn)備
WAMP/WNMP
環(huán)境搭建在啟動(dòng)服務(wù)后,訪問(wèn)http://localhost/
即可看到“站點(diǎn)創(chuàng)建成功”的信息提示,如圖1-5所示。選擇界面左側(cè)的“網(wǎng)站”標(biāo)簽,進(jìn)入網(wǎng)站管理界面,在右側(cè)“操作”列中單擊“管理”按鈕,即可在彈出的菜單中選擇相關(guān)命令,更改配置和切換Web
服務(wù)組合,如圖1-6所示。但是,有時(shí)在啟動(dòng)Web
服務(wù)時(shí),Nginx
服務(wù)無(wú)法啟動(dòng)。最常見(jiàn)的情況是WebServer
服務(wù)端口被占用和WebServer
配置文件發(fā)生錯(cuò)誤。對(duì)于WebServer
服務(wù)端口被占用的情況來(lái)說(shuō),有兩種解決方案:第一種是通過(guò)更改配置文件中的監(jiān)聽(tīng)端口來(lái)更改WebServer
的服務(wù)端口;第二種是結(jié)束占用端口的進(jìn)程。01
項(xiàng)目知識(shí)準(zhǔn)備
LAMP
環(huán)境搭建很多時(shí)候,在不同的操作系統(tǒng)下,漏洞的測(cè)試結(jié)果也可能不同。舉一個(gè)簡(jiǎn)單的例子,如果文件包含截?cái)啵瑒tWindows
和Linux下的截?cái)嘀g存在差異。為了更好地測(cè)試漏洞,需要在Linux下構(gòu)建一個(gè)PHP
環(huán)境。而為
了方便地調(diào)整測(cè)試環(huán)境,仍然選擇phpStudy
來(lái)構(gòu)建LAMP
環(huán)境。phpStudy
支持Linux,
如CentOS、Ubuntu和Debian。phpStudy
的安裝過(guò)程如下:wget-chttp://-lamp.phpstudy***.net/phpstudy.bin·chmod+xphpstudy.bin→#
權(quán)限設(shè)置?./phpstudy.bin→→→#運(yùn)
行
安
裝項(xiàng)目知識(shí)準(zhǔn)備
PHP
核心配置1.安全模式PHP安全模式表示PHP以安全模式運(yùn)行,當(dāng)safe_mode=on
時(shí),它會(huì)提供一個(gè)基本安全的共享環(huán)境。在部署PHP環(huán)境的Web
服務(wù)器上,如果服務(wù)器運(yùn)行的PHP開(kāi)啟了安全模式,就會(huì)有一些函數(shù)被完全禁止或被限制一些功能,但是在PHP
5.4之后的版本中已經(jīng)刪除了安全模式及其相關(guān)設(shè)置。在開(kāi)啟安全模式的情況下,一些文件操作類(lèi)函數(shù)的功能將會(huì)受到限制。如果想要操作某個(gè)文件,就需要擁有該文件的讀取或?qū)懭氲脑L問(wèn)權(quán)限,而實(shí)現(xiàn)此類(lèi)功能對(duì)于PHP來(lái)說(shuō)是沒(méi)有問(wèn)題的。但是,當(dāng)開(kāi)啟安全
模式后,用戶嘗試寫(xiě)入或讀取一個(gè)本地文件時(shí),PHP
會(huì)檢查當(dāng)前訪問(wèn)的用戶是不是該文件的擁有者,如果不是,則該用戶的操作會(huì)被禁止,此時(shí)安全模式等同于模擬實(shí)現(xiàn)了防止一個(gè)用戶操作另一個(gè)用戶的文
件的功能。受限制的文件操作類(lèi)函數(shù)如下:chdir,move_uploaded_file,chgrp,parse_ini_file,chown,rmdir,copy,rename,fopen,require,highlight_file,show
source.include.symlink.link.touch.mkdir.unlinke01項(xiàng)目知識(shí)準(zhǔn)備
PHP
核心配置1
.
安全模式同樣地,如果在開(kāi)啟安全模式的情況下,當(dāng)需要執(zhí)行系統(tǒng)程序時(shí),必須在safe_mode_exec_dir選項(xiàng)指定的目錄下執(zhí)行程序,否則程序?qū)?huì)執(zhí)行失敗。另外,背部標(biāo)記操作符()也將會(huì)被關(guān)閉,常見(jiàn)執(zhí)行命令
的函數(shù)列表也將會(huì)受到影響。常見(jiàn)執(zhí)行命令的函數(shù)如下:exec,shell_exec,passthru,system,popene同樣地,如果在開(kāi)啟安全模式的情況下,當(dāng)需要執(zhí)行系統(tǒng)程序時(shí),必須在safe_mode_exec_dir選項(xiàng)指定的目錄下執(zhí)行程序,否則程序?qū)?huì)執(zhí)行失敗。另外,背部標(biāo)記操作符()也將會(huì)被關(guān)閉,常見(jiàn)執(zhí)行命令
的函數(shù)列表也將會(huì)受到影響。常見(jiàn)執(zhí)行命令的函數(shù)如下,在開(kāi)啟安全模式后,結(jié)果如圖1-7所示。<?php?Sa='ipconfig';?system(Sa);?
Warning:systemo
function.systeml
:Cannot
execute
a
blank
command
in
C:\phpStudy\PHPTutorial\www\safe.php
on
line?>e01項(xiàng)目知識(shí)準(zhǔn)備
PHP
核心配置2.禁用函數(shù)在運(yùn)行環(huán)境中,如果未開(kāi)啟安全模式,則可以使用此指令來(lái)禁止一些敏感函數(shù)的使用。在默認(rèn)狀態(tài)下,
disable_functions是沒(méi)有禁止任何PHP函數(shù)運(yùn)行的。在配置禁用函數(shù)時(shí),應(yīng)使用逗號(hào)來(lái)分隔函數(shù)名,例如:disable
functions=2assert,popen,system,pasthru,shell_exec,proc_close,proc_open,pcntl_exece測(cè)試代碼如下,在通過(guò)disable_functions配置禁用函數(shù)后,結(jié)果如圖1-8所示。<?php
①localhost/safe.php
☆system(Sa);?
Warning:
system()has
been
disabled
for
security
reasons
inC:\phpStudy\PHPTutorial\www\safe.php
online3Sa='ipconfig';?01項(xiàng)目知識(shí)準(zhǔn)備
PHP
核心配置3.魔術(shù)引號(hào)過(guò)濾magic_quotes_gpc
在php.ini文件中是默認(rèn)開(kāi)啟的,用于設(shè)置GPC($_GET、$_POST、$_COOKIE)的魔
術(shù)引用狀態(tài)(在PHP4中還包含$_ENV)
。
當(dāng)開(kāi)啟magic_quotes_gpc
時(shí),所有的單引號(hào)(')、雙引號(hào)(
"
)
、
反
斜
線(
\
)
和NULL(NULL字符)都會(huì)被反斜線自動(dòng)轉(zhuǎn)義,相當(dāng)于調(diào)用了addslashes()函數(shù)。
測(cè)試代碼如下:<?phpSa=$_GET[a];
echo
Sa;?011\'但是在PHP5中,magic_quotes_gpc并不會(huì)過(guò)濾$_SERVER變量,從而導(dǎo)致refer、client-ip等漏洞被利
用,所以在PHP5.3之后的版本中不推薦使用,并且在PHP
5.4之后的版本中已經(jīng)被取消。如果開(kāi)啟magic_quotes_runtime,則許多返回外部數(shù)據(jù)(如數(shù)據(jù)庫(kù)、文本)的函數(shù)將會(huì)被反斜線轉(zhuǎn)義。
它和magic_quotes_gpc
的區(qū)別是處理對(duì)象不同,magic_quotes_runtime是對(duì)外部引入的數(shù)據(jù)庫(kù)資料或者文件中的特殊字符進(jìn)行轉(zhuǎn)義,例如,在Discuz
1.0/Discuz3.x中,Discuz
安裝文件開(kāi)始部分的代碼就
使用了magic_quotes_runtime
這個(gè)函數(shù);而magic_quotes_gpc
是對(duì)post、get、cookie
等數(shù)組傳遞過(guò)來(lái)的數(shù)據(jù)進(jìn)行特殊字符轉(zhuǎn)義。測(cè)試代碼如下:01
項(xiàng)目知識(shí)準(zhǔn)備//safe.php//-0:代表關(guān)閉;1:代表打開(kāi)ini_set("magic_quotes_runtime"."1");?echo
file_get_contents("1.txt");?←→C
①localhost/safe.php222\"213213\'213123\\664345?>4//-1.txt?222"213213*213123\664345?
PHP
核心配置3.魔術(shù)引號(hào)過(guò)濾在allow_url_include
(默認(rèn)關(guān)閉)的配置為on
的情況下,可以直接包含遠(yuǎn)程文件,若包含的變量是可控
的,則可以直接控制變量來(lái)執(zhí)行PHP代碼。allow_url_open
(默認(rèn)開(kāi)啟)允許本地PHP
文件通過(guò)調(diào)用URL
重寫(xiě)來(lái)打開(kāi)或關(guān)閉寫(xiě)權(quán)限,通過(guò)默認(rèn)的封
裝協(xié)議提供的FTP
和HTTP
協(xié)議來(lái)訪問(wèn)文件。測(cè)試代碼如下:項(xiàng)目知識(shí)準(zhǔn)備
PHP
核心配置4.包含遠(yuǎn)程文件←→C
localhost/safe.php?a=http://localhost/1.txtSa=$_GET[a'];?
require($a);?222"213213'213123\66434501項(xiàng)目知識(shí)準(zhǔn)備
PHP
核心配置5.可訪問(wèn)目錄open_basedir
用于將PHP所能打開(kāi)的文件限制在指定的目錄樹(shù)中。當(dāng)程序想要使用fopen()
或file_get_contents()函數(shù)打開(kāi)一個(gè)文件時(shí),這個(gè)文件的位置將會(huì)被檢查。當(dāng)文件在指定的目錄樹(shù)之外時(shí),
程序?qū)⒕芙^打開(kāi)該文件,當(dāng)然本指令并不受打開(kāi)或關(guān)閉安全模式的影響。使
用open_basedir
需要注意的是:多個(gè)目錄需要以分號(hào)(;)分隔;在訪問(wèn)被限制的指定目錄時(shí),需要
使用斜線結(jié)束路徑名,如open_basedir=/www/dvwa/,如果將其設(shè)置為open_basedir=/www/dvwa,則/www/dvwa
和/www/dvwaaaaaaaa
都是可以訪問(wèn)的。另外,如果在程序中使用open_basedir,則
應(yīng)
將其寫(xiě)為ini_set('open_basedir',"指定目錄'),但是不建議使用這種方式。01在register_globals的配置為on
的情況下,傳遞過(guò)來(lái)的值會(huì)被注冊(cè)為全局變量,從而可以被直接使用;在
register_globals
的配置為off的情況下,需要通過(guò)特定的數(shù)組得到它。例如,當(dāng)register_globals=off
時(shí),
下一個(gè)程序應(yīng)該使用$_GET['username']
來(lái)接收傳遞過(guò)來(lái)的值;當(dāng)register_globals=on時(shí),下一個(gè)程序可以直接使用$username來(lái)接收傳遞過(guò)來(lái)的值。然而,register_globals從PHP
5.3起被棄用,并在PHP5.4
中被移除,因此不推薦使用。當(dāng)register_globals=off時(shí),檢查$_SESSION['username']是否被賦值,如果已經(jīng)被賦值,則會(huì)輸出username;如果尚未被賦值,則會(huì)輸出false。測(cè)試代碼如下:當(dāng)register_globals=on
時(shí),$_SESSION['username']可能會(huì)在其他HTTP請(qǐng)求中被賦值,結(jié)果如圖1-13所示。01
項(xiàng)目知識(shí)準(zhǔn)備→c①localhost/safe.php?SESSION[username]=adminnamo',false←→c①localhost/safe.php?_SESSION[username]=adminarname'1;username:admin
PHP
核心配置6.全局變量注冊(cè)開(kāi)關(guān)"usename:"S_SESSION[username].'false'l/register_globals=0fifisset(S_SESSION[usemame'T){→
…echo}else{→
…echo163任務(wù)1
部署Windows平臺(tái)的工作環(huán)境02
任務(wù)1
部署Windows平臺(tái)的工作環(huán)境
任務(wù)目標(biāo)能夠在Windows
平臺(tái)上部署PHP集成環(huán)境熟悉《中華人民共和國(guó)網(wǎng)絡(luò)安全法》中關(guān)于安全漏洞的條款。通過(guò)phpStudy
官網(wǎng)下載對(duì)應(yīng)的壓縮文件,并在下載成
功后將該文件解壓縮,之后在彈出的對(duì)話框中選擇安裝
路徑,如圖1-14所示,單擊“是”按鈕,進(jìn)行安裝。在
單擊“是”按鈕之后,即可將壓縮包內(nèi)的文件解壓縮到
指定目錄中,如圖1-15所示。
任務(wù)實(shí)施phpStudy2018自動(dòng)解壓包請(qǐng)選擇路徑(不能包含中文和空格)C:|phpstudy□是
否1.安裝運(yùn)行安裝路徑不能包含中文和空格!翼38%正在解壓中...38%02
任務(wù)1
部署Windows平臺(tái)的工作環(huán)境>此電腦>本地磁盤(pán)(C)>phpStudy>PHPTutorial>名稱(chēng)ApachebackupIISI
MySQLⅢNginxPHPSQL-FrontI
tmplI
toolswww修改日期2019/11/2819:142019/11/2819:142019/11/2819:142019/11/2819:142019/11/2819:142019/11/2819:142019/11/2819:142019/11/2819:142019/11/2819:152019/11/2819:14∨已類(lèi)型文件夾文件夾文件夾文件夾文件夾文件夾文件夾文件夾文件夾文件夾其中,主要內(nèi)容如下?!?/p>
HTTP服務(wù)器:Apache/Nginx/IIS?!?/p>
數(shù)
據(jù)
庫(kù)
:MySQL?!?/p>
腳本語(yǔ)言:PHP?!?/p>
根目錄:WWW?!?/p>
數(shù)據(jù)庫(kù)管理工具:
phpMyAdmin
(在根目錄下)。
任務(wù)實(shí)施在項(xiàng)目安裝服務(wù)目錄PHPTutorial中,可以看到對(duì)應(yīng)服務(wù),如圖1-16所示。2.
目錄結(jié)構(gòu)02
任務(wù)1
部署Windows平臺(tái)的工作環(huán)境
任務(wù)實(shí)施主界面如圖1-17所示,對(duì)Apache
的運(yùn)行狀態(tài)而言,綠燈表示正常,紅燈表
示不正常?!斑\(yùn)行模式”可以被設(shè)置為“系統(tǒng)服務(wù)”,以后臺(tái)進(jìn)程的方式常
駐內(nèi)存;也可以被設(shè)置為“非服務(wù)模式”,隨開(kāi)隨用。選擇“切換版本”選項(xiàng),即可在彈出的菜單中選擇對(duì)應(yīng)的版本及服務(wù),如圖
1-18所示。3.主界面4.切換版本02
任務(wù)1
部署Windows平臺(tái)的工作環(huán)境
任務(wù)實(shí)施單擊“其他選項(xiàng)菜單”按鈕,在彈出的菜單中選擇“phpStudy
設(shè)置”→“端口常規(guī)設(shè)置”命令,打開(kāi)“端口常規(guī)設(shè)置”對(duì)話框,如圖1-19所示。在該對(duì)話框中,
可以修改Apache的“httpd
端口”“網(wǎng)站目錄”、PHP的“全局全量”“腳本運(yùn)行最長(zhǎng)時(shí)間”及MySQL
的“端口”“最大連接數(shù)”等內(nèi)容。單擊“其他選項(xiàng)菜單”按鈕,在彈出的菜單中選擇“打開(kāi)host”命令,如圖1-20
所示,即可在彈出的對(duì)話框中修改hosts域名解析文件。6
.
修改hosts域名解析文件5.站點(diǎn)配置02
任務(wù)1
部署Windows平臺(tái)的工作環(huán)境
任務(wù)實(shí)施單擊“其他選項(xiàng)菜單”按鈕,在彈出的菜單中選擇“MySQL工具”命令,如圖1-22所示,即可設(shè)置或修改密碼,也可以在忘記密碼的情況下重置密碼,默認(rèn)的用
戶名/密碼是root。單擊“其他選項(xiàng)菜單”按鈕,在彈出的菜單中選擇“PHP擴(kuò)展及設(shè)置”命令,如圖1-21所示,即可開(kāi)啟/關(guān)閉PHP擴(kuò)展等。7.PHP
擴(kuò)展設(shè)置8.MySQL
管理02
任務(wù)1
部署Windows平臺(tái)的工作環(huán)境
任務(wù)實(shí)施單擊“其他選項(xiàng)菜單”按鈕,在彈出的菜單中選擇“phpMyAdmin”命令,即可彈出如圖1-23所示的登錄
界面,這時(shí)可以直接訪問(wèn)http://localhost/phpMyAdmin/,
默認(rèn)的用戶名/密碼是root。9.phpMyAdmin下面在Linux
平臺(tái)上進(jìn)行環(huán)境部署,目前,phpStudy
可以一鍵安裝Web
環(huán)境。CentOS的一鍵安裝命令如下、
Ubuntu/Deepin/Debian
的一鍵安裝命令如下:yum
install-y
wget&&wget-O
install.sh
https://download***xp.cn/install.sh&&-sh
install.shwget-Oinstall.shhttps://download***/install.sh&&sudobashinstall.sh能夠在Linux
平臺(tái)上部署PHP集成環(huán)境理解Linux開(kāi)放源代碼的特點(diǎn),以及我國(guó)信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)的發(fā)展動(dòng)因。03
任務(wù)2
部署Linux平臺(tái)的工作環(huán)境
任務(wù)目標(biāo)
任務(wù)實(shí)施1.一鍵安裝腳本任務(wù)2
部署Linux平臺(tái)的工作環(huán)境
任務(wù)實(shí)施2.安裝部署本書(shū)的Linux平臺(tái)的工作環(huán)境是在Ubuntu
16.04.3中進(jìn)行安裝和部署的,輸入一鍵安裝腳本,如圖1-24所示。在安裝結(jié)束后,結(jié)果如圖1-25所示,可以看到相關(guān)運(yùn)行狀態(tài)信息。docker
daemon
runningcentos_envcontainer
runningwebpanel
runningphpstudy
running請(qǐng)用瀏覽器訪問(wèn)面板
107
--D系統(tǒng)初始賬號(hào):admin系統(tǒng)初始密碼:Jemvll6GsU如果使用的是云服務(wù)器,請(qǐng)至安全組開(kāi)放9080端口如果使用ftp,請(qǐng)開(kāi)放21以及30000-30050端口如果在虛擬機(jī)安裝,請(qǐng)將ip換成虛擬機(jī)內(nèi)網(wǎng)ip===========================================0303
任務(wù)2
部署Linux平臺(tái)的工作環(huán)境操
一
作說(shuō)
·
明操
作說(shuō)明phpstudy-starte啟動(dòng)phpStudyphpstudy--visiturl查看面板登錄信息?phpstudy--astop停止phpStudyphpstudy-repaire修復(fù)主控Web面板?phpstudy-restarte笙啟phpStudyphpstudy-instinfo查看首次安裝信息?phpstudy-status查詢phpStudy狀態(tài)phpstudy--uninstalle卸載phpStudyphpstudy--initpwdnewpwd修改登錄密碼?phpstudy-h查看幫助信息?登錄瀏覽器訪問(wèn)面板,輸入系統(tǒng)提供的初始賬號(hào)和密碼,主界面
如圖1-26所示。
任務(wù)實(shí)施3.相關(guān)操作4.訪問(wèn)面板03
任務(wù)2
部署Linux平臺(tái)的工作環(huán)境□
口□
四四□日a
口選擇左側(cè)導(dǎo)航欄中的“軟件管理”標(biāo)簽,進(jìn)入軟件管理界面,可以看到PHP版本、MySQL
版本、Memcached
、Redis
等相關(guān)系統(tǒng)環(huán)境信息,單擊“安裝”按鈕,即可部署對(duì)應(yīng)的服務(wù)。在部署成功后,即可在對(duì)應(yīng)的“狀態(tài)”列中設(shè)置“已停止”或“運(yùn)行中”狀態(tài),如圖1-27所示。
任務(wù)實(shí)施5.軟件管理選擇左側(cè)導(dǎo)航欄中的“數(shù)據(jù)庫(kù)”標(biāo)簽,進(jìn)入數(shù)據(jù)庫(kù)列表界面,單
擊“添加數(shù)據(jù)庫(kù)”按鈕,彈出“添加數(shù)據(jù)庫(kù)”對(duì)話框,如圖1-28
所示。在該對(duì)話框中,先輸入數(shù)據(jù)庫(kù)名并選擇編碼格式,再輸入
用戶名和密碼并設(shè)置訪問(wèn)權(quán)限,最后單擊“保存”按鈕,即可創(chuàng)
建數(shù)據(jù)庫(kù)。單
擊“root密碼”按鈕,即可在彈出的對(duì)話框中修改root密碼,
如圖1-29所示。03
任務(wù)2
部署Linux平臺(tái)的工作環(huán)境
任務(wù)實(shí)施6.數(shù)據(jù)庫(kù)任務(wù)2
部署Linux平臺(tái)的工作環(huán)境
任務(wù)實(shí)施7.部署服務(wù)選擇左側(cè)導(dǎo)航欄中的“文件”標(biāo)簽,進(jìn)入文件管理界面,可以進(jìn)行“文件上傳”“新建文件”
“新建目錄”
“返回用戶根目錄”等操作,在右側(cè)“操作”列可以進(jìn)行“重命名”“權(quán)限”“壓縮”“刪除”等操作,其中根目錄在“/www/admin/localhost_80/”
中,如圖1-30所示。M工,
E
K
,
單
地
g
.□
si*GR
:va
音排起蘇
●
鼎為01amm口田Bg大a
大wsne031在Windows
平臺(tái)上部署PHP
集成環(huán)境。2在Linux平臺(tái)上部署PHP集成環(huán)境。04
項(xiàng)目復(fù)盤(pán)項(xiàng)目知識(shí)準(zhǔn)備
代碼編輯工具在代碼審計(jì)過(guò)程中需要用到很多輔助工具,也就是說(shuō),無(wú)論是編寫(xiě)程序還是進(jìn)行代碼審計(jì),都需要一款合適的代碼編輯器。
代碼編輯器如同學(xué)生的筆、醫(yī)生的手術(shù)刀一樣,是程序開(kāi)發(fā)人員在工作中的必備工具。可以說(shuō),好用的
開(kāi)發(fā)工具能夠極大地提高工作效率,因此,需要找到一款適合自己的代碼編輯器,使開(kāi)發(fā)效率更高,所
以本項(xiàng)目將重點(diǎn)介紹這些輔助工具的使用。1.S
ublime
Text
3Sublime
Text
3是一款具有代碼高亮顯示、語(yǔ)法提示、自動(dòng)完成且反應(yīng)快速等特點(diǎn)的編輯器軟件,支持插件擴(kuò)展機(jī)制。相比于較難上手的Vim
編
輯
器
,Sublime
Text
3編輯器的操作無(wú)疑簡(jiǎn)單很多,如圖2-1所示。01項(xiàng)目知識(shí)準(zhǔn)備
代碼編輯工具2.PhpStormPhpStorm
是JetBrains公司開(kāi)發(fā)的一款商業(yè)化PHP
集成開(kāi)發(fā)工具,如圖2-2所示。PhpStorm
可以隨時(shí)幫助用戶對(duì)其編寫(xiě)的代碼進(jìn)行調(diào)整、運(yùn)行單元測(cè)試或者提供可視化debug
功能。可以說(shuō),PhpStorm
是輕量級(jí)且便捷的PHPIDE,旨在提高用戶編寫(xiě)代碼的效率。
PhpStorm
可以深刻理解用
戶編寫(xiě)的代碼,提供智能代碼補(bǔ)全、快速導(dǎo)航及即時(shí)錯(cuò)誤檢查等功能,全面提升了用戶的PHP代碼編寫(xiě)效率,
并極大地節(jié)省了用戶的PHP代碼編寫(xiě)時(shí)間。01項(xiàng)目知識(shí)準(zhǔn)備
代碼審計(jì)工具1.Seay源代碼審計(jì)系統(tǒng)Seay
源代碼審計(jì)系統(tǒng)是一款基于C#
語(yǔ)言開(kāi)發(fā)的代碼審計(jì)工具,主要針對(duì)PHP
代碼進(jìn)行分析,具有自動(dòng)代碼審
計(jì)功能,簡(jiǎn)化了人工審計(jì)的煩瑣流程,使得代碼審計(jì)更加智能、簡(jiǎn)潔。它支持一鍵審計(jì)、代碼調(diào)試、函數(shù)定位、
插件擴(kuò)展、規(guī)則配置、代碼高亮、編碼轉(zhuǎn)換、數(shù)據(jù)庫(kù)管理和監(jiān)控等19項(xiàng)強(qiáng)大功能,主界面如圖2-3所示。在使
用Seay
源代碼審計(jì)系統(tǒng)時(shí),先單擊菜單欄中的“新建項(xiàng)目”按鈕,選擇需要審計(jì)的源代碼文件,然后單擊菜單欄中的“自動(dòng)審計(jì)”按鈕,進(jìn)入“自動(dòng)審計(jì)”界面,最后單擊“開(kāi)始”按鈕,系統(tǒng)就會(huì)開(kāi)始掃描并分析代碼
中的安全問(wèn)題。代碼中可能出現(xiàn)的漏洞詳情如圖2-4所示。Seay源代碼審計(jì)系統(tǒng)一鍵審計(jì)代碼調(diào)試函數(shù)定位插件擴(kuò)展規(guī)則配置代碼高亮審計(jì)報(bào)告函數(shù)查詢正則調(diào)試編碼轉(zhuǎn)換數(shù)據(jù)提交臨時(shí)記錄文件編輯英漢互譯黑盒審計(jì)全局搜索在線升級(jí)編輯器配置數(shù)據(jù)庫(kù)管理和監(jiān)控官
網(wǎng)
.SafeKey團(tuán)隊(duì)出品01項(xiàng)目知識(shí)準(zhǔn)備
代碼審計(jì)工具2.
RIPSRIPS
是一款基于PHP
開(kāi)發(fā)的源代碼分析工具,如圖2-11所示。它使用了靜態(tài)分析技術(shù),能夠自動(dòng)掃描PHP
源代碼潛在的安全漏洞。滲透測(cè)試人員可以直接審閱分析結(jié)果,而不用審閱整個(gè)程序代碼。它實(shí)現(xiàn)了在函數(shù)定義
和調(diào)用之間進(jìn)行靈活跳轉(zhuǎn)的功能,支持多種樣式的代碼高亮,還可以詳細(xì)地列出每個(gè)漏洞的描述、舉例、PoC、
補(bǔ)丁和安全函數(shù)。田mum
+io
LmJrur
l里三
:
,
二…
:3
3
g
m
h
e
n
x
r…
/0101
項(xiàng)目知識(shí)準(zhǔn)備
代碼審計(jì)工具2.RIPS新速?lài)娙?/p>
深第地明日
誠(chéng)自助*計(jì)金焊度案*計(jì)酒啡·代碼璃就的政章網(wǎng)山數(shù)描理
正端碼
回記量
系配路·
出關(guān)于系施·文件地摘碼:
P
-
8調(diào)寫(xiě):新譯:
m出自間面制加頁(yè)R營(yíng)1顆流地D
am路i*n10113oo19可
在
隔北
是
a
rc
轉(zhuǎn)
義
空B
引中展網(wǎng)得
:SQL音in中結(jié)人量無(wú)單引保護(hù),司能存直99L主人院間:[1eeLsfo
sC癲述:在在文件上悔,注意上佛典出墾否可這里所it:為了檔高甲計(jì)效率,建以如D3用如這量:原里用1.5這樣描字姓里a
hu--eaerer件e01
項(xiàng)目知識(shí)準(zhǔn)備此時(shí)可以看到,界面中多出了一個(gè)
“windows”視窗,如圖2-16所示,其中包括4個(gè)按鈕,具體作用如下。(1)files:
顯示掃描和已包含的文件。(2)user
input:顯示傳入的參數(shù),也可以在此回溯代碼,尋找可控的變量。(3)stats:
顯示可視化掃描結(jié)果。(4)functions:
顯示源代碼中所有定義的方法,在此可以快速定位到方法所在的位置。a");if
(1in_array($_GBT[patb/file:UsetsayDsktopDVWARIPS.verbosiy
levetcode
shje:Lusertarnted
onyayti
代碼審計(jì)工具2.RIPS
代碼審計(jì)工具3.Fortify
SCAFortify
SCA是HP
的一款商業(yè)化產(chǎn)品,也是一款靜態(tài)的、白盒的軟件源代碼安全測(cè)試工具,如圖2-17所示。它通過(guò)內(nèi)置的五大主要分析引擎——數(shù)據(jù)流、語(yǔ)義、結(jié)構(gòu)、控制流、配置流,對(duì)應(yīng)用軟件的源代碼進(jìn)行靜態(tài)分析,并在分析過(guò)程中與其特有的軟件安全漏洞規(guī)則集進(jìn)行全面的匹配、查找,從而將源代碼中存在的安全漏洞掃描
出來(lái),整理、生成完整的報(bào)告。掃描結(jié)果中不僅包括詳細(xì)的安全漏洞信息,還包括相關(guān)的安全知識(shí)說(shuō)明,以及相應(yīng)的修復(fù)建議。FortifySCA支持常見(jiàn)的操作系統(tǒng),如Windows、Solaris、RedHatLinux、OSX、HP-UX、IBM
AIX;提供常見(jiàn)開(kāi)發(fā)平臺(tái)的IDE插件,如Visual
Studio、Eclipse、RAD、RSA;可以檢測(cè)600多種源代碼安全漏洞。對(duì)于CWE組織發(fā)布的漏洞信息,F(xiàn)ortifySCA都會(huì)及時(shí)跟進(jìn)并更新漏洞庫(kù)。FortifySCA目前可以支持多達(dá)21種常見(jiàn)開(kāi)發(fā)語(yǔ)言的檢測(cè),可以掃描和分析有安全漏洞和安全隱患的源代碼。Fortify
SCA支持C/C++/C#、Java、VB,數(shù)據(jù)庫(kù)開(kāi)發(fā)語(yǔ)言Transact-SQL、PL/SQL,大型項(xiàng)目和管理平臺(tái)開(kāi)發(fā)語(yǔ)言COBOL、ColdFusion、ABAP、Flex,腳本語(yǔ)言JSP、JavaScript/AJAX、VBScript、Python,網(wǎng)絡(luò)和
網(wǎng)頁(yè)開(kāi)發(fā)語(yǔ)言ASP.NET、VB.NET、ASP、PHP、HTML,
以及移動(dòng)應(yīng)用開(kāi)發(fā)語(yǔ)言Android、Objective-C等。ScanJavaProject表示掃描Java項(xiàng)目
,Advanced
Scan表示高級(jí)掃描項(xiàng)目。在進(jìn)行高級(jí)掃描項(xiàng)目分析時(shí)(見(jiàn)圖2-18),會(huì)出現(xiàn)一些參數(shù),常見(jiàn)的參數(shù)及其含義如表2-1所示。01
項(xiàng)目知識(shí)準(zhǔn)備01
項(xiàng)目知識(shí)準(zhǔn)備數(shù)含
義b一個(gè)ba的D,通章以項(xiàng)目名稱(chēng)加豐掃描時(shí)聞來(lái)組成bD-Xmx指定這個(gè)SCA的JVM使用的最大內(nèi)存數(shù)dlkan青際之前轉(zhuǎn)換的NST,一般與b一起使用,且在項(xiàng)目轉(zhuǎn)換之解使用show-fle在賓成鑄換之后,愿示這次鑄挑的文件,
一毅用于檢查鑄換是舌成功完整xcaae指定轉(zhuǎn)換所事的文件類(lèi)型或文件夾指定項(xiàng)目所體秩的clapah,主要用于Jaa項(xiàng)目指家項(xiàng)目所用的DK蜃左mcodng指定轉(zhuǎn)換時(shí)昌到事英文字符時(shí)的院碼格式,如UT8、BKTeuclen指定與構(gòu)建工具集成,如Mkefile、An等ne指定轉(zhuǎn)描不窯要編譯,用于CC+項(xiàng)目、細(xì)譯器不支持時(shí)。指定轉(zhuǎn)換所用的編譯著
·主費(fèi)在掃描CC+頂目時(shí)使用ibdin指定NET項(xiàng)目所體賴(lài)的庫(kù)文件的端徑nenion指定VS的斷本,
VS52003、V52005、VS2008、VS52010的所本號(hào)分別為71、80、90、100pms指定將本次掃的結(jié)果盜加到另一個(gè)FPR結(jié)果中,一般用于將大項(xiàng)目分為多個(gè)部分掃癡,生成
一個(gè)FPR的情況bi?指定CC+項(xiàng)日編譯后的0eme文件指宏生成掃疆結(jié)果文件的名稱(chēng)和當(dāng)徑f
l
m
二指定一個(gè)過(guò)市文件,用于屏顆一整不想掃福出來(lái)的問(wèn)題,加誤報(bào)ac描定本次操作為SCA的掃描分析階段thom
suili顯示本機(jī)器上共有多少個(gè)builsIDhowbuld
te顯示每個(gè)文件在轉(zhuǎn)換時(shí)所依賴(lài)的文件abowbuld-waming顯示在矯換過(guò)程或掃癡過(guò)程中的mzmig信息iable
sorcereneime美閉在掃蜜過(guò)程中對(duì)源代碼的加賴(lài)LoohhondARo2at
代碼審計(jì)工具3.FortifySCAb
110DWMOlsm
AU
wo**c#*jonL
2)(Cu
url
aundtu
aie
isdt
r(P
Po
Eb
-nm00
-B/三peyatioR鳥(niǎo)
“
1n…e-t0HPESecurityFortify
Audit
Workbench0■nD一GsC
:Pewfee
p1/0/1RTFYkraSmc
e在進(jìn)行SQL執(zhí)行監(jiān)控時(shí),可以使用Seay
源代碼審計(jì)系統(tǒng)中自帶的監(jiān)控插件。在Seay源代碼審計(jì)系統(tǒng)2.0之后的版本中,增加了MySQL
執(zhí)行監(jiān)控,可以監(jiān)控自定義斷點(diǎn)后執(zhí)行的所有SQL語(yǔ)句,方便調(diào)試SQL注
入,如圖2-22所示。另外,也可以通過(guò)互聯(lián)網(wǎng)尋找一些Python
腳本,
目前互聯(lián)網(wǎng)中有一些小腳本。MySQL
執(zhí)行監(jiān)控的主要原理是開(kāi)啟MySQL
的general_log表來(lái)記錄MySQL
的歷史執(zhí)行語(yǔ)句。它有兩種
記錄方式:默認(rèn)的記錄方式是記錄到文件中;另一種記錄方式是直接
記錄到MySQL的general_log
表中。在開(kāi)啟MySQL的general_log
表
后,會(huì)在本地生成log文件,可以根據(jù)本地生成的正則匹配log文件來(lái)篩選出執(zhí)行的SQL
語(yǔ)句。01
項(xiàng)目知識(shí)準(zhǔn)備p中
sC
1
7
-
5
m
預(yù)
W:1L
□8E89
CLu
mPE
emmd*d
:
mw
8
9
*
做
:執(zhí)nt主和
輔助驗(yàn)證工具1.SQL
執(zhí)行監(jiān)控工具Burp
Suite是一款使用Java編寫(xiě)的,用于Web應(yīng)用安全審計(jì)與掃描的工
具。它集成了諸多實(shí)用的小工具以完成HTTP
請(qǐng)求的轉(zhuǎn)發(fā)、修改、掃描等
操作,同時(shí)這些小工具之間還可以互相協(xié)作,在Burp
Suite這個(gè)框架下
進(jìn)行各種強(qiáng)大的、可定制的攻擊/掃描方案。安全人員可以使用它進(jìn)行半自動(dòng)的網(wǎng)絡(luò)安全審計(jì),開(kāi)發(fā)人員也可以使用它的掃描工具進(jìn)行網(wǎng)站壓力
測(cè)試與攻擊測(cè)試,以檢測(cè)Web
應(yīng)用的安全問(wèn)題。BurpSuite主界面如圖2-23所示。Burp
Suite主要包括Dashboard、Proxy、Intruder、Repeater、Sequencer、Decoder、Comparer、Extender和Projectoptions
模塊等。01
項(xiàng)目知識(shí)準(zhǔn)備
輔助驗(yàn)證工具2.BurpSuiteVvrthg②MagPnymese71⑩⑥①7⑨◎⑧③8D0…mae-nseam
dTaa7·1oumnec
一
《
2ttin①
femwCemme代理功能是最常用的功能,這是因?yàn)槠渌麕讉€(gè)常用功能都基于該功能捕獲的數(shù)據(jù)包。該功能的使用非常簡(jiǎn)單,
在打開(kāi)Burp
Suite后,在界面上方選擇“Proxy”
選項(xiàng)卡即可打開(kāi)代理功能界面。如果想要使用Burp
Suite,
則需要設(shè)置代理服務(wù)器。下面,使用火狐瀏覽器進(jìn)行測(cè)試。01
項(xiàng)目知識(shí)準(zhǔn)備
輔助驗(yàn)證工具2.BurpSuiteArcepti
text/htmL,pplcat10n/xhtml+ml,appltea10m/m1;0,5,tmoge/webp,"/";q=0.06AeeapE-Eneoding
:gip,detiaEe50C85生nIntruder模塊是一個(gè)高度可配置的、可用于自動(dòng)化攻擊的模塊。用戶可以使用Intruder模塊執(zhí)行很多任務(wù),
包括枚舉標(biāo)識(shí)符、獲取有用的數(shù)據(jù)和模糊測(cè)試。攻擊類(lèi)型取決于應(yīng)用程序的情況,可能包括SQL注入、跨站點(diǎn)腳本、路徑遍歷、暴力攻擊認(rèn)證系統(tǒng)、枚舉、數(shù)據(jù)挖掘、并發(fā)攻擊、應(yīng)用程序的拒絕服務(wù)攻擊等。Intruder模塊主要由以下4個(gè)模塊組成。(1)Target(2)Positions(3)Payloads(4)Options用戶可以在發(fā)動(dòng)攻擊之前,在Intruder模塊的用戶界面上編輯這些選項(xiàng),也可以在進(jìn)行攻擊時(shí)對(duì)正在運(yùn)行的
窗口修改大部分設(shè)置。使用較多的是暴力破解登錄用戶密碼,因?yàn)樗哂蟹浅?qiáng)大的兼容性,可以支持各種數(shù)據(jù)格式爆破。下面來(lái)看看Intruder模塊到底有多強(qiáng)大。這里在DVWA中演示使用它進(jìn)行爆破的過(guò)程。01
項(xiàng)目知識(shí)準(zhǔn)備
輔助驗(yàn)證工具2.BurpSuiteHoot
項(xiàng)目知識(shí)準(zhǔn)備BopPauiethouduRareWadowHoDPuo
Pb
0②
u
nl
n
esar
moe
payond
sns
The
rure
d
eyloadsas
ope
tn
atak
y
edia
thePosions
th
Vaious
payoseypes
ae
Sat
amadalbhPy/odPaylodasc
pyedan.ndeschdatype
Smpmlapyod
yecan
te
coonzedindfut
wytPagbad
cut信Raqeu
cnut
oPayloasdopions
Ssmpia
liugtapoadtye
ltsyou
codgahku
d
nngy
tuanned
a
pykaanScayYoeP
輔助驗(yàn)證工具Bd3knekDmDau.mPanFau
SdyfRae
PafaT1232554321解
0
0
0ZN678FapuntFanem
P|1IMLes
intr
taro2.BurpSuiteiane/hTS_
4-3)7
owrenscterze
o
010rrme**p⑦Pglapoedan,…any*eezeacevalmwromucK-otm--erdrLeunme5558559855159U
口
401
項(xiàng)目知識(shí)準(zhǔn)備
輔助驗(yàn)證工具3.正則調(diào)試工具正則表達(dá)式使用自定義的特定字符組合在正則分析引擎中執(zhí)行字符
匹配的操作。正則表達(dá)式非常靈活,可以應(yīng)用于許多不同的場(chǎng)景中,
如驗(yàn)證注冊(cè)的用戶名是否正確。同時(shí),在搜索文件內(nèi)容時(shí),相當(dāng)多
的WAF(Web
應(yīng)用防火墻)的規(guī)則也基于正則表達(dá)式。但是,如果
不嚴(yán)謹(jǐn)?shù)鼐帉?xiě)正則表達(dá)式,則經(jīng)常會(huì)出現(xiàn)各種錯(cuò)誤,如繞過(guò)防火墻等。因此,需要熟悉正則表達(dá)式的用法,熟悉各個(gè)符號(hào)的含義,這樣才能編寫(xiě)出嚴(yán)謹(jǐn)?shù)恼齽t表達(dá)式,才能在代碼審計(jì)中發(fā)現(xiàn)正則表達(dá)式的問(wèn)題所在。下面介紹一個(gè)常用的測(cè)試和分析正則表達(dá)式的工具——Regester。
測(cè)試和分析正則表達(dá)式的工具,支持實(shí)時(shí)預(yù)覽,也就是說(shuō),用戶在輸入框中修改正則表達(dá)式或者需要匹配的源字符時(shí),調(diào)試的結(jié)果會(huì)實(shí)時(shí)顯示在下方的信息欄中,非常直觀和方便。8Regesterstd><span\s+class'desc'>(?descT<1+)</span></td>s
</trscode
descspends=de
換行件認(rèn)外的任室字class="desc">匹配e換行符以外的任章字td</t>tdspan
<ulBurpSuite中有一個(gè)Decoder模塊,這個(gè)Decoder
模塊的功能比較簡(jiǎn)單,可以對(duì)字符串進(jìn)行編碼和解碼,目前支持URL、HTML、Base64、ASCII、Hex、Octal、Binary、Gzip等編碼格式。它的用法也非常簡(jiǎn)單,只需要在輸入域中輸入要轉(zhuǎn)換的字符,之后選擇轉(zhuǎn)換的編碼格式即可,如圖2-33所示。01
項(xiàng)目知識(shí)準(zhǔn)備
輔助驗(yàn)證工具4.編碼與加/解密工具02
任務(wù)1使用Seay審計(jì)DVWA
任務(wù)目標(biāo)能夠使用Seay
軟件進(jìn)行初步的代碼審計(jì)了解國(guó)家信息安全漏洞庫(kù)(CNNVD)中安全漏洞的分類(lèi)和發(fā)展態(tài)勢(shì)。
任務(wù)實(shí)施1.DVWA
簡(jiǎn)介DVWA(Damn
Vulnerable
Web
Application)是一個(gè)用來(lái)進(jìn)行安全脆弱性鑒定的PHP/MySQLWeb應(yīng)用,旨在為安全管理人員測(cè)試自己的專(zhuān)業(yè)技能和工具提供合法的環(huán)境,幫助Web
開(kāi)發(fā)者更好地理解Web
應(yīng)用安全防范的過(guò)程。DVWA的漏洞示例分為4個(gè)安全等級(jí):
Low、Medium、High、Impossible。02任務(wù)1使用Seay審計(jì)DVWAconfigdosdwaextemalhackable1
vunerabities□
qgitignore□htaccess□about
php□CHANGELOGmd
COPYING.nt圓faviconico□
ids
logphp□
indexphp□
instrutionsphpD
loginphp□
logout
phpphpiniphpinfophp□
READMEmd
robotsttD
securityphp□setuphp2019/5/619:152019/5/619:52019/5/619:152019/5/619:152019/5/619:152019/5/619:15
2017/11/54.012017/1/54:01201711/54:012017/1/54:012017/11/54:01
20171/54012017/11/54:012017/1/54012017/11/54:012017/11/54:012017/11/54:012017/11/54:012017/11/54:012017/11/54:012017/11/54:012017/1/54:012017/11/54.01文件夾文件夾文件夾文件夾文件夾文件夾GITIGNORE文件HTACCESS文件PHP文件MD文件文本文檔標(biāo)PHP文件PHP文件PHP文件PHP文件PHP文件配置設(shè)置PHP文件MD文件文本文檔PHP文件PHP文件11KB4KB8KB33
KB2KB1KB5KB2
KB5KB1KB1KB1KB9KB1.KB5KB3KBDamnVulnerableWebApp(DVWA)isa
PHP/MySQLwebapplicationthatisdamvulnerable.Itsmaingoalsaretobean
aidfor
security
professionals
to
test
thelr
sl在DVWA官網(wǎng)上,下載最新版本DVWA,如圖2-34所示。單擊“DOWNLOAD”按鈕,即開(kāi)始下載。
下載完成的文件是一個(gè)壓縮包,將其解壓縮后把DVWA安裝到phpStudy的根目錄下,如圖2-35所示。
任務(wù)實(shí)施2.環(huán)境搭建andtoolsinalegalenvironment,helpweb
developers
better
understandtheprocessesofsecuringwebapplicationsandaidteachers/studentstoteach/learnapplicationsecurityina
class
room
environment.02
任務(wù)1使用Seay審計(jì)DVWA
任務(wù)實(shí)施2.環(huán)境搭建之后,打開(kāi)本地網(wǎng)址,界面中會(huì)提示配置文件錯(cuò)誤,如圖2-36所示。需要注意的是,將config文件夾下的
config.inc.php.dist
文件修改為config.inc.php,即可進(jìn)入安裝界面,如圖2-37所示。←→c①不安全72/DVWA/
☆DVWASystemoror-contgflenotfound.Copy
contg/confginc.pdst
to
contg/confginc.php
and
contgure
to
you
envronment.能
回oo
o0
ncredcDatabase
has
beencreated.'users'table
was
created.Data
inserted
into'users'table.'guestbook'tablewascreated.Data
inserted
into'guestbook'table.Backupfile/config/config.inc.php.bakautomaticallycreatedSetup
successful!Please
login
.任務(wù)1使用Seay審計(jì)DVWA
任務(wù)實(shí)施后,就會(huì)跳轉(zhuǎn)到登錄界面,如圖2-40所示。
DVWA
默認(rèn)的賬號(hào)(Username)
是admin,密
碼(Password)是
password。在/config/config.inc.php文件中修改數(shù)據(jù)庫(kù)信息,將配置文件中的數(shù)據(jù)庫(kù)密碼db_password
改為root后
保
存
,
如圖2-38所示,之后單擊“Create/Reset
Database”
按鈕,即可安裝成功,如圖2-39所示。在軟件安裝成功2.環(huán)境搭建02任務(wù)1使用Seay審計(jì)DVWA
任務(wù)實(shí)施3.使用工具審計(jì)打開(kāi)Seay
源代碼審計(jì)系統(tǒng),單擊“新建項(xiàng)目”按鈕,選擇想要審計(jì)的源代碼程序,單擊“開(kāi)始”按鈕,程序就會(huì)自動(dòng)根據(jù)規(guī)則對(duì)源代碼中可能存在的安全隱患進(jìn)行模糊審計(jì),如圖2-41所示。在漏洞掃描完成后,可以發(fā)現(xiàn),
程序在下面提示“掃描完成,發(fā)現(xiàn)188個(gè)可疑漏洞,花費(fèi)時(shí)間56.41秒”,并且在漏洞描述的第170行可能存在
SQL注入漏洞,如圖2-42所示。主用使MAm
h二
a7sui/hdiiila”收ai55
…
地
市
…
中
量
南
入
期sl
(n02最國(guó)日掃a言時(shí)高時(shí)主出間用相出其重國(guó)圖重畫(huà)每15雙擊“漏洞描述”列中某項(xiàng)漏洞后面的“漏洞詳細(xì)”列的相應(yīng)內(nèi)容,即可定位到出現(xiàn)可疑漏洞的代碼,代碼如
下
:if(isset(S_POST['Submit'])){?→Sid-S_POST[id];→Sid-mysqli_real_escape_string(SGLOBALS["_mysqli_ston"1.Sid);?→Squery-"SELECTfirst_name,last_nameFROMusersWHEREuser_id-Sid;";→Sresult-mysqli_query(SGLOBALS["
mysqli_ston"].Squery)ordie('cpre'mysqli_error(SGLOBALS["
mysqli_ston"D.'</pre>');→//Get
results→while(Srow-mysqli_fetch_assoc(Sresult)){→//Displayvalues→Sfirst-Srow["first_name"];?→Slast-Srow["last_name"];→Shtml.-"<pre>ID:{Sid}<br>Firstname:{Sfirst}<br/>Surname:{Slast}<pre>";//Thisisused
later
on
inthe
index.php
page//Settingitheresowecanclosethedatabaseconnectionin
here
like
in
the
rest
ofthe
source
scriptsSquery-"SELECTCOUNT(")FROMusers;";(is_object(SGLOBALS["
mysqli_ston"D)?mysqli_error(SGLOBALS[”_mysqli_ston”D(S__mysqli_res=mysqli_connect_erorO)?$__mysqli_res:false).'cpre');Snumber_of_rows=mysqli_fetch_row(Sresult)[0]:mysqli_close(SGLOBALS["
mysqli_ston"D;?02
任務(wù)1使用Seay審計(jì)DVWA
任務(wù)實(shí)施3.使用工具審計(jì)02
任務(wù)1使用Seay審計(jì)DVWASeay源代碼審計(jì)系統(tǒng)漏洞報(bào)告用陰述日TE二取文件話onsrocow-噸tonDWALMEaPAODEToOHooTteo7H*omso
EboasppouodboasungescaknepihpL.5ENERDITPDXJFOMNAROEDJom;e0B/Osrepp-om
m
mba0B/OSCadngFactnypagoce
5pmpd0
eOSCadiuornzsotspoalprosos/OSCacigrpudasoeospomwy,可能辦在住章文件讀取
除棉故寫(xiě)入導(dǎo)湖用omeprodo
OBCadmoFamatwnk
smounytaouk該取文件路數(shù)中存在變量,可磁年在任意文并該章月comesyreobosGOSCadinoworeadruc
oontw讀取文件函數(shù)中存在安量,可睦存在任意文并讀章畫(huà)
同ypodb68/OBrmosoeiemreg
obpsyorek12獲原P地址方武可偽法,HTTP_EFERER可偽產(chǎn)。第見(jiàn)引1發(fā)SL注入等跟用camaspodb6G/OSLoDmeatebERMEOITPeXFORMAOEDFon參數(shù)$id經(jīng)過(guò)處理之后,將被傳入SQL
語(yǔ)句中執(zhí)行。因此,只需要控制用戶輸入的內(nèi)容,即可突破轉(zhuǎn)義限制。
同
時(shí)
,Seay
源代碼審計(jì)系統(tǒng)提供生成報(bào)告的功能,在“自動(dòng)審計(jì)”界面中,單擊“生成報(bào)告”按鈕,就會(huì)生
成一份報(bào)告信息以供用戶查看,如圖2-43所示。在上述代碼中可以看到,通過(guò)POST方式傳遞過(guò)來(lái)的參數(shù)$id
會(huì)經(jīng)過(guò)mysqli_real_escape_string()
函數(shù)的處理。
該函數(shù)主要用于對(duì)SQL
語(yǔ)句中使用的字符串中的特殊字符進(jìn)行轉(zhuǎn)義??杀晦D(zhuǎn)義字符如表2-2所示。
任務(wù)實(shí)施x00n2r?le4"?xla3.使用工具審計(jì)能夠使用RIPS軟件進(jìn)行初步的代碼審計(jì)了解國(guó)家信息安全漏洞共享平臺(tái)(CNVD)
中安全漏洞的分類(lèi)和發(fā)展態(tài)勢(shì)。RIPS.在通過(guò)RIPS官網(wǎng)下載最新版本的RIPS后,將壓縮包解壓縮到網(wǎng)站根目錄
下即可運(yùn)行它,如圖2-44所示。可以使用火狐瀏覽器訪問(wèn)RIPS(目
前RIPS聲稱(chēng)只支持火狐瀏覽器)。03
任務(wù)2使用RIPS
審計(jì)DVWA
任務(wù)目標(biāo)
任務(wù)實(shí)施1.RIPS
環(huán)境的本地搭建03任務(wù)2使用RIPS
審計(jì)DVWA
任務(wù)實(shí)施2.使用工具審計(jì)在程序啟動(dòng)后,可以看到RIPS主界面,其中包括以下選項(xiàng)。path/file、subdirs、verbositylevel、vulntype、scan、codestyle、/regex/、searchRIPS
.
user
input_GET[page]Hintst在第8行代碼中可以看到,通過(guò)GET
方式傳入的參數(shù)name
會(huì)進(jìn)入str_replace()函數(shù),在經(jīng)過(guò)這個(gè)函數(shù)處理后,程序會(huì)將處理后的內(nèi)
容顯示到頁(yè)面上,從而導(dǎo)致跨站腳本攻擊。下面來(lái)介紹一下str_replace($search,$replace,$subject)
函數(shù)該函數(shù)返回一個(gè)字符串或數(shù)組,該字符串或數(shù)組是將subject中全部的$search替換為$replace
之后的結(jié)果。其中,$search是要查
找的值;$replace
是將查找到的值進(jìn)行替換的內(nèi)容;$subject是執(zhí)行替換的字符串或數(shù)組。也就是說(shuō),這個(gè)函數(shù)會(huì)查找傳入的參數(shù)name
中是否存在<script>,如果存在,就會(huì)將它替換成NULL
(空值)。因此,在進(jìn)行最終驗(yàn)。03
任務(wù)2使用RIPS
審計(jì)DVWA
任務(wù)實(shí)施證時(shí),只要
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年1月廣東深圳大學(xué)附屬華南醫(yī)院選聘事業(yè)單位人員5人考試參考題庫(kù)及答案解析
- 2026內(nèi)蒙古烏蘭察布市察右前旗殘疾人聯(lián)合會(huì)高校畢業(yè)生公益性崗位招聘6人考試備考題庫(kù)及答案解析
- 2026國(guó)家衛(wèi)生健康委衛(wèi)生發(fā)展研究中心事業(yè)編制招聘3人考試備考試題及答案解析
- 2026年1月重慶市萬(wàn)州區(qū)高峰街道辦事處公益性崗位招聘4人考試參考題庫(kù)及答案解析
- 2026四川成都市溫江區(qū)涌泉街道社區(qū)衛(wèi)生服務(wù)中心編外醫(yī)師招聘2人考試參考題庫(kù)及答案解析
- 2026云南玉溪市華寧縣衛(wèi)生健康局事業(yè)單位招聘9人考試備考題庫(kù)及答案解析
- 中國(guó)太平洋保險(xiǎn)股份有限公司銅陵支公司招聘2人考試備考試題及答案解析
- 2026重慶九龍坡區(qū)行知育才學(xué)校招聘2人考試備考試題及答案解析
- 2026陜西咸陽(yáng)市高新一中教師招聘考試備考題庫(kù)及答案解析
- 2026年甘肅慶陽(yáng)西峰區(qū)學(xué)院路實(shí)驗(yàn)學(xué)校人才儲(chǔ)備23人筆試參考題庫(kù)及答案解析
- 2025年七年級(jí)上冊(cè)歷史知識(shí)點(diǎn)梳理(背誦版)
- 2025年大學(xué)《馬克思主義理論-馬克思主義發(fā)展史》考試備考試題及答案解析
- 2025年周口市學(xué)校教師隊(duì)伍“十五五”發(fā)展規(guī)劃
- 航空航天配套產(chǎn)業(yè)招商創(chuàng)新創(chuàng)業(yè)項(xiàng)目商業(yè)計(jì)劃書(shū)
- 稻草人藝術(shù)活動(dòng)方案
- 線性代數(shù)課件 第6章 二次型 第3節(jié)
- 2025-2030律師事務(wù)所行業(yè)財(cái)稅政策影響與稅務(wù)籌劃分析
- 加油站安全操作規(guī)程及員工守則
- 2025年國(guó)家開(kāi)放大學(xué)(電大)《市場(chǎng)營(yíng)銷(xiāo)原理與實(shí)踐》期末考試備考題庫(kù)及答案解析
- 機(jī)房微模塊施工方案
- 護(hù)理支氣管哮喘課件
評(píng)論
0/150
提交評(píng)論