Skip to content
This repository was archived by the owner on Oct 23, 2025. It is now read-only.

Commit b1baa36

Browse files
authored
Merge pull request #35 from TClark000/master
secure transaction hackathon - payment_online
2 parents 353bf9d + b9ea3aa commit b1baa36

File tree

4 files changed

+829
-0
lines changed

4 files changed

+829
-0
lines changed
Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
@startuml
2+
skinparam backgroundcolor monochrome
3+
'skinparam monochrome true
4+
skinparam defaultTextAlignment center
5+
skinparam titleFontSize 22
6+
skinparam handwritten true
7+
8+
!define SPRITESURL https://raw.githubusercontent.com/rabelenda/cicon-plantuml-sprites/v1.0/sprites
9+
!includeurl SPRITESURL/user.puml
10+
11+
!define ICONURL https://raw.githubusercontent.com/tupadr3/plantuml-icon-font-sprites/v2.2.0
12+
!includeurl ICONURL/common.puml
13+
!includeurl ICONURL/font-awesome-5/cc_stripe.puml
14+
15+
skinparam rectangle {
16+
borderColor Black
17+
backgroundColor #fff
18+
}
19+
skinparam agent {
20+
borderColor Black
21+
backgroundColor #fff
22+
}
23+
skinparam sequence{
24+
arrowColor Black
25+
}
26+
skinparam usecase {
27+
borderColor #fff
28+
backgroundColor #fff
29+
shadowing false
30+
fontSize 18
31+
}
32+
33+
title
34+
35+
Threat Model | Attack Tree | Payment Online
36+
37+
end title
38+
39+
'legend left
40+
'text
41+
'endlegend
42+
43+
left footer
44+
[[https://github.com/TClark000/threat-models/blob/base/Flow%20Diagram/payment/img/payment_online_advanced.html{Report} Flow Diagram Report with Vulnerabilities]]
45+
github.com/tclark000/threat-models/blob/base/Flow Diagram/payment/img/payment_online_advanced.html
46+
47+
end footer
48+
49+
(key entities/actors within \nthe payment process) as subtitle
50+
51+
rectangle "<$user>\nThreat" as threat #Thistle
52+
rectangle "<$user>\nCustomer" as customer #LightGoldenRodYellow
53+
rectangle "<$user>\nMerchant" as merchant #LightGoldenRodYellow
54+
FA5_CC_STRIPE(stripe,Stripe) #LightGoldenRodYellow
55+
56+
'threat <. subtitle
57+
'subtitle .> stripe
58+
'subtitle .> merchant
59+
'subtitle .> customer
60+
subtitle .> threat
61+
stripe <. subtitle
62+
merchant <. subtitle
63+
customer <. subtitle
64+
65+
' Root nodes
66+
agent "Intent - Disrupt Merchant Business" as goalDisrupt
67+
agent "Intent - Steal Credit Card Details" as goalSteal
68+
69+
subtitle ... goalDisrupt #fff
70+
subtitle ... goalSteal #fff
71+
72+
' goalDisrupt
73+
agent "Prevent Purchases \nor Subscriptions" as goalPrevent
74+
agent "Use fraudulent \ncredit card" as goalFraudulentCC
75+
agent "Take advantage of Misconfiguration \n& Vulnerabilities" as goalApp
76+
agent "Target Stripe API" as goalStripeApi
77+
agent "Site Displays \nDifferent Content" as goalSite
78+
agent "Site no Longer Responds" as goalSite2
79+
agent "Steal customers" as goalStealCust
80+
agent "Create Fake Payments \nwith Stolen Cards" as goalFakePayments
81+
agent "Issue Fake Refunds \nand Cancel Orders" as goalRefund
82+
83+
goalDisrupt --> goalFakePayments
84+
goalDisrupt--> goalRefund
85+
goalDisrupt --> goalPrevent
86+
goalDisrupt --> goalFraudulentCC
87+
goalDisrupt --> goalApp
88+
goalDisrupt --> goalStripeApi
89+
goalDisrupt --> goalStealCust
90+
goalDisrupt --> goalSite
91+
goalDisrupt --> goalSite2
92+
93+
note top of goalFraudulentCC #LightGoldenRodYellow: Thwarted by implementing 3D Secure
94+
95+
agent "Target Merchant API" as goalMerchantApi
96+
agent "Create a \nMock website" as goalMock
97+
98+
goalPrevent --> goalMerchantApi
99+
goalStealCust --> goalMock
100+
101+
agent "Denial of Service" as goalDoS
102+
103+
goalMerchantApi --> goalDoS
104+
105+
agent "Tamper with Application \ncausing outage" as goalCrash
106+
agent "Compromise Merchant \nWeb Servers" as goalServers
107+
108+
goalApp --> goalCrash
109+
goalCrash --> goalServers
110+
111+
agent "Command Line Execution \nthrough SQL Injection" as goalCLE
112+
agent "Path Traversal" as goalPathTraversal
113+
agent "Session Hijacking \n- ServerSide" as goalSessionServerSide
114+
agent "Using Malicious Files" as goalMaliciousFiles
115+
agent "XSS Targeting \nNon-Script Elements" as goalXSS
116+
117+
goalServers --> goalCLE
118+
goalServers --> goalPathTraversal
119+
goalServers --> goalSessionServerSide
120+
goalServers --> goalMaliciousFiles
121+
goalServers --> goalXSS
122+
123+
agent "Gain access to Stripes \nMerchant Dashboard" as goalMerchantDashboard
124+
agent "Compromise and \nor steal employee laptop \nand mobile phone" as goalLaptop
125+
goalFakePayments--> goalMerchantDashboard
126+
goalRefund --> goalMerchantDashboard
127+
goalMerchantDashboard --> goalLaptop
128+
129+
agent "Domain Hijacking" as goalDomain
130+
agent "Denial of Service Attack" as goalDoS2
131+
132+
goalSite --> goalDomain
133+
goalSite2 --> goalDomain
134+
goalSite2 --> goalDoS2
135+
136+
' goalSteal
137+
agent "Target Customer Details \nstored by Merchant (db)" as goalCustLogin
138+
agent "Target Customer Client \n(home pc)" as goalCustClient
139+
agent "Target Stripe" as goalStripe
140+
agent "Customer uses Public WiFi \nto make a Payment" as goalPublicWiFi
141+
142+
goalSteal --> goalCustLogin
143+
goalSteal --> goalCustClient
144+
goalSteal --> goalStripe
145+
goalSteal --> goalPublicWiFi
146+
147+
agent "Target known \nCustomers of Merchant" as goalSocial
148+
agent "Social Engineering \nsuch as phishing" as goalSocialEng
149+
agent "Take advantage of \nMisconfiguration \n& Vulnerabilities" as goalStripeMisConfig
150+
agent "Insecure Wireless \nProtocols (WEP)" as goalMitM
151+
152+
goalCustLogin --> goalSocial
153+
goalCustClient --> goalSocial
154+
goalStripe --> goalSocialEng
155+
goalStripe --> goalStripeMisConfig
156+
goalPublicWiFi --> goalMitM
157+
158+
agent "Lateral movement \nwithin Organization" as goalLateral
159+
agent "Target Stripe for \nAdministrative rights" as goalStripeAdmin
160+
agent "Man in the Middle Attack\n(MiTM)" as goalManInMiddle
161+
162+
goalSocialEng --> goalStripeAdmin
163+
goalStripeAdmin --> goalLateral
164+
goalStripeMisConfig --> goalStripeAdmin
165+
goalStripeMisConfig --> goalLateral
166+
goalMitM --> goalManInMiddle
167+
168+
agent "Inject false Info & \nIntercept Data transfer" as goalDataWiFi
169+
170+
goalManInMiddle --> goalDataWiFi
171+
172+
goalMock --> goalSocial
173+
goalStripeApi --> goalDoS
174+
175+
agent "Social Engineering \nphishing" as goalPhishing
176+
agent "Session Hijacking" as goalSessionHijacking
177+
178+
goalSocial --> goalPhishing
179+
goalSocial --> goalSessionHijacking
180+
181+
agent "Steal Customer Data" as goalData
182+
agent "Transfer Money to \nWrong Account" as goalBankAccount
183+
184+
goalLateral --> goalData
185+
goalDataWiFi --> goalBankAccount
186+
187+
@enduml

0 commit comments

Comments
 (0)