# mrz-crypto/password-caputur architecture

> Architecture diagram of the GitHub repository mrz-crypto/password-caputur, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mrz-crypto/password-caputur
- Repository: https://github.com/mrz-crypto/password-caputur

## Overview

This is a local phishing-demo site whose main flow presents provider-styled login forms, records submitted credentials, and redirects to an index page. The repository also includes a separate form handler and capture page, plus an optional ngrok exposure path documented in the README. The sampled code shows file and PHP error-log writes; the index excerpt also contains guest-session and quiz/dashboard UI. The capture page’s own form wiring and the full index behavior are not established by the excerpts.

Main entry points: [`fake_github_login.php`](https://github.com/mrz-crypto/password-caputur/blob/main/fake_github_login.php) (GitHub-style form and handler), [`fake_google_login.php`](https://github.com/mrz-crypto/password-caputur/blob/main/fake_google_login.php) (Google-style form and handler), [`fake_microsoft_login.php`](https://github.com/mrz-crypto/password-caputur/blob/main/fake_microsoft_login.php) (Microsoft-style form and handler), [`login.php`](https://github.com/mrz-crypto/password-caputur/blob/main/login.php) (Form POST handler)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interfaces["Login interfaces"]
  node_github["GitHub-style form and handler"]
  node_google["Google-style form and handler"]
  node_microsoft["Microsoft-style form and handler"]
  node_index["Index and guest UI<br/>[index.php]"]
  node_capturepage["Capture form page<br/>[capture.html]"]
end

subgraph group_handling["Submission handling"]
  node_formhandler["Form POST handler<br/>[login.php]"]
end

subgraph group_outputs["Capture outputs"]
  node_logfile["Captured log"]
  node_phplogs["PHP error output"]
end

node_visitor(("Visitor"))
node_ngrok["ngrok tunnel"]

node_visitor -->|"submits credentials"| node_github
node_visitor -->|"submits credentials"| node_google
node_visitor -->|"submits credentials"| node_microsoft
node_github -->|"appends entry"| node_logfile
node_google -->|"appends entry"| node_logfile
node_microsoft -->|"appends entry"| node_logfile
node_github -->|"writes capture output"| node_phplogs
node_google -->|"writes capture output"| node_phplogs
node_microsoft -->|"writes capture output"| node_phplogs
node_github -->|"redirects after capture"| node_index
node_google -->|"redirects after capture"| node_index
node_microsoft -->|"redirects after capture"| node_index
node_formhandler -->|"redirects on GET or POST"| node_capturepage
node_formhandler -->|"appends entry"| node_logfile
node_formhandler -->|"writes capture output"| node_phplogs
node_ngrok -.->|"exposes local site"| node_visitor

click node_github "https://github.com/mrz-crypto/password-caputur/blob/main/fake_github_login.php"
click node_google "https://github.com/mrz-crypto/password-caputur/blob/main/fake_google_login.php"
click node_microsoft "https://github.com/mrz-crypto/password-caputur/blob/main/fake_microsoft_login.php"
click node_index "https://github.com/mrz-crypto/password-caputur/blob/main/index.php"
click node_capturepage "https://github.com/mrz-crypto/password-caputur/blob/main/capture.html"
click node_formhandler "https://github.com/mrz-crypto/password-caputur/blob/main/login.php"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_github,node_google,node_microsoft,node_index,node_capturepage toneBlue
class node_formhandler toneAmber
class node_logfile,node_phplogs toneMint
class node_visitor,node_ngrok toneIndigo
```

## Components

### Login interfaces

- [GitHub-style form and handler](https://github.com/mrz-crypto/password-caputur/blob/main/fake_github_login.php): `fake_github_login.php`
- [Google-style form and handler](https://github.com/mrz-crypto/password-caputur/blob/main/fake_google_login.php): `fake_google_login.php`
- [Microsoft-style form and handler](https://github.com/mrz-crypto/password-caputur/blob/main/fake_microsoft_login.php): `fake_microsoft_login.php`
- [Index and guest UI](https://github.com/mrz-crypto/password-caputur/blob/main/index.php): `index.php`
- [Capture form page](https://github.com/mrz-crypto/password-caputur/blob/main/capture.html): `capture.html`

### Submission handling

- [Form POST handler](https://github.com/mrz-crypto/password-caputur/blob/main/login.php): `login.php`

### Capture outputs

- **Captured log**
- **PHP error output**

### Other components

- **Visitor**
- **ngrok tunnel**

## Connections

- Visitor → GitHub-style form and handler: submits credentials (evidence: `fake_github_login.php`)
- Visitor → Google-style form and handler: submits credentials (evidence: `fake_google_login.php`)
- Visitor → Microsoft-style form and handler: submits credentials (evidence: `fake_microsoft_login.php`)
- GitHub-style form and handler → Captured log: appends entry (evidence: `fake_github_login.php`)
- Google-style form and handler → Captured log: appends entry (evidence: `fake_google_login.php`)
- Microsoft-style form and handler → Captured log: appends entry (evidence: `fake_microsoft_login.php`)
- GitHub-style form and handler → PHP error output: writes capture output (evidence: `fake_github_login.php`)
- Google-style form and handler → PHP error output: writes capture output (evidence: `fake_google_login.php`)
- Microsoft-style form and handler → PHP error output: writes capture output (evidence: `fake_microsoft_login.php`)
- GitHub-style form and handler → Index and guest UI: redirects after capture (evidence: `fake_github_login.php`)
- Google-style form and handler → Index and guest UI: redirects after capture (evidence: `fake_google_login.php`)
- Microsoft-style form and handler → Index and guest UI: redirects after capture (evidence: `fake_microsoft_login.php`)
- Form POST handler → Capture form page: redirects on GET or POST (evidence: `login.php`)
- Form POST handler → Captured log: appends entry (evidence: `login.php`)
- Form POST handler → PHP error output: writes capture output (evidence: `login.php`)
- ngrok tunnel → Visitor: exposes local site (evidence: `README.md`)
