It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://cracking.com.ar

  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <!-- Does not work
  5. <meta http-equiv="Supports-Loading-Mode" content="fenced-frame">
  6. -->
  7. <title>Fast Hack'em v.0.0.3</title>
  8. </head>
  9. <body>
  10.  
  11. <div id="eScreen" style="float:left;width:49%;margin:0px;padding:0px;font-size:14px;font-family: Monospace, Arial, sans-serif, Helvetica;"></div>
  12. <iframe name="ifn" id="ifd" style="float:right;width:49%;height:800px;margin:0px;padding:0px;"></iframe>
  13. <script>
  14. async function createFenced(){
  15. const URLs = [{url:'fence.php'}];
  16. await window.sharedStorage.worklet.addModule("worklet.js");
  17. const resolveToConfig = window.FencedFrameConfig !== void 0;
  18. let opaqueURL = await window.sharedStorage.selectURL("ts", URLs, {resolveToConfig, keepAlive:true});
  19. if (resolveToConfig && opaqueURL instanceof FencedFrameConfig) document.body.appendChild(Object.assign(document.createElement('fencedframe'), {mode: 'opaque-ads', config: opaqueURL, width:1000, height:800, id:'fenced'}));
  20. }
  21.  
  22. if (window === top)
  23. {
  24. ifn.location.replace("https://www.caballero.com.ar/");
  25. }
  26. else
  27. {
  28. eScreen.style.width = "95%";
  29. ifd.style.width = "3%";
  30. }
  31.  
  32.  
  33. function createError()
  34. {
  35. try
  36. {
  37. nothing()
  38. //null[0]();
  39. }
  40. catch(error)
  41. {
  42. log(error.stack.toString());
  43. }
  44. }
  45. //setTimeout(createError, 1000);
  46. function logMe()
  47. {
  48. let logData = ` isActive: ${navigator.userActivation.isActive}
  49. hasBeenActive: ${navigator.userActivation.hasBeenActive}
  50. location: ${location.href}
  51. `;
  52. log(logData.replace(/\n/g,'<br />'));
  53. }
  54. let timer;
  55.  
  56. const cmd = {
  57. get start() {
  58. timer = setInterval(logMe, 1000);
  59. return 1;
  60. },
  61. set start(arg) {
  62.  
  63. },
  64. get stop() {
  65. clearInterval(timer);
  66. return 1;
  67. },
  68.  
  69. };
  70.  
  71.  
  72. (function (){
  73. /*
  74. var eScreen = document.createElement("div");
  75. eScreen.style.width = "46%";
  76. eScreen.style.margin = "0px";
  77. eScreen.style.padding = "0px";
  78. eScreen.style.fontSize = "14px";
  79. eScreen.style.fontFamily = "Monospace, Arial, sans-serif, Helvetica";
  80. eScreen.style.float = "left";
  81. */
  82. //let iFrame = document.createElement("iframe");
  83.  
  84.  
  85. ///////////////////////// Code TextArea
  86. var eCode = document.createElement("textarea");
  87. /*
  88. eCode.onchange = function(e)
  89. {
  90. window.x = e;
  91. alert(e.isTrusted);
  92. }
  93. */
  94. eCode.name = "taCode";
  95. eCode.style.width = "100%";
  96. eCode.rows = "20";
  97. eCode.style.backgroundColor = "#000000";
  98. eCode.style.color = "#30ee30";
  99. eCode.style.fontSize = "16px";
  100. eCode.style.padding = "5px";
  101. eCode.autofocus = true;
  102. eCode.autocorrect = "off";
  103. eCode.autocapitalize = "off";
  104. eCode.spellcheck = false;
  105. eCode.ondblclick = function(e)
  106. {
  107. var ret = eval(this.value);
  108. log(ret);
  109. }
  110. eCode.onkeydown = function(e)
  111. {
  112. if (typeof e == "undefined") e = event;
  113. if ((e.keyCode == 13 || e.keyCode == 10) && (e.ctrlKey || e.shiftKey) ||
  114. (e.key == "@" || e.key == "#")
  115. )
  116. {
  117. if (e.preventDefault) e.preventDefault();
  118.  
  119. try
  120. {
  121. var ret = eval(this.value);
  122. }
  123. catch(e)
  124. {
  125. log("Error: " + e);
  126. return;
  127. }
  128.  
  129. if (e.ctrlKey || e.key == "@" || e.key == "#") // Log either eval or enum
  130. {
  131. if (e.shiftKey && !(e.key == "@" || e.key == "#")) log(prettyEnumObject(ret));
  132. else if (e.altKey || e.key == "#") log(remoteSave(prettyEnumObject(ret, true)));
  133. else log(ret);
  134. }
  135. }
  136. }
  137.  
  138. ///////////////////////// Code Log-Status
  139. var eLog = document.createElement("div");
  140. eLog.style.width = "100%";
  141. eLog.style.height = "300pt";
  142. eLog.style.margin = "0px";
  143. eLog.style.padding = "0px";
  144. eLog.style.wordWrap = "break-word";
  145. eLog.style.overflow = "scroll";
  146. eLog.style.padding = "5px";
  147. eLog.style.backgroundColor = "#000000";
  148. eLog.style.color = "#ffffff";
  149. eLog.style.border = "1px solid #eeeeee";
  150. eLog.innerHTML  = "Fast Hack'em";
  151.  
  152. eScreen.appendChild(eCode);
  153. eScreen.appendChild(eLog);
  154. //document.body.appendChild(eScreen);
  155.  
  156. window.log = function log(msg)
  157. {
  158. return eLog.innerHTML = msg;
  159. }
  160. function rot(s, i)
  161. {
  162. return void 0 === i && (i = 13), s.replace(/[A-Za-z]/g, function(c)
  163. {
  164. return String.fromCharCode(c.charCodeAt(0) + (c.toUpperCase() <= "M" ? i : -i));
  165. });
  166. }
  167.  
  168. function enumMembers(obj) // Returns an array of Strings of the members of the object
  169. {
  170. //Object.getOwnPropertyDescriptors(window)
  171. var instanceValues = Object.getOwnPropertyNames(obj);
  172. if (Object.getPrototypeOf(obj) != null)
  173. {
  174. instanceValues = instanceValues.concat(enumMembers(Object.getPrototypeOf(obj)));
  175. }
  176. return instanceValues;
  177. }
  178. function prettyEnumObject(obj, bPlainText)
  179. {
  180. var arrMembersList = enumMembers(obj);
  181. if (bPlainText)
  182. {
  183. var prettyList = obj.toString() + "\n";
  184. for (var i in arrMembersList)
  185. {
  186. var strMemberName = arrMembersList[i];
  187. var refMember = obj[strMemberName];
  188. prettyList += strMemberName + " = " + refMember + "\n";
  189. }
  190.  
  191. }
  192. else
  193. {
  194. var prettyList = "<strong>" + obj.toString() + "</strong><br />";
  195. for (var i in arrMembersList)
  196. {
  197. var strMemberName = arrMembersList[i];
  198. var refMember = obj[strMemberName];
  199. var memberType = typeof refMember;
  200. var prettyMemberValue = "";
  201. var prettyMemberName = '<span style="color:#aaaaaa">' + strMemberName + '</span>';
  202. if (memberType == "object") prettyMemberName = '<span style="color:#aaaaaa;cursor:pointer" onclick="alert(this.innerText)">' + strMemberName + '</span>';
  203. var memberValueColor = {
  204. "string"  : "#dddddd",
  205. "number"  : "#ff8080",
  206. "object"  : "#80ff80",
  207. "boolean" : "#8080ff",
  208. "function": "#a0a0cc"
  209. }
  210. //if (memberType == "object") prettyMemberValue = '<span onclick="alert(\''+refMember+'\')" style="cursor:pointer;color:' + memberValueColor[memberType] + '">' + refMember + '</span>';
  211. prettyMemberValue = '<span style="color:' + memberValueColor[memberType] + '">' + refMember + '</span>';
  212. prettyList += prettyMemberName + " = " + prettyMemberValue + "<br />";
  213. }
  214. }
  215. return prettyList;
  216. }
  217.  
  218. // Detects if Chrome Extension Resource exists and is accessible
  219. // Vivaldi Sample: ext("chrome-extension://jffbochibkahlbbmanpmndnhmeliecah/config.json")
  220. function ext(ext)
  221. {
  222.    var request = new XMLHttpRequest();
  223.    request.open("GET", ext, false);
  224.    try {
  225.       request.send(null);
  226.    } catch(_) {
  227.        return false;
  228.    }
  229.  
  230.    if (request.status === 200) {
  231.        return true;
  232.    }
  233. }
  234. //ext("chrome-extension://jffbochibkahlbbmanpmndnhmeliecah/config.json")
  235.  
  236. function fav(url)
  237. {
  238.    var link = document.querySelector("link[rel~='icon']");
  239.    if (!link)
  240.    {
  241.        var link = document.createElement('link');
  242.        link.rel = 'icon';
  243.        document.getElementsByTagName('head')[0].appendChild(link);
  244.    }
  245.    link.href = url;
  246. }
  247. //fav("https://www.google.com/favicon.ico");
  248.  
  249.  
  250. var isolatedIFrame = window;
  251.  
  252. function workerCodeWrappedAsFunction()
  253. {
  254.    function probeExtensionInsideWorker(extensionURL)
  255.    {
  256.        var isExtensionInstalled = false;
  257.        var syncXHR = new XMLHttpRequest();
  258.        syncXHR.open("GET", extensionURL, false);
  259.        try
  260.        {
  261.            syncXHR.send(null);
  262.            if (syncXHR.status === 200) {isExtensionInstalled = true;}
  263.        }
  264.        catch(e){}
  265.        return isExtensionInstalled;
  266.    }
  267.    self.onmessage = function(messageEvent)
  268.    {
  269.        // messageEvent.data is the extensionURL to probe
  270.        var isInstalled = probeExtensionInsideWorker(messageEvent.data);
  271.        if (isInstalled) self.postMessage(messageEvent.data);
  272.    }
  273.  
  274.    
  275. }
  276.  
  277. // Converts the contexts (text) of workerCodeWrappedAsFunction to a real Blob
  278. // so we can easily use it as the code inside the Worker.
  279. var strFn = workerCodeWrappedAsFunction.toString();
  280. var strWorkerCode = strFn.slice(strFn.indexOf("{") + 1, strFn.lastIndexOf("}"));
  281. var workerBlob = new Blob([strWorkerCode], {type: 'application/javascript'});
  282. var workerUrl = isolatedIFrame.URL.createObjectURL(workerBlob);
  283.  
  284.  
  285.  
  286. var workerToProbeExtensions = false, arrayWithCallbacks = null, timeoutToKillWorker = 0;
  287. function initWorker()
  288. {
  289.    if (!workerToProbeExtensions)
  290.    {
  291.        arrayWithCallbacks = [];
  292.        workerToProbeExtensions = new isolatedIFrame.Worker(workerUrl);
  293.        workerToProbeExtensions.addEventListener("message", function (messageEvent)
  294.        {
  295.            arrayWithCallbacks[messageEvent.data]();
  296.        });
  297.    }
  298.    
  299.    clearTimeout(timeoutToKillWorker);
  300.    timeoutToKillWorker = setTimeout(function()
  301.    {   // Destroy Worker and clean callbacks Array
  302.        workerToProbeExtensions.terminate();
  303.        workerToProbeExtensions = false;
  304.        arrayWithCallbacks = null;
  305.    }, 3000);
  306.  
  307. }
  308. function probeExtensionNoisy(url, callback)
  309. {
  310.    initWorker();
  311.    arrayWithCallbacks[url] = callback;
  312.    workerToProbeExtensions.postMessage(url);
  313.  
  314. }
  315.  
  316. //probeExtensionNoisy("chrome-extension://jffbochibkahlbbmanpmndnhmeliecah/config.json", function(){alert("yes")});
  317.  
  318.  
  319.  
  320. function remoteSave(str)
  321. {
  322. var xhttp = new XMLHttpRequest();
  323. xhttp.open("POST", "remote_save.php", true);
  324. xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  325. xhttp.send("data=" + escape(str));
  326. return str;
  327. }
  328. function autoLog()
  329. {
  330. log(remoteSave(prettyEnumObject(ret, true)));
  331. }
  332. if (location.hash.substring(1,4) == "log")
  333. {
  334. var strObject = location.hash.substring(5);
  335. var obj = eval(strObject);
  336. log(remoteSave(prettyEnumObject(obj, true)));
  337. }
  338. else if (location.hash.substring(1,4) == "cmd")
  339. {
  340. let command = location.hash.substring(5);
  341. cmd[command];
  342. }
  343. /*
  344. function loge(__tempObject)
  345. {
  346. var strEnum  = forIn(__tempObject);
  347. var __tempObject_Enum = strEnum.replace(/</g, "&lt;").replace(/>/g, "&gt;");
  348. __tempObject_Enum = __tempObject_Enum.replace(/\n/gi, "<br />").replace(/NO_ACCESS/g, "<font color=\"red\">NO_ACCESS</font>").replace(/(\[[^\]]*\])/g, "<font color=\"yellow\">$1</font>");
  349. __tempObject_Enum = __tempObject_Enum.replace(/CUSTOM_ERROR/g, "<font color=\"red\">CUSTOM_ERROR</font>");
  350. __tempObject_Enum = __tempObject_Enum.replace(/(null)|(undefined)/gi, "<font color=\"#999999\">$1$2</font>");
  351.  
  352. log(__tempObject_Enum);
  353. document.getElementById("notepad").value = strEnum;
  354. }
  355. function logep(__tempObject)
  356. {
  357. loge(__tempObject);
  358. post();
  359. }
  360.  
  361. /*
  362. window.addEventListener('error', function (e)
  363. {
  364. console.log(e);
  365. log(e.message);// + "<br />" + url + "<br />" + lineNo + "<br />" + columnNo + "<br />" + error);
  366. })
  367. */
  368.  
  369. })();
  370.  
  371. /*
  372. var str = "";
  373. function showPaintTimings() {
  374. let performance = window.performance;
  375. let performanceEntries = performance.getEntriesByType('paint');
  376. performanceEntries.forEach( (performanceEntry, i, entries) => {
  377. str += ("The time to " + performanceEntry.name + " was " + performanceEntry.startTime + " milliseconds.\n");
  378. console.log(str);
  379. });
  380.  }
  381.  
  382. setTimeout("showPaintTimings()",1000);
  383. setTimeout(function(){
  384. z = new Image();
  385. z.src = "https://www.cracking.com.ar/fh/remote_save.php?data=" + escape(str);
  386. }, 3000)
  387. */
  388. /* Inline worker code
  389. function getWorkerCode()
  390. {
  391.    function workerCode()
  392.    {
  393.        self.onmessage = function(event)
  394.        {
  395. console.log(navigator)
  396.            self.postMessage(navigator.toString());
  397.        }
  398.    }
  399.    var strFn = workerCode.toString();
  400.    return strFn.slice(strFn.indexOf("{") + 1, strFn.lastIndexOf("}"));
  401. }
  402.  
  403.  
  404. var workerCode = getWorkerCode();//"self.onmessage=function(e){postMessage('Worker: '+e.data);}";
  405.  
  406. var blob;
  407. try {
  408.    blob = new Blob([workerCode], {type: 'application/javascript'});
  409. } catch (e) { // Backwards-compatibility
  410.    window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;
  411.    blob = new BlobBuilder();
  412.    blob.append(workerCode);
  413.    blob = blob.getBlob();
  414. }
  415. var worker = new Worker(URL.createObjectURL(blob));
  416.  
  417. // Test, used in all examples:
  418. worker.onmessage = function(e)
  419. {
  420.    alert('Worker Response:\n' + e.data);
  421. };
  422. worker.postMessage('Test');
  423. */
  424.  
  425.  
  426. function w(htmlCode)
  427. {
  428. document.getElementById("scratch").innerHTML = htmlCode;
  429. return "Code written in scratch";
  430. }
  431. function eventEnum(obj, callback)
  432. {
  433.    if (!callback) var callback = function(e){alert(e.type)};
  434.    obj.onabort=obj.onanimationend=obj.onanimationiteration=obj.onanimationstart=obj.onauxclick=obj.onbeforecopy=obj.onbeforecut=obj.onbeforepaste=obj.onbeforexrselect=obj.onblur=obj.oncancel=obj.oncanplay=obj.oncanplaythrough=obj.onchange=obj.onclick=obj.onclose=obj.oncontextmenu=obj.oncopy=obj.oncuechange=obj.oncut=obj.ondblclick=obj.ondrag=obj.ondragend=obj.ondragenter=obj.ondragleave=obj.ondragover=obj.ondragstart=obj.ondrop=obj.ondurationchange=obj.onemptied=obj.onended=obj.onerror=obj.onfocus=obj.onformdata=obj.onfullscreenchange=obj.onfullscreenerror=obj.ongotpointercapture=obj.oninput=obj.oninvalid=obj.onkeydown=obj.onkeypress=obj.onkeyup=obj.onload=obj.onloadeddata=obj.onloadedmetadata=obj.onloadstart=obj.onlostpointercapture=obj.onmousedown=obj.onmouseenter=obj.onmouseleave=obj.onmousemove=obj.onmouseout=obj.onmouseover=obj.onmouseup=obj.onmousewheel=obj.onpaste=obj.onpause=obj.onplay=obj.onplaying=obj.onpointercancel=obj.onpointerdown=obj.onpointerenter=obj.onpointerleave=obj.onpointermove=obj.onpointerout=obj.onpointerover=obj.onpointerrawupdate=obj.onpointerup=obj.onprogress=obj.onratechange=obj.onreadystatechange=obj.onreset=obj.onresize=obj.onscroll=obj.onsearch=obj.onseeked=obj.onseeking=obj.onselect=obj.onselectionchange=obj.onselectstart=obj.onstalled=obj.onsubmit=obj.onsuspend=obj.ontimeupdate=obj.ontoggle=obj.ontransitioncancel=obj.ontransitionend=obj.ontransitionrun=obj.ontransitionstart=obj.onvolumechange=obj.onwaiting=obj.onwebkitanimationend=obj.onwebkitanimationiteration=obj.onwebkitanimationstart=obj.onwebkitfullscreenchange=obj.onwebkitfullscreenerror=obj.onwebkittransitionend=obj.onwheel=callback;
  435. }
  436.  
  437. function fnOnMessage(e)
  438. {
  439. alert( "document.URL: " + document.URL + "\n" +
  440. "e.data: " + e.data + "\n" +
  441. "typeof e.data: " + typeof e.data + "\n" +
  442. "callee.caller has: " + arguments.callee.caller + "\n"
  443. );
  444. }
  445. window.addEventListener("message", fnOnMessage, false);
  446.  
  447. ////////////////////////////////////////////////////////////////////////////////////////////
  448. var scratchDiv = document.createElement("div");
  449. scratchDiv.setAttribute("style","position:absolute:top:-100px;width:1px;height:1px;visibility:hidden");
  450. document.body.appendChild(scratchDiv);
  451. const ERROR = -1, NOT_INITIALIZED = 0,  INITIALIZING = 1, READY = 2;
  452. var state = NOT_INITIALIZED;
  453. var queueExtensions = new Array();
  454. function initProbeExtension()
  455. {
  456. if (state === NOT_INITIALIZED)
  457. {
  458. state = INITIALIZING;
  459. //console.log("INITIALIZING");
  460. var obj = document.createElement("object");
  461. obj.setAttribute("style","width:1px;height:1px;visibility:hidden");
  462. obj.type = "text/plain";
  463. var toInvalidLoad = setTimeout(function()
  464. {
  465. state = READY; // probeExtension works well. We can safely assume that it will work as expected.
  466. probeExtension(); // Start testing extensions
  467. }, 400);
  468. obj.onload = function()
  469. {
  470. state = ERROR; // probeExtension throws FPs. Can't be used during this session.
  471. clearTimeout(toInvalidLoad);
  472. alert("FP on extension load")
  473. }
  474. obj.data = "chrome-extension://agnangantblacabcerducharleorepsu/dshawo.json";
  475. scratchDiv.appendChild(obj);
  476. }
  477. }
  478. function probeExtension(url, callback)
  479. {
  480. if (arguments.length > 0) {queueExtensions.push([url, callback]);}
  481. if (state === READY) // Create the object
  482. {
  483. while (queueExtensions.length > 0)
  484. {
  485. var obj = document.createElement("object");
  486. obj.setAttribute("style","width:1px;height:1px;visibility:hidden");
  487. obj.type = "text/plain";
  488. var extFromQueue = queueExtensions.shift();
  489. obj.onload = extFromQueue[1]; // callback
  490. obj.data =   extFromQueue[0]; // extension url
  491. scratchDiv.appendChild(obj);
  492. }
  493. // Destroy objects
  494. state = INITIALIZING;
  495. setTimeout(function(){
  496. scratchDiv.innerHTML = "";
  497. state = READY;
  498. if (queueExtensions.length > 0) {probeExtension();}
  499. }, 1500);
  500. }
  501. else if (state === NOT_INITIALIZED)
  502. {
  503. initProbeExtension();
  504. }
  505. }
  506. ////////////////////////////////////////////////////////////////////////////////////////////
  507. ////////////////////////////////////////////////////////////////////////////////////////////
  508. probeExtension("chrome-extension://dehdhmbfpjfihgpekceokjdeeheinkfo/intercept.js", function(){alert("Epic")});
  509. function classExists(className) {
  510.    var styleSheets = document.styleSheets;
  511.    for (var i = 0; i < styleSheets.length; i++) {
  512.      var rules = styleSheets[i].cssRules || styleSheets[i].rules;
  513.      for (var j = 0; j < rules.length; j++) {
  514.        if (rules[j].selectorText === '.' + className) {
  515.          return true;
  516.        }
  517.      }
  518.    }
  519.    return false;
  520.  }
  521.  /*
  522.  function resourceLoader(url)
  523. {
  524. var obj = document.createElement("object");
  525. obj.setAttribute("style","width:1px;height:1px;visibility:hidden");
  526. obj.type = "text/plain";
  527. obj.onload = function(){alert("Loaded")}
  528. obj.data = url;
  529. document.body.appendChild(obj);
  530. }
  531. resourceLoader("chrome-extension://does_not_exist");
  532.  */
  533.  
  534. </script>
  535. <!--
  536. <script src="https://s.tw.marcus.com/static/4.80.9/pagespeed.js?psv=4.80.9&ci=845155&mo=2&pd=acc&rnd=123" integrity="sha256-emv3ViVQ1ERc0E5rI9Z3ugIBaSGvrITRAEo1dELo+Pc=" crossorigin="anonymous"></script>
  537.  
  538.  
  539. <iframe name="ifr" id="_ifr" width="800" height="600"></iframe>
  540. //console.log("Epic: " + ifr.document.documentElement.dataset.cbscriptallow);
  541. //https://www.cracking.com.ar/fh/do.php?do=headers
  542.  
  543. -->
  544.  
  545. <div id="scratch">id:scratch Write here using w("<b>Hello</b>")</div>
  546.  
  547. </script>
  548. </body>
  549. </html>
  550.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda