آیا راهی برای دور زدن چک ورودی برای بدست آوردن RCE با عملکرد شامل وجود دارد؟
از پی وی سی های پی اچ پی استفاده نمی شود زیرا اجازه داده است_main_url_include خاموش باشد
همچنین ، open_baseir = / var / www / html /
تابع waf ($ s ، $ نوع) {
اگر (نوع $ == 0)
if (stripos ($ s ، ".")! == FALSE) می میرند ("نه!")؛
اگر (stripos ($ s ، "/")! == FALSE) بمیرند ("خیر!")؛
if (stripos ($ s ، "-")! == FALSE) می میرند ("نه!")؛
} دیگری اگر (نوع $ == 1)
اگر (strlen ($ s)> 20) بمیرد ("نه!")؛
} دیگه
if (stripos ($ s ، "ph")! == FALSE) می میرند ("نه!")؛
}
}
$ sandbox = '/ var / www / html / sandbox /'. @ md5 ("پیشوند". $ _SERVER ['REMOTE_ADDR']. $ _SERVER ['HTTP_USER_AGENT'])؛
mkdir ($ sandbox)؛
chdir ($ sandbox)؛
$ f = $ _GET 'f'}؛
$ c = $ _GET 'c'}؛
$ i = $ _GET 'i'}؛
waf ($ f، 0، 1، 2، 3)؛
waf ($ c ، 1 ، 2 ، 3 ، 0)؛
waf (I $ ، 2 ، 3 ، 0 ، 1)؛
system ("mkdir". escapeshellarg ($ sandbox. "/". $ f))؛
chdir ($ sandbox. "/". $ f)؛
file_put_contents ("پرونده" ، $ c)؛
chdir ($ sandbox)؛
if (صادرکننده ($ i) && stripos (file_get_contents ($ i)) ، '<') === FALSE)
echo ""؛
echo " در اینجا محتوای پرونده شما است:
"؛
includ ($ i)؛
echo ""؛
}
chdir (__ DIR__)؛
$ md5dir = @ md5 ("پیشوند". $ _SERVER ['REMOTE_ADDR']. $ _SERVER ['HTTP_USER_AGENT'])؛
system ('rm -rf sandbox /'. $ md5dir)؛
echo "
"؛
؟>