題目要求:
要求獲取四個flag
webshell查殺:
常見的webshell:
PHP: eval(), system(), exec(), shell_exec(), passthru(), assert(), base64_decode()
ASP: Execute(), Eval(), CreateObject()
JSP: Runtime.getRuntime().exec()
webshell常見位置
.asp / .php / .jsp / .aspx
命令行搜索
find命令:
find [路徑] [選項] [表達式]
- 路徑:指定查找的起始目錄。如果不指定,默認從當前目錄開始。
- 選項:控制
find
的行為。 - 表達式:定義查找的條件。
常見選項:
-name
:按文件名查找(區分大小寫)。-iname
:按文件名查找(不區分大小寫)。-type
:按文件類型查找。f
:普通文件。d
:目錄。l
:符號鏈接。
xargs
:xargs
命令用于將輸入數據重新格式化后作為參數傳遞給其他命令
find / -name "*.php" | xargs grep "eval("
xargs:xargs命令用于將輸入數據重新格式化后作為參數傳遞給其他命令。在這個命令中,xargs將find命令
找到的文件列表作為參數傳遞給grep命令。grep "eval(":grep命令用于搜索文本,并輸出匹配的行。這里"eval("是grep命令的搜索模式,用于查找
包含eval(字符串的行。
使用find命令查到了三個可疑文件。
第一個使用cat抓取文本。得到flag1。
通過查看webshell內容可以發現明顯為godzilla特征,將哥斯拉github地址通過md5加密獲得flag2
@session_start();
@set_time_limit(0);
@error_reporting(0);
$key=‘3c6e0b8a9c15224a’;
哥斯拉常見密鑰
黑客隱藏shell的完整路徑
使用ls -l查找那三個可疑文件,發現只有Mysql.php是隱藏的,完整路徑+md5得到flag3
尋找免殺馬
免殺馬說明沒有特征,所以需要看看有沒有什么加密,使用find查找是否有base64加密。
find / -name "*.php" | xargs grep "base64_decode"
這個是猜測,最好用日志查看。
linux的網站日志存放在/var/log,目錄里面有apache2的,打開查看,瀏覽之后發現可疑的phpinfo,而且還200。是在一個top.php文件中。
找到文件用cat獲取,發現就是惡意文件,完整路徑加md5,得到flag4。