flowchart LR subgraph Client A(Client) --> B[Send Message] end subgraph Attacker B --> X[Intercept & Modify] X --> C[Send Modification] end subgraph Server C --> D[Process Message] D --> Y[Send Response] end subgraph Attacker Y --> Z[Intercept & Modify] Z --> F[Send Modification] end subgraph Client F --> A end style Client fill:#fff,color:#1c1c1c,stroke:#1c1c1c,stroke-width:2px style Server fill:#fff,color:#1c1c1c,stroke:#1c1c1c,stroke-width:2px style Attacker fill:#fff,color:#1c1c1c,stroke:#1c1c1c,stroke-width:2px style A fill:#fff,color:#1c1c1c,stroke:#1c1c1c,stroke-width:2px style B fill:#fff,color:#1c1c1c,stroke:#1c1c1c,stroke-width:2px style C fill:#fff,color:#1c1c1c,stroke:#1c1c1c,stroke-width:2px style D fill:#fff,color:#1c1c1c,stroke:#1c1c1c,stroke-width:2px style F fill:#fff,color:#1c1c1c,stroke:#1c1c1c,stroke-width:2px style X fill:#fff,color:#1c1c1c,stroke:#1c1c1c,stroke-width:2px style Y fill:#fff,color:#1c1c1c,stroke:#1c1c1c,stroke-width:2px style Z fill:#fff,color:#1c1c1c,stroke:#1c1c1c,stroke-width:2px linkStyle 0,1,2,3,4,5,6,7 stroke:#1c1c1c,color:#1c1c1c