سلام خسته نباشید وقتی از کد eval () استفاده میکنم هاستم اونو یک کد مخرب میشناسه چه کدی رو جایگزینش کنم که همون کارو انجام بده ولی بدون اینکه یک کد مخرب شناسایی شه
تا اونجایی که میدونم جایگزین مستقیم نداره یعنی کارمون رو با یه فانکشن مثل اون انجام بدیم
ولی این لینک ها خیلی می تونه کمکت کنه
https://stackoverflow.com/questions/10671602/whats-alternative-of-eval-function
https://bytes.com/topic/php/answers/447461-eval-insecure-but-what-alternatives
https://arrayoverflow.com/question/what-is-alternative-of-eval-function-in-php/415
متغیر $WPUSER داخلش با این کد پر شده
eval('?>'.gzuncompress(gzinflate(base64_decode(strrev($An0n_3xPloiTeR)))));
این کد یک کد مخرب شناسایی میشه ولی اگه eval اولش رو پاک کنی نه میشه کدی درست
.کل کد من اینه
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width= , initial-scale=1.0">
<title>Document</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
<!-- Popper JS -->
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body class="bg-info">
<div class="container">
<div class="row">
<div class="col-md-8 offset-md-2 bg-light p-4 mt-5 rounded">
<form action="action.php" method="POST">
<div class="form-group">
<label for="message">message:</label>
</div>
<?php
$phpcode = $_POST['text'];
$obfuscate_low_level = strrev(base64_encode(gzdeflate(gzcompress($phpcode))));
echo '
<textarea class="form-control" rows="10" dir="ltr" >
<?php
$An0n_3xPloiTeR = "'.$obfuscate_low_level.'";
eval("?>".gzuncompress(gzinflate(base64_decode(strrev($An0n_3xPloiTeR)))));
?></textarea><br><br>
';
?>
<button type="button" class="btn btn-primary" onclick="location.href='http://project.wpuser.ir/';">back</button>
</form>
</div>
</div>
</div>
</body>
</html>
من داخل این کد یک بار از eval استفاده کردم که اونو به چشم شل اسکریپت میبینه خط 38 اگه eval رو پاک کنم دیگه کد مخرب شناسایی نمیشه ولی خب کدم درست کار نمیکنه چه کدی رو جایگزین کد eval() کنم
اهان پس می خوای از کارکرد eval استفاده کنی بدون استفاده از فانکشن eval() اونجوری که یادمه این کد رو برای لاینسس گزاری می خواست پس بیا از این روش استفاده کنیم
<?php
error_reporting(-1);
// Our PHP code inside a variable
$phpCode = '
class Foo
{
private $name;
public function __construct($name)
{
$this->name = $name;
}
public function hello()
{
return $this->name;
}
}
$serializedOutput = null;
foreach (range(1, 100000) as $i) {
$object = new Foo("name" . $i);
$out[] = $object->hello();
}
$serializedOutput = serialize($out);
';
// end of variable
function fakeEval($phpCode) {
$tmpfname = tempnam("/tmp", "fakeEval");
$handle = fopen($tmpfname, "w+");
fwrite($handle, "<?php\n" . $phpCode);
fclose($handle);
include $tmpfname;
unlink($tmpfname);
return get_defined_vars();
}
extract(fakeEval($phpCode));
echo strlen($serializedOutput);
چیز خاصی نباید بگم کد واضحه ولی
نگاه کن اول یک متغیر ساختیم بعد هرچی کد php داشتیم ریختیم توش تو توی کدت یجورایی باید از WPuser استفاده کنی
توی فانکشن eval_fake ما یک ورودی از نوع رشته داریم
توی فانکشن اول یه فایل ساختیم و توش کد های php مون رو اضافه کردیم و توش نوشتیم
بعد همون فایل اینکلود کردیم و سپس بعد اینکلود حذفش کردیم
اینجوری تمام کد های php مون به صفحه اضافه میشن
اگه درباره ی فانکشن های fOpen و fWrite و fClose سوال داری باید بگم فانکشن های درونی و از پیش ساخته شدهی php هستن برای مدیریت باز کردن و نوشتن درون فایل و بستنش می تونی دربارشون تحقیق کنی
البته باید بگم این روش منابع زیادی مصرف میکنه چون هی فایل میسازه بعد حذفش می کنه.
ممنون ولی باز من نتونستم درستش کنم
$An0n_3xPloiTeR = "'.$obfuscate_low_level.'";
eval("?>".gzuncompress(gzinflate(base64_decode(strrev($An0n_3xPloiTeR)))));
ببخشید که اینو میگم این کدی که من ازش استفاده میکنم و به عنوان کد مخرب شناسایی میشه خودت کد رو کامل کنی کدی که برام فرستادی چون من نتونستم
ممنون🙏
اون فنکشن های بالا رو به کدت اضافه کن اول
"?>".gzuncompress(gzinflate(base64_decode(strrev($An0n_3xPloiTeR))))
نمی دونم کد بالا چه و چی کار میکنه ولی اگه کد php بسازه باید اینجوری بشه
fakeEval("?>".gzuncompress(gzinflate(base64_decode(strrev($An0n_3xPloiTeR)))));
دقت کن کد php که به fakeEval پاس میدی فقط باید کد باشه و <?php و ؟> نداشته باشه
درود...
چرا می خوای از eval استفاده کنید؟
از جایی می دونم استفاده از تابع eval استفاده معمولي و مرسوم نيست که مگر در موارد خاص استفاده ميشه ...
ایشون می خوان یک سایت لاینسس گزاری بسازن اول کد رو اینکود می کنن و بعدش اخرش برای اجرا دیکود و ما می دونیم خروجی دیکود رشته هستش و با تابع eval می خوایم کاری کنه رشته عین کد اجرا بشه ولی متاسفانه با تابع fakeEval که من هم براشون ساختم نمی تونن کار کنن و کانفیگش رو بلد نیستن
من اگه بخوام این کدو اجرا کنم باید از چه تابعی استفاده کنم
gzuncompress(gzinflate(base64_decode(strrev($An0n_3xPloiTeR)))));
سلام جناب خسته نباشید من گذاشتمش زیر هدر ، رفت زیر هدر اما بازم جای مناسبی قرار نگرفت ، آخه من می خاستم ب هدر چسبیده باشه ولی خیلی از هم فاصله دارن صبر کنید الان عکسشو براتون می فرستم:
آدرس عکس:https://uploadkon.ir/uploads/158325_222-25-2022-2-26-00-AM.jpg
می دونید ک چطوری با آدرس عکس کار می کنند؟
بعد اینک باید فکنم padding رو تغییر بدیم ، درسته؟بعد کدوم padding رو تغییر بدم؟ممنون میشم بگین
سلام خسته نباشید
آهان متوجه شدم ، منظورتون عکس پروفایل هستش ، اون عکس پروفایل هستش ، آخه عکس پروفایل رو ک نمیشه برداشت ولی کمی راهنمایی می فرمایید که کدوم قسمت برم ک پاکش کنم؟از <blogprofile> استفاده کرده با تشکر
سلام ممنون که واقعا کمکم کنید
من متوجه شدم که وقتی از متغیر داخل eval() استفاده میکنم کدم کد مخرب شناسایی میشه
<?php
function wpuser()
{
$An0n_3xPloiTeR = "==AACM2DpFYhKmbrji5q";
}
eval("?>".gzuncompress(gzinflate(base64_decode(strrev(wpuser())))));
?>
کد فعلی اینه هنوزم ارور داره چون از eval() متغیر گذاشتم
این لینک که فرستادیم دقیقا کدی هست که بنده نوشتم
اما مشکل من اینه وقتی داخل eval متغیر استفاده کد مخرب شناسایی میشه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟