幾道webCTF——命令繞過

第一題無回顯類型

在這裏插入圖片描述這裏的exec函數會把參數cmd的值當做命令執行,並且沒有任何過濾和限制。
對於這種無回顯的題目,我們可以選擇重定向符>來查看和獲取信息。
我們先使用cmd=ls>info然後查看info來獲取當前路徑下的文件信息,如下:
在這裏插入圖片描述
發現flag.php,我們再次使用重定向符把其內容寫入一個文件,再讀取這個文件即可,即使用cmd=cat fl*>info,再次前往頁面查看即可。
在這裏插入圖片描述

第二題長度限制類型

題目地址頁面如下:
在這裏插入圖片描述
查閱源碼,發現PHP代碼,閱之。輸入長度限制不超過5時,輸入命令執行。查看信息路徑,去之:
在這裏插入圖片描述
在這裏插入圖片描述
因爲輸入長度限制,我們可以把想要輸入的逐一放入一文件中,在這個文件中拼出cat flag.php來,如下:
在這裏插入圖片描述
接下來使用*>f,即cat flag.php命令執行(因爲會匹配當前路徑所以字符信息此處的相當於cat flag.php),並把信息寫入了f,閱之即可,如下:
在這裏插入圖片描述

第三題後綴限制

頁面源碼無用,主頁閱之如下:
對輸入的參數path進行後綴限制,這裏介紹下正則表達式的/m
在這裏插入圖片描述
在這裏插入圖片描述
因此我們可以配合換行符%0a進行繞過,我們需要令if判斷爲false,使其執行else語句。那麼我們就需要符合正則表達式的後綴限制即輸入首行先是以.txt結尾,接着使用%0a繞過,下面就是我們想要輸入的內容了cat /flag.
組合起來就是x.txt%0acat /flag*,如下:
在這裏插入圖片描述

第四題無字母shell

主頁閱之如下:
過濾純字母,
在這裏插入圖片描述
我們可以利用異或運算來構建我們需要的東西,構建如下:
=_=%27_%27.(%af%b0%ac%ab^%ff%ff%ff%ff);=(%9e%8c%8c%9a%8d%8b^%ff%ff%ff%ff%ff%ff);KaTeX parse error: Expected group after '_' at position 1: _̲__=;_;($___[0]);
這個東西可以幫助我們獲得shell。
然後調用函數讀取我們需要的文件就可以了,post一個0調用readfile,如下:
在這裏插入圖片描述

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