လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> တရုတ် strings များကိုထုတ်ပေးရန် exploit function ကိုအသုံးပြုသည့်အခါ carbled code ကိုမည်သို့ရှောင်ရှားနိုင်မည်နည်း။ တရုတ် string ကိုအပြောင်းအလဲအတွက်အမြတ်အစွန်း function ကိုများအတွက်မှတ်စုများနှင့်ဖြေရှင်းချက်

တရုတ် strings များကိုထုတ်ပေးရန် exploit function ကိုအသုံးပြုသည့်အခါ carbled code ကိုမည်သို့ရှောင်ရှားနိုင်မည်နည်း။ တရုတ် string ကိုအပြောင်းအလဲအတွက်အမြတ်အစွန်း function ကိုများအတွက်မှတ်စုများနှင့်ဖြေရှင်းချက်

gitbox 2025-08-25

PHP တွင် exploit function သည်အသုံးပြုလေ့ရှိသော string processing processing function တစ်ခုဖြစ်သည်။ တရုတ်ကြိုးများကိုကိုင်တွယ်သောအခါ exploit function ကို သုံး. concled ပြ problems နာများကိုသင်ကြုံတွေ့ရနိုင်သည်။ ၎င်းသည်များသောအားဖြင့်မကိုက်ညီသောဇာတ်ကောင် encoding သို့မဟုတ်မသင့်လျော်သောခွဲခြမ်းစိတ်ဖြာမှုများကြောင့်ဖြစ်သည်။ ထို့ကြောင့်တရုတ်ကြိုးများကိုပြုပြင်သည့်အခါ developer များက ellled code ကို အသုံးပြု. exploit code ကိုအသုံးပြုခြင်းကိုအသုံးပြုခြင်းအားဖြင့်တရုတ်အက္ခရာများကိုမှန်ကန်စွာလုပ်ဆောင်နိုင်အောင်အသေးစိတ်အချက်အလက်များကိုအထူးဂရုပြုရန်လိုအပ်သည်။

1 ။ ဇာတ်ကောင် encoding ပြ problem နာ

PHP တွင် exploit function သည် bytes အပေါ် အခြေခံ. ကြိုးများကိုခွဲထုတ်ရန်ပုံမှန်အားဖြင့်ဖြစ်သည်။ အကယ်. string ၏ encoding format သည်စနစ်၏ encoding နှင့်မကိုက်ညီပါကအထူးသဖြင့်တရုတ်စာလုံးများကိုပြုပြင်သည့်အခါ concled code သည်ပေါ်ပေါက်လာသည်။ ပုံမှန်အားဖြင့်တရုတ် strings ကို UTF-8 encoding format များတွင်သိမ်းဆည်းထားပြီး Exploit function သည် encoding ကိုမှန်ကန်စွာမသတ်မှတ်သည့်အခါဤစာလုံးများကိုမှန်ကန်စွာအသိအမှတ်မပြုနိုင်ပါ။

ဖြေရှင်းချက်: စည်းလုံးညီညွတ်သောဇာတ်ကောင် encoding

encoding ပြ problems နာများကိုရှောင်ရှားရန် exploit အသုံးမပြုမီသင်ဇာတ်ကောင် encoding ကိုပေါင်းစည်းနိုင်သည်။ Exploit function ကိုမှန်ကန်စွာကိုင်တွယ်နိုင်အောင် MB_ConVert_encoding function ကိုသုံးနိုင်သည်။ ဥပမာအားဖြင့်:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ,ကမ်ာဘ,ဝမ်းသာစွာနှုတ်ဆက်ခြင်းPHP"</span></span><span>;
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_encoding</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-string">"UTF-8"</span></span><span>, </span><span><span class="hljs-string">"auto"</span></span><span>); </span><span><span class="hljs-comment">// ကူးပြောင်းUTF-8ကုဒ်</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">","</span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ဤဥပမာတွင် MB_ConVert_encoding ကို UTF-8 encoding သို့ပြောင်းရန် MB_ConVert_encoding ကိုအသုံးပြုခဲ့သည်။ ဤနည်းအားဖြင့် input string ၏ encoding format မည်သို့ပင်ဖြစ်ပါစေ အမြတ်ထုတ်မှုသည် ပုံမှန်အားဖြင့်တရုတ်စာလုံးများကိုပုံမှန်ကိုင်တွယ်နိုင်သည်။

2 ။ ခွဲထုတ်ခြင်း၏ရွေးချယ်ရေး

Exploit function ကိုအသုံးပြုပြီးကြိုးများကိုခွဲထုတ်သောအခါခွဲထုတ်ရွေးချယ်ခြင်းအတွက်အထူးဂရုပြုရန်လိုအပ်သည်။ အထူးသဖြင့်အထူးဇာတ်ကောင်များသို့မဟုတ်သင်္ကေတများပါ 0 င်သည့်အခါတရုတ်ကြိုးများကိုပြုပြင်သည့်အခါ delimiters သည်ရလဒ်များကိုအကျိုးသက်ရောက်နိုင်သည်။ ဥပမာအားဖြင့်, delimiter သည်တရုတ်သင်္ကေတ ("နှင့်တရုတ်ကော်မာများကဲ့သို့သောသင်္ကေတတစ်ခုဖြစ်သောအခါ exploit သည် delimiter ကိုမှန်ကန်စွာခွဲခြား သတ်မှတ်. မရပါ, မမှန်ကန်ပါ။

ဖြေရှင်းချက် - delimiter မှန်ကန်သောသေချာအောင်လုပ်ပါ

တရုတ် string processing တွင် delimiter သည် string ရှိဇာတ်လမ်းများကိုအထူးသဖြင့် delimiter သည်တရုတ်သင်္ကေတတစ်ခုဖြစ်သောအခါအခြားဇာတ်ကောင်များနှင့်မရောထွေးရန်သတိထားပါ။ အကယ်. သင်သည်ခွဲခြမ်းစိတ်ဖြာခြင်း၏ encoding နှင့် ပတ်သက်. မသေချာပါက Sectorator ၏တိကျသော encoding ကိုအတည်ပြုရန် String ၏ hexadecimal ကိုယ်စားပြုမှုကိုပထမဆုံးအကြိမ်ထုတ်လွှင့်နိုင်သည်။ ဥပမာအားဖြင့်:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ,ကမ်ာဘ,ဝမ်းသာစွာနှုတ်ဆက်ခြင်းPHP"</span></span><span>; </span><span><span class="hljs-comment">// တရုတ်ကော်မာ</span></span><span>
</span><span><span class="hljs-variable">$delimiter</span></span><span> = </span><span><span class="hljs-string">","</span></span><span>; </span><span><span class="hljs-comment">// တရုတ်ကော်မာ作为分隔符</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-variable">$delimiter</span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ဒီဥပမာမှာတရုတ်ကော်မာကို "" ဒီဥပမာကိုသုံးပြီးဒီလိုမျိုး "" ဆိုတဲ့ "" ကိုသုံးပြီးစူးစမ်း လေ့လာနိုင်ပါတယ်

3 ။ Multibyte string ကို function ကိုသုံးပါ

တရုတ်အက္ခရာများပါ 0 င်သောကြိုးများပါ 0 င်သည့်အခါ သင် PHP ၏ Multibyte String function (Mbstring extension function ကိုအသုံးပြုရန်စဉ်းစားနိုင်သည်။ MB_Split function သည် exploit function ၏ multibyte ဗားရှင်းဖြစ်ပြီးတရုတ်ကြိုးများကိုပိုမိုကောင်းမွန်စွာကိုင်တွယ်နိုင်သည်။

ဖြေရှင်းချက် - MB_SPLIT function ကိုသုံးပါ

MB_SPLIT function ကို Multibyte အက္ခရာများကိုထုတ်လုပ်ရန်အသုံးပြုနိုင်သည်။ တရုတ်ကြိုးများကိုပြုပြင်သည့်အခါ၎င်းသည်ဇာတ်ကောင်အရှည်သို့မဟုတ် encoding ပြ issues နာများကြောင့်မထိခိုက်ပါ။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ,ကမ်ာဘ,ဝမ်းသာစွာနှုတ်ဆက်ခြင်းPHP"</span></span><span>;
</span><span><span class="hljs-variable">$delimiter</span></span><span> = </span><span><span class="hljs-string">","</span></span><span>; </span><span><span class="hljs-comment">// တရုတ်ကော်မာ作为分隔符</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_split</span></span><span>(</span><span><span class="hljs-variable">$delimiter</span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Exploit function နှင့်ဆင်တူသည်, MB_Split သည် strings များကိုသတ်မှတ်ထားသော delimiters များဖြင့်ခွဲထားနိုင်သည်။

4 ။ string အရှည်အပေါ်မှတ်စုများ

exploit function သည် string တစ်ခုကွဲသွားသောအခါ, အကယ်. ကြိုးထဲမှာတရုတ်ဇာတ်ကောင်တွေအများကြီးရှိရင်ဒါမှမဟုတ် delimiter ပြီးနောက်နေရာမရှိဘူးဆိုရင် split Array element တွေနဲ့ပြ problems နာတွေဖြစ်စေနိုင်တယ်။ ထို့အပြင် exploit function ကိုပုံမှန်အားဖြင့် bytes အပေါ် အခြေခံ. လုပ်ငန်းများ၌တည်ရှိသည်, ထို့ကြောင့်အချို့သောဇာတ်ကောင်များသည်မှားယွင်းစွာခွဲထွက်နိုင်သည်။

ဖြေရှင်းချက် - MB_strlen နှင့်အတူ string အရှည်စစ်ဆေးပါ

စူးစမ်းလေ့လာခြင်း မပြုမီ, ဇာတ်ကောင်တစ် ဦး စီကိုမှန်ကန်စွာလုပ်ဆောင်ရန်သေချာစေရန် string ကိုအရှည်ကိုစစ်ဆေးရန် MB_strinlen function ကိုသုံးနိုင်သည်။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ,ကမ်ာဘ,ဝမ်းသာစွာနှုတ်ဆက်ခြင်းPHP"</span></span><span>;
</span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_strlen</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အဆိုပါ string ကိုအရှည်သည်:<span class="hljs-subst">$length</span></span></span><span>\n"; </span><span><span class="hljs-comment">// output string ကို၏အရှည်</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">","</span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

string length ကို MB_strinlen မှတဆင့်စစ်ဆေးပြီးနောက်ဇာတ်ကောင်တစ် ဦး ချင်းစီကိုတိကျစွာခွဲနိုင်အောင်သေချာအောင်လုပ်ပါ။

နိဂုံးချုပ်အားဖြင့်

Exploit function ကို အသုံးပြု. တရုတ်ကြိုးများကိုလုပ်ဆောင်ရန်အတွက်အထူးဂရုပြုသင့်သည်။ MB_ConVert_encoding ကို encoding ပြောင်းခြင်းအတွက်, သင့်လျော်သောခွဲခြမ်းစိတ်ဖြာခြင်းကိုရွေးချယ်ပြီး MB_SPLIT ကဲ့သို့သော Multi-byte string function များကိုအသုံးပြုခြင်းအားဖြင့်, mb_split ကဲ့သို့သော multi-byte string function များကိုအသုံးပြုခြင်း, ဤကျွမ်းကျင်မှုများကိုကျွမ်းကျင်ခြင်းသည်တရုတ်ကြိုးများကိုင်တွယ်ခြင်းနှင့် encoding ပြ problems နာများကြောင့်ဖြစ်ပေါ်လာသောပြ troubl နာများကိုလျှော့ချသောအခါ developer များကိုပိုမိုသက်သာစေသည်။

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    explode