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