আমরা স্ট্যাকের কোনও সম্পর্কিত ওয়েব সার্ভারে কমান্ড লাইন (বাশ) ফাংশন দিয়ে এটি করি,
monitor_outbound ()
{
tcpflow -p -c -i bond0 '( port 80 or port 443 ) and ' $(ip addr list | grep -Eoh "([0-9]{1,3}\.){3}[0-9]+" | sort -u | awk '{print "src host " $1 " or"}' | tr '\n' ' ' | sed -E 's# or $##g') | grep --line-buffered -oE '(GET|POST|HEAD) .* HTTP/1.[01]|Host: .*' | sed --unbuffered "s/^/$(date "+%b %d %T"): /g"
}
এর সংক্ষেপে, আপনি ম্যাজেন্টোতে সিআরএল / ফোপেন পদ্ধতিগুলি উত্তোলন করতে পারেন (তবে এটি ধরে নিচ্ছেন যে তারা এটি করার জন্য মূল পদ্ধতিগুলি ব্যবহার করতে বিরক্ত করেন), প্রায়শই না আপনি কাস্টম মডিউলগুলি তাদের উন্মুক্ত file_get_contents()
বা curl
পদ্ধতিগুলি ব্যবহার করতে পারবেন ।
আপনি একটি সহজ সঙ্গে দ্রুত চেক করতে পারেন grep
(ধরে নিই কোডটি অবরুদ্ধ নয়)
grep -ilrE "curl|file_get_contents|fopen|Zend_Http_Client" app/code/local app/code/community
এবং যেমন @ মারিয়াস নীচে বলেছে, অস্পষ্ট মডিউলগুলি দেখুন, যা base64
এনক্রিপ্ট করা স্ট্রিংগুলিতে তাদের পদ্ধতিগুলি লুকিয়ে রাখতে পারে
grep -ilrE "eval[\t ]+\(" app/code/local app/code/community
উপরের সিএলআই পদ্ধতিতে একমাত্র সমস্যা হ'ল আউটবাউন্ড এইচটিটিপি অনুরোধের জন্য চূড়ান্ত কার্যকর, এটি HTTPS এর জন্য অকেজো (ট্র্যাফিক এনক্রিপ্টড দেওয়া আছে), আপনি যে সেরাটি পাবেন তা হ'ল একটি আইপি / হোস্টনাম, তবে আর কিছুই নয়।