摘要:近日施耐德電氣爆出的漏洞,首先得到了一個本地包含,在這里作為靶目標使用。配置文件中獲得了錯誤日志的路徑,且關閉了訪問日志。利用思路整理那么我們可以利用錯誤日志來構造合法的代碼,從而利用包含漏洞。了解何時會向錯誤日志寫入內容。
0前言
在WEB滲透測試中尤其是PHP,經常會挖到LFI漏洞,想要GETSHELL,但無奈沒有文件上傳的途徑,這里給一個思路,拋磚引玉。
近日施耐德電氣爆出的漏洞,首先得到了一個本地包含,在這里作為靶目標使用。
umotion/themes/schneider/include/css.php?css=../../../../../../../etc/nginx&theme=ivory&version=110281.1 得到nginx配置
通過文件包含,枚舉得到nginx的配置文件。
/etc/nginx/nginx.conf
配置文件中獲得了nginx錯誤日志的路徑,且關閉了訪問日志。
error_log /var/log/nginx_error.log; access_log off;1.2 利用思路整理
那么我們可以利用錯誤日志來構造合法的php代碼,從而利用包含漏洞。
下面可以很直觀想到的幾個問題:
何時才會向nginx錯誤日志寫入錯誤內容。
如何控制我們寫入的內容。
如果遇到轉義寫入如何繞過。
目前知道的情況:
目標系統為nginx + FastCGI + php架構。
2.了解何時會向nginx錯誤日志寫入內容。通過觀察日志可以很容易發現,如果請求為404/403等異常錯誤碼,或者FastCGI返回出錯信息,均會記錄到nginx錯誤日志中,
2017/06/15 17:27:37 [error] 23229#0: *29454 open() "/web/html/favicon.ico" failed (2: No such file or directory), client:3.控制我們寫入的內容
可以很容易發現,我們的請求PATH會被寫入到錯誤日志中(請求路徑不存在)。且攜帶我們的IP信息,以及HTTP頭部的referrer。那么我們就可以利用這兩點來構造。
4.繞過轉義這時候寫入
我們構造
host/xx/?
如果通過webkit內核瀏覽器訪問,webkit會自動轉移,直接通過curl發送。
這里使用referrer來注入代碼到錯誤日志中。還好nginx端沒有進行任何轉義,如果遇到轉義則需要見機行事,構造可用payload。
最后成功寫入向錯誤日志中注入php代碼。
5.總結其實沒什么技術含量,只是經常會遇到這種情況,包括各種日志,apache,nginx等。這里只提供一個思路。設置站點權限的時候,這些點可以關注下,包括讀取日志得到敏感信息(后臺,管理員信息等)。
本文永久地址[利用nginx日志結合本地包含漏洞GetShell],轉載請注明出處。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/23096.html
摘要:近日施耐德電氣爆出的漏洞,首先得到了一個本地包含,在這里作為靶目標使用。配置文件中獲得了錯誤日志的路徑,且關閉了訪問日志。利用思路整理那么我們可以利用錯誤日志來構造合法的代碼,從而利用包含漏洞。了解何時會向錯誤日志寫入內容。 0前言 在WEB滲透測試中尤其是PHP,經常會挖到LFI漏洞,想要GETSHELL,但無奈沒有文件上傳的途徑,這里給一個思路,拋磚引玉。 近日施耐德電氣爆出的漏洞...
閱讀 2627·2021-11-19 09:56
閱讀 873·2021-09-24 10:25
閱讀 1632·2021-09-09 09:34
閱讀 2195·2021-09-09 09:33
閱讀 1052·2019-08-30 15:54
閱讀 541·2019-08-29 18:33
閱讀 1264·2019-08-29 17:19
閱讀 505·2019-08-29 14:19