WebShell သည် 0 က်ဘ်ဆိုက် interface မှတဆင့်ဆာဗာများကိုအဝေးကနေထိန်းချုပ်သောနည်းပညာဖြစ်သည်။ အသုံးအများဆုံး server-side scripting language တစ်ခုအနေဖြင့် PHP သည် Webshell လုပ်ဆောင်ချက်များကိုအကောင်အထည်ဖော်ရန် Stream Wrapper ယန္တရားကိုသုံးနိုင်သည်။ ဤဆောင်းပါးသည် Stream Webspers မှတစ်ဆင့် Webshell ကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
Stream Wrapper သည် PHP မှပေးသောတိုးချဲ့ထားသောယန္တရားတစ်ခုဖြစ်သည်။ PHP သည် Stream Wrappers မျိုးစုံဖြင့်တည်ဆောက်ထားသည်။ developer များသည် URLs မှတစ်ဆင့်ကွဲပြားသောအရင်းအမြစ်များကိုရယူနိုင်သည်။
Stream Wrapper ဖြင့်သင်သည် System command များကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်ပြီး၎င်းတို့၏ရလဒ်များကိုရနိုင်သည်။ အောက်ပါဥပမာသည် Stream Wrapper ကို အသုံးပြု. System command များကို execute လုပ်နည်းကိုပြသသည်။
$cmd = 'ls -l';
$result = file_get_contents("php://input", false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'content' => http_build_query(['cmd' => $cmd])
]
]));
echo $result;
အထက်ပါကုဒ်တွင် System command ကို PHP: // input stream သို့ပို့သည်။ Post တောင်းဆိုမှုတစ်ခုမှတဆင့်ဖတ်ပြီး file_get_contents များကို သုံး. Execution ရလဒ်ကိုပြန်ပို့ပါ။
stream wrappers ကိုသုံးပြီး developer များသည်လွယ်ကူသောအဝေးထိန်းများအတွက်ဝေးလံခေါင်သီသောဆာဗာများနှင့်အပြန်အလှန်အကျိုးသက်ရောက်မှုရှိသောလုပ်ဆောင်ချက်များကိုအကောင်အထည်ဖော်နိုင်သည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
$data = ['cmd' => 'cat /etc/passwd'];
$options = [
'http' => [
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($data)
]
];
$context = stream_context_create($options);
$result = file_get_contents('http://remote-server.com/webshell.php', false, $context);
echo $result;
Code တွင် Community community command သည် community initaction ကို community interaction ကို command initaction သည် file_get_contents များကို ပို့ရန်နှင့်တုန့်ပြန်မှုရရန်တောင်းဆိုမှု parameters များပါ 0 င်သည့် stream အခြေအနေကိုဖန်တီးခြင်းအားဖြင့်အောင်မြင်သည်။
Webshell ကို Stream Waappers ကိုအသုံးပြုပြီး 0 က်ဘ်ဆိုက်ကိုအကောင်အထည်ဖော်တဲ့အခါအထူးအရေးကြီးတယ်။ အောက်ပါအစီအမံများသည်လုံခြုံရေးအန္တရာယ်များကိုလျှော့ချနိုင်သည်။
Input Verification - အသုံးပြုသူမှ command injection attack ကိုကာကွယ်ရန်အသုံးပြုသူမှထည့်သွင်းထားသော command များနှင့် parameters တွေကိုတင်းကြပ်စွာစစ်ဆေးပါ။
ခွင့်ပြုချက်စီမံခန့်ခွဲမှု - Webshell scripts ကို 0 င်ရောက်ခွင့်ကိုကန့်သတ်ခြင်းနှင့်လုပ်ရပ်များလုပ်ဆောင်ရန်ခွင့်ပြုထားသောအသုံးပြုသူများသာသာခွင့်ပြုထားသည်။
မှတ်တမ်းစောင့်ကြည့်လေ့လာခြင်း - Easy Post-aut-aut-aut-aut-comment နှင့်ခြေရာခံခြင်းအတွက် Webshell စစ်ဆင်ရေးအပြုအမူများကိုမှတ်တမ်းတင်ပါ။
ကွန်ယက်ကန့်သတ်ချက်များ - ခွင့်ပြုချက်မရှိသော 0 င်ရောက်မှုကိုရှောင်ရှားရန် firewalls များမှတဆင့် IP နှင့် ports များကိုဝင်ရောက်ခွင့်ကိုထိန်းချုပ်ရန်။
PHP Stream Wrapper ၏အကူအညီဖြင့် WebSHELL လုပ်ဆောင်ချက်များကိုပြောင်းလွယ်ပြင်လွယ်အကောင်အထည်ဖော်နိုင်ပြီးဒေသန္တရအနေဖြင့်ကွပ်မျက်ခြင်းနှင့်ဝေးကွာသောအပြန်အလှန်ဆက်သွယ်မှုကိုထောက်ပံ့နိုင်သည်။ သို့သော်ဆာဗာပတ် 0 န်းကျင်၏လုံခြုံရေးနှင့်တည်ငြိမ်မှုကိုသေချာစေရန်လုံခြုံရေးကာကွယ်စောင့်ရှောက်ရေးအစီအမံများကိုပိုမိုခိုင်မာစေရန်လိုအပ်သည်။ ဤဆောင်းပါးသည်ဤဆောင်းပါးပါ 0 င်သည့်နည်းပညာကိုနားလည်သဘောပေါက်ခြင်းနှင့်လျှောက်ထားခြင်းဖြင့်သင့်အတွက်အထောက်အကူဖြစ်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။