Archiv verlassen und diese Seite im Standarddesign anzeigen : (PHP) - Suche Script das in XenForo (boerse.to) Posts erstellen kann
HansTheWinner
19.08.2019, 17:34
Hallo,
suche ein PHP-Script, dasss sich bei boerse.to einloggen und dort Posts/Themen erstellen kann. Suche das ganze in PHP, weil ich diese Programmiersprache beherrsche.
Also die XenForo-Api funktioniert dort nicht und das ganze muss mit Cloudflare umgehen können.
Bin natürlich bereit dafür etwas zu zahlen, wenn es funktioniert!
Hans.Peter13
20.08.2019, 18:16
und wo liegt das Problem dies selbst zu machen wenn du PHP (ist übrigens keine Programmiersprache)beherrschst?
*Bitte keine direkten Vollzitate*
Ein klein wenig übertrieben finde ich es schon, wenn immer gleich so darauf rumgeritten wird wenn einer sich falsch ausdrückt oder etwas schreibt was ein wenig wiedersprüchlich ist . Wird das denn gemacht damit man für das blosstellen dafür ein paar Likes bekommt ?
Zum Thema.
Per Shellscript habe ich keine Probleme ins Xenforo zu posten, wegen Cloudflare wollte ich mal schauen und habe boerse.to aufgerufen. Leider kommt da als erstes gleich eine Captscha Abfrage, das macht es mir unmöglich per Script weiter zu kommen. Sorry.
HansTheWinner
21.08.2019, 15:58
Per Shellscript habe ich keine Probleme ins Xenforo zu posten, wegen Cloudflare wollte ich mal schauen und habe boerse.to aufgerufen. Leider kommt da als erstes gleich eine Captscha Abfrage, das macht es mir unmöglich per Script weiter zu kommen. Sorry.
Kannst du mir das Shellscript geben?
Ganz so einfach ist es leider nicht.
Das war Teil eines größeren Projects das automatisch aus vorhandenen Releases Postings erstellte, inclusive Bilder und Beschreibung, passenden Beitragssymbol und Prefix, ins jeweils passende Forum gepostet hatte.
Das zu erarbeiten hatte sich über Monate hingezogen und war sehr speziell an ein bestimmtes Board angepasst, damals ein vBulletin. Ich hatte aber testweise auch versucht wie das mit Woltlab gepostet und später positiv probiert ob ich auch ins Xenforo posten kann, nur hatte ich das dann nicht weiterverfolgt.
Ich kann nicht nicht mehr auswendig sagen was XenForo alles verlangt zum Posten. Prefixe und Beitragssysmbole gehören auf alle Fälle an das jeweilige Board speziell angepasst.
Ebenso muss dem Scrip mitgeteilt werden welche IDNummern zu welchen Unterforum gehören. Desweiteren muss natürlich sowohl Titel als auch zu Postender Inhalt übergeben (oder anhand eines vorhandenen Releases eraarbeitet werden)
Es müssen Pfade angepasst werden und einiges mehr.
Du siehst, es ist nicht möglich ein vorgefertigtes Script zu verwenden das dann generell für alle Boards funzt. Das ganze ist schon um einiges aufwendiger.
Einzig das einloggen ist wohl immer gleich, ansonsten ist zwar der Weg ist immer derselbe, gehört aber bei jedem Board speziell angepasst.
Der große Haken bei der Sache ist eben, das ich an dem Capcha schon scheitere und deswegen nicht auslesen kann was das boerse.to alles verlangt. Und das Script nicht anpassen und testen kann.
HansTheWinner
21.08.2019, 16:38
*Bitte keine direkten Vollzitate*
Ich verlange auch kein fertiges Script. Ich würde nur gerne das Script haben um damit rumzuprobieren.
Es gibt dafür kein fertiges Script.
Es gab vor den Usenetbusts einmal ein Testscript dafür, nur Theorie ob das den bei einem Umstieg auf XenForo funktionieren würde. Nur ein paar Codezeilen, die dafür wichtig sind, hatte ich für den Fall des Falles behalten. Und eben das Wissen, das es möglich ist.
Nach den Busts ist alles auf ein paar verschlüsselte Platten gelandet in einem rechten Chaos, wo ich viele Dokumente erst durchsuchen müsste wo die stehen. Einfacher wäre es für mich vermutlich sogar das neu zu erarbeiten.
Deswegen wollte ich ja zuerst auch schauen ob ich an Cloudflare überhaupt vorbeikomme, bevor ich mir die Arbeit mache das rauszusuchen.
- - - - - - - - - - Beitrag nachträglich erweitert - - - - - - - - - -
Hier zumindest mal wie ich mich einlogge ins XenForo
Zuerst wird geprüft ob man schon eingeloggt ist, wenn ja kommt die Meldung "Schon eingeloggt" Das gilt aber wohl nur bei deutschsprachigen Boards. Falls aber die abgefragte Textphrase vom jeweiligen Tec geändert wurde, gibt es schon wieder ein falsches Ergebniss.(was übrigens auch für das SUBMIT=anmelden beim Login gilt)
Danach kommt der Einlogaufruf an das Board.
Die ganzen Variablen sollten natürlich ausgefüllt sein, ich denke die jeweiligen Namen sprechen für sich, so das leicht erkennbar ist was da drinnen stehen muss.
Die zurückgegebene Quelltext der Seite wird immer im Homeverzeichniss in der Datei seite.html gespeichert, so das man diese direkt mit Klick in einem Browser ansehen kann.
curl --cookie $HOME/cookies.txt --cookie-jar $HOME/cookies.txt -s -S --user-agent "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)" -L "$BOARDADRESSE" > $HOME/seite.html
angemeldet=`grep -o "Du musst angemeldet sein" $HOME/seite.html`
if [ "$angemeldet" = "Du musst angemeldet sein" ] ; then
curl --cookie $HOME/cookies.txt --cookie-jar $HOME/cookies.txt -s -S --user-agent "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)" -L --data "password=$PASSWORD&login=$USERNAME&SUBMIT=anmelden" "${BOARDADRESSE}/index.php?login/login" > $HOME/seite.html
else
echo ""
echo " Schon eingeloggt"
echo ""
fi
Edit:
Der nächste Schritt wäre dann im Board nach dem Release zu suchen. Und entsprechend ein neues Posting zu erstellen oder eine Antwort dranhängen (was wieder anders funzt als einen neuen Thread zu erstellen)
hey banane ist dein script genau das selbe wie das hier
https://i.imgur.com/RwtEFcs.png
*Bitte keine direkten Vollzitate*
Nein.
Mein Script lief unter Linux, nicht Windows Powershell. Allerdings hatte ich ein nicht so Umfangreiches auch mal für die Linuxshell in Windows geschrieben, insofern wäre theoretisch etwas ähnliches auch dort lauffähig.
Jedenfalls, mein Script wurde für das Usenet und dort speziell für ein bestimmtes Board geschrieben, um dort vorhandenen Releases zu raren, paren, uppen und alles nötige und unötige rauszuholen, und ohne weiteres zutun mit vielen Infos ins richtige Forum des Boards zu posten.
Der Knackpunkt bei meinem Windowsversuch war, das es unter Windows Programme gab die viel schneller Parten als die in meinem Linuxscript.
Mittlerweile hat sich das aber geändert, auch unter Linux gibt es jetzt ein schnelles Programm zum paren. Es würde nicht mehr viel dagegensprechen so eine Art Uploadhelper zu schreiben, der in der Linuxshell von Windows läuft.
darkness
21.08.2019, 21:32
An ner Lösung aktuell Seiten die via cloudflare geschützt sind zu lesen bzw auch Daten zu senden wäre ich auch interessiert.
Ich hatte mal für mygulli ein php Script welches eben solche Aufgaben gewünscht übernimmt ...
Problem ist eben an cloudflare vorbeizukommen
Ich bin vor ein paar Jahren schonmal daran gescheitert. Allerdings habe ich mittlerweile ein wenig dazugelernt. Deswegen wollte ich das Eingangs auch nochmals probieren.
Wie geschrieben bin ich schon an den Captchas gescheitert, wegen VPn vermutlich.
Wenn ich mal Zeit habe, probier ich das mit Cloudflare nochmal an einer anderen Seite, wie das ganz allgemein gehen könnte.
Soweit ich das bisher verstehe, wird ein Javascript geschickt in der eine aufgabe zu lösen ist, der Browser muss das Ergebniss dann zurückschicken.
Gerade Java habe ich Null Ahnung (naja, PHP auch. Und HTML kenn ich mich auch kaum aus. Und überhaupt ... Nur ein bisschen Scripten in der Shell), aber ich werde bei Gelegenheit mal schauen ob ich da was rausfinde .... Es geht darum das ich ein Problem knacke an dem ich bisher gescheitert bin .... falls ich das schaffe, kann ich besser schlafen, auch wenn ich das Ergebniss nicht verwenden könnte und nur für mich selber einfach lösen möchte. lol
...PHP (ist übrigens keine Programmiersprache)...
Erleuchte mich, was ist es denn dann? Und jetzt komm bitte nicht mit dem Blödsinn an das es ja "nur" eine Skriptsprache ist.
Wenn dir Leute sagen, dass PHP keine Programmiersprache ist und Java nicht Java-Script, dann dient das nicht nur zur Belustigung, sondern auch dazu dich darüber aufzuklären, dass du Begriffe falsch verwendest. Man kann natürlich auch "Apfel" zu einer "Birne" sagen, aber das ist halt leider nicht wirklich richtig und erschwert die Kommunikation.
Cloudflare hat in der Regel zwei verschiedene Modi um vor Bots/Attacken zu schützen. Welche davon zum Einsatz kommen hängt von der Webseite und/oder der IP (und unter Umständen vermutlich auch anderen Faktoren und deren Bewertung von CF) ab. Es kann auch sein, dass keiner der Checks kommt. Beide gleichzeitig kommen aber eigentlich nie vor.
Der erste Check ist die Java-Script-Challenge (auch gerne auch "I'm under attack mode" = IUAM genannt). Hierbei muss man kein Captcha lösen, sondern bekommt einfach "Checking your browser before accessing [...]" und muss kurz warten. Im Hintergrund löst dein Browser eine (Rechen-)Aufgabe per JS und sendet das Resultat an Cloudflare. Um diesen Check zu umgehen muss der Bot entweder JS unterstützen/verstehen/ausführen oder man bringt ihm eben den benötigten Teil bei. Früher war das mal relativ einfach. Heute dürfte das etwas schwieriger sein, aber ich glaube es gibt auch entsprechende "Bypass"-Scripte, die man im Internet findet.
Der zweite Check ist der, bei dem man ein ReCaptcha sieht. Diesen Check kann man nicht wirklich umgehen, aber man kann das Captcha einfach durch einen entsprechenden Service (nennen sich u.a. "Captcha Breaker") lösen lassen. Hierfür hilft dir womöglich schon der Beispielcode, den entsprechende Anbieter in der Dokumentation anbieten, weiter.
@Nimbus
Natürlich magst du da Recht haben, ich habe mittlerweile aber einfach den Eindruck das viele hier immer nur rummäkeln anstatt versuchen wirklich bei der Sache zu helfen.
Schau dir diesen Thread an, es haben sich einige zu Wort gemeldet. Und wer hat tatsächlich etwas zum eigentlichen Problem, etwas ins XenForo zu Posten, geschrieben ?
Diejenigen die andere belehrt haben, haben Likes bekommen, was indirekt Ansporn ist das weiterhin zu machen. Ich, als dereinzige der ernsthaft versuchte zu helfen, habe keinen einzigen. Sowas sollte doch zu denken geben, oder ?
Schlussfolgerung, wären mit Likes so wichtig wie anderen, sollte ich nicht mehr helfen sondern kritisieren.
Wie auch immer, das es den Check mit den Captchas gibt war mir eigentlich schon bekannt.
Ebenso das es den "Panic Modus" gibt und das der Bot dazu Javascript unterstützen muss um weiter zu kommen. Ungemein Hilfreich ist natürlich zu wissen das es früher einfacher war das zu lösen. ;)
Leider hilft mir aber das Wissen das du glaubst das es dafür (Linux oder PHP ?) Scripte gibt die das umgehen, ebensowenig wirklich weiter, wie es hilft PHP Code zu screiben um ins XenForo zu posten.
Ich könnte jetzt einen eigenen Thread aufmachen "Brauche Hilfe beim finden eines Bypass zum Umgehen von Cloudflare, Problem sollte in der Bash lösbar sein" und "Suche einen "CaptchaBreaker" für die Shell"
Da würden dann aber vermutlich gleich wieder nichtssagende Antworten kommen die irgendwas an der Anfrage kritisieren, die dafür Likes bekommen, aber die kein Stück hilfreich sind.
Sorry, das ganze ist ja nicht böse gemeint. Ist einfach mein Eindruck das es immer mehr überhand nimmt das gepostet wird, nur um etwas geschrieben zu haben.
Mit meinem Post wollte ich nur sicher gehen, dass du die beiden verschiedenen Schutzmaßnamen und ihre Funktion kennst und dir auch die entsprechenden Begrifflichkeiten aus dem Bereich bekannt sind, die man für das auffinden von Lösungsansätzen nutzen kann.
Hätte ich geahnt, dass du alles aus dem einen Teil meines Posts bereits weißt und alles aus dem anderen Teil dir nicht weiterhilft, dann hätte ich nicht versehentlich versucht dir weiterzuhelfen.
Viel Erfolg mit deiner Suche :)
Ohje, Asche über mein Haupt.
Tur mir echt leid, ich hatte das nicht als Hilfeversuch verstanden und den Hinweiß, nach was ich suchen sollte, leider nicht kapiert. Natürlich hast du Recht.
Nachdem ich oben schon geschrieben hatte das ich mich nur ein wenig mit Schellscripten auskenne, also keinerlei Kenntnisse in Programiersprachen besitze (hast du ja sicher gelesen), leider aber nur PHP Tools und Lösungen zu dem Thema zu finden sind, denke ich das du viel besser prädistiniert bist den Jungs zu helfen.
Immerhin ist sowohl dein Wissen was Cloudflare anbelangt, als auch dein Allgemeinwissen zum coden um einiges über meinem Level. Darüber braucht man nicht zu diskutieren, das ist Tatsache.
Nachdem ja eigentlich eine Lösung in PHP gewünscht wurde denke ich, das du kompetenter bist bei dem Problem in ein Forum zu posten. Und erst Recht was Cloudflare anbelangt.
Du willst doch hoffentlich weiterhin helfen, oder ? Meine Kenntnisse sind jedenfalls zu schlecht um da doch noch Lösungen zu finden, jetzt liegt es an dir ob den Usern hier geholfen werden kann. Ich fürchte die verlassen sich jetzt auf dich, immerhin hast du bereits bewiesen das du dich auskennst und auch Lösungswege kennst.
Auch wenn Nimbus sich eigentlich viel besser auskennt als ich, er scheint in der Praxis nicht helfen zu wollen, was ich sehr Schade finde.
Also habe ich dochmal etwas gesucht und bin zu der Erkentnissen gekommen das das ganze, zumindest für mich als Amateur, ein noch komplexeres Thema ist als gedacht
Das mit der von Nimbus vorgeschlagenen Suche nach einem Bypass hilft nur bedingt, das sind nur Methoden um die echte IP rausbekommen um dann Cloudflare zu umgehen, nicht aber wie gewünscht die Gleichung zu lösen und zurück zu schicken.
Zudem habe ich bisher auch keinen Hack gefunden der dazu noch funktioniert, es scheint alles bereits gefixxt zu sein.
Ich müsste als erstes einfach die Javascriptabfrage verstehen, wie bereits geschrieben habe ich davon keinerlei Ahnung. Trotzdem - ich habe eine Seite gefunden die halbwegs beschreibt wie das gesendete Javascript arbeitet.
Ich vermute ich könnte die richtige Antwort in der Shell errechnen, ob das dann reicht um das Coockie richtig zu setzten und damit die richtige Domain weitergeleitet zu werden, kann ich noch nicht sagen.
Zudem gibt es ein paar unwägbarkeiten ... Ich weiß nicht ob die dort angegebene Methode noch aktuell ist oder ob Cloudflare was geändert hat. Dazu mein mieses Englisch und fehlendes Wissen ausserhalb der Shell ... Ich sage ja, Nimbus wäre da sicher viel besser geeignet.
Ich werde, wenn ich Zeit (und Lust) habe, weiter versuchen das zu lösen. Schade das es nicht mehr so einfach ist wie ich es in Erinnerung hatte, da wurde einfach im Klartext eine einfache Rechenaufgabe geschickt, jetzt ist dieser Teil in Javascript.
Was bedeutet folgender Javascript Aufruf, wird da der Wert von REbvZoy.xwS mit dem von t.lenght zusammen gerechnet ? (t.lenght ist die Länge des Domainnamens)
Was bedeutet die 10, wird da etwas bis zur zehnten stelle gekürzt ?
a.value = parseInt(REbvZoy.xwS, 10) + t.length;
Was bedeutet die 10, wird da etwas bis zur zehnten stelle gekürzt ?
a.value = parseInt(REbvZoy.xwS, 10) + t.length;
Ich war heute zufällig dabei meinen Cloudflare-Solver zu fixen, weil sich irgendwann deren Challenge geändert hat.
Dein Schnipsel ist auf jeden Fall nicht mehr aktuell und mit dieser einen Zeile kommst du auch nicht weit.
Das parseInt parsed übrigens einen String mit der Basis 10 in einen Integer ;)
Das haben die mittlerweile so verkompliziert, dass du eigentlich einen JavaScript-Interpreter brauchst.
Hier ist ein Beispiel in Node.js, wie du an alle benötigten Informationen kommst. In data steht der HTML-Quelltext einer Cloudflare-Challenge-Seite. Unten steht der Quelltext der alle Informationen raus holt. Good Luck :D
let vm = require('vm')
let qs = require('querystring')
let data = String.raw`<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<title>Just a moment...</title>
<style type="text/css">
html, body {width: 100%; height: 100%; margin: 0; padding: 0;}
body {background-color: #ffffff; font-family: Helvetica, Arial, sans-serif; font-size: 100%;}
h1 {font-size: 1.5em; color: #404040; text-align: center;}
p {font-size: 1em; color: #404040; text-align: center; margin: 10px 0 0 0;}
#spinner {margin: 0 auto 30px auto; display: block;}
.attribution {margin-top: 20px;}
@-webkit-keyframes bubbles { 33%: { -webkit-transform: translateY(10px); transform: translateY(10px); } 66% { -webkit-transform: translateY(-10px); transform: translateY(-10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } }
@keyframes bubbles { 33%: { -webkit-transform: translateY(10px); transform: translateY(10px); } 66% { -webkit-transform: translateY(-10px); transform: translateY(-10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } }
.bubbles { background-color: #404040; width:15px; height: 15px; margin:2px; border-radius:100%; -webkit-animation:bubbles 0.6s 0.07s infinite ease-in-out; animation:bubbles 0.6s 0.07s infinite ease-in-out; -webkit-animation-fill-mode:both; animation-fill-mode:both; display:inline-block; }
</style>
<script type="text/javascript">
//<![CDATA[
(function(){
var a = function() {try{return !!window.addEventListener} catch(e) {return !1} },
b = function(b, c) {a() ? document.addEventListener("DOMContentLoaded", b, c) : document.attachEvent("onreadystatechange", b)};
b(function(){
var a = document.getElementById('cf-content');a.style.display = 'block';
setTimeout(function(){
var s,t,o,p,b,r,e,a,k,i,n,g,f, UMlWwTN={"ACpaT":+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![]))/+((!+[]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(+[])+(+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]))};
g = String.fromCharCode;
o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx yz0123456789+/=";
e = function(s) {
s += "==".slice(2 - (s.length & 3));
var bm, r = "", r1, r2, i = 0;
for (; i < s.length;) {
bm = o.indexOf(s.charAt(i++)) << 18 | o.indexOf(s.charAt(i++)) << 12
| (r1 = o.indexOf(s.charAt(i++))) << 6 | (r2 = o.indexOf(s.charAt(i++)));
r += r1 === 64 ? g(bm >> 16 & 255)
: r2 === 64 ? g(bm >> 16 & 255, bm >> 8 & 255)
: g(bm >> 16 & 255, bm >> 8 & 255, bm & 255);
}
return r;
};
t = document.createElement('div');
t.innerHTML="<a href='/'>x</a>";
t = t.firstChild.href;r = t.match(/https?:\/\//)[0];
t = t.substr(r.length); t = t.substr(0,t.length-1); k = 'cf-dn-bVfHN';
a = document.getElementById('jschl-answer');
f = document.getElementById('challenge-form');
;UMlWwTN.ACpaT+=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]))/+((+!![]+[])+(!+[]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]));UMlWwTN.ACpaT*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/(+(+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])))+(function(p){return eval((true+"")[0]+".ch"+(false+"")[1]+(true+"")[1]+Function("return escape")()(("")["italics"]())[2]+"o"+(undefined+"")[2]+(true+"")[3]+"A"+(true+"")[0]+"("+p+")")}(+((!+[]+!![]+!![]+!![]+!![]+!![]+[])))));UMlWwTN.ACpaT-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]));UMlWwTN.ACpaT*=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![])+(+!![])+(!+[]+!![]+!![]+!![])+(+[]));UMlWwTN.ACpaT+=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+[])+(+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));UMlWwTN.ACpaT-=+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));a.value = (+UMlWwTN.ACpaT).toFixed(10); '; 121'
f.action += location.hash;
f.submit();
}, 4000);
}, false);
})();
//]]>
</script>
</head>
<body>
<table width="100%" height="100%" cellpadding="20">
<tr>
<td align="center" valign="middle">
<div class="cf-browser-verification cf-im-under-attack">
<noscript><h1 data-translate="turn_on_js" style="color:#bd2426;">Please turn JavaScript on and reload the page.</h1></noscript>
<div id="cf-content" style="display:none">
<div>
<div class="bubbles"></div>
<div class="bubbles"></div>
<div class="bubbles"></div>
</div>
<h1><span data-translate="checking_browser">Checking your browser before accessing</span> eine-seite-mit-cloudflare.org.</h1>
<a href="https://lagungroen.com/telephonequinquenni.php?source=415"><span style="display: none;">table</span></a>
<p data-translate="process_is_automatic">This process is automatic. Your browser will redirect to your requested content shortly.</p>
<p data-translate="allow_5_secs">Please allow up to 5 seconds…</p>
</div>
<form id="challenge-form" action="/cdn-cgi/l/chk_jschl" method="get">
<input type="hidden" name="s" value="4fbdfe4fb517da2094123b8f4bb61b6e9e90ef96-1566915345-1800-AUaRedo2+BersZhoJ4LqD/gx4HsEnknJBxzGhL1rLyg1Rpe0Kbv1f7BOvC/xZLTW/BYCn1OX20WCNSBRpwrequQQYr3BxC7ocxSPAzQoqXDbNLRWHVQ E8ZnPF22B/rio1Q=="></input>
<input type="hidden" name="jschl_vc" value="48609bb334c03ea487ca4c2b04e3a521"/>
<input type="hidden" name="pass" value="1536914349.62-HzmnOApV4D"/>
<input type="hidden" id="jschl-answer" name="jschl_answer"/>
</form>
<div style="display:none;visibility:hidden;" id="cf-dn-bVfHN">+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]))</div>
</div>
<div class="attribution">
<a href="https://www.cloudflare.com/5xx-error-landing?utm_source=iuam" target="_blank" style="font-size: 12px;">DDoS protection by Cloudflare</a>
<br>
Ray ID: 50cea8ce19b2d6f5
</div>
</td>
</tr>
</table>
</body>
</html>`
let jschl = data.match(/name="jschl_vc" value="([^"]+)"/)[1]
let pass = data.match(/name="pass" value="([^"]+)"/)[1]
let s = data.match(/name="s" value="([^"]+)"/)[1]
let k = data.match(/display:none;visibility:hidden;"\s*id="([^"]+)"[^>]*>([^<]+)<\/div/)
let kId = k[1]
let kInnerHtml = k[2]
let funcStart = data.match(/setTimeout\(function\(\){/)
let funcEnd = data.match(/}, 4000\);/)
let funcSrc = data.substring(funcStart.index + funcStart[0].length, funcEnd.index)
let context = {
document: {
createElement() {
return {
firstChild: {
href: 'https://eine-seite-mit-cloudflare.org/'
},
}
},
getElementById() {
return {
submit() {},
innerHTML: kInnerHtml,
}
},
},
location: {},
}
vm.runInNewContext(funcSrc, context, {
timeout: 1000,
})
console.log(jschl, pass, s)
console.log(context.a.value)
Mhhh ..... Thx
Dann hat das wohl keinen Sinn. Ich hatte mich auf diese Seite bezogen, was dort steht hätte ich wohl soweit nachbilden können. Aber wenn das nicht mehr aktuell ist, brauche ich nicht weiter zu probieren.
How does CloudFlare DDOS protection work? – Update 09/2016 | Free Online Tutorials (http://tutorialspots.com/how-does-cloudflare-ddos-protection-work-update-092016-3345.html)
Die dort beschriebenen Parts1-3 konnte ich nachfolziehen, nur setzt der Autor in der von mir erwähnten Zeile wohl vorraus , das der Leser Javascrip versteht. Die anderen Inputformulare hätte ich wohl richtig senden können, nur der Value von jschl_answer ist das Problem.
Edit:
Ich hätte mir halt vorgestellt das ich in entsprechenden Zeilen mittel grep -o die Zeichenfolgen ( !+[] oder !![] ) rausfiltere und dann mittels wc zähle wie oft die vorkommen. . Nur was diese eine, oben geschriebene Zeile von Part4 genau bewirkt , war mir nicht bewusst. Ist aber eben sowieso hinfällig, so wie du schreibst.
Auch wenn Nimbus sich eigentlich viel besser auskennt als ich, er scheint in der Praxis nicht helfen zu wollen, was ich sehr Schade finde.
Ersetze "nicht" durch "nicht mehr wirklich" und du hast ins Schwarze getroffen.
Eventuell habe ich auch einfach Angst, dass mein Post erneut nicht deinen Qualitätsansprüchen entspricht, die du hier an Leute stellst, die dir grundlos helfen wollen.
Das mit der von Nimbus vorgeschlagenen Suche nach einem Bypass hilft nur bedingt, das sind nur Methoden um die echte IP rausbekommen um dann Cloudflare zu umgehen, nicht aber wie gewünscht die Gleichung zu lösen und zurück zu schicken.
Hier würde sich womöglich eine intensivere Recherche lohnen. Natürlich sind die Resultate womöglich nicht alle bzw. alle nicht aktuell.
Die dort beschriebenen Parts1-3 konnte ich nachfolziehen, nur setzt der Autor in der von mir erwähnten Zeile wohl vorraus , das der Leser Javascrip versteht.
Völlig korrekt. Ohne (zumindest grundlegende) Kenntnis von Javascript und HTTP-Requests ist das anpassen/programmieren eine nahezu unmögliche Aufgabe in dieser Form. Ich würde außerdem behaupten, dass die Umsetzung als Shell-Script die Angelegenheit nicht vereinfacht.
Eine Alternative hierzu wäre ein Browser, der JS ausführt und so an die Cookies kommt. Danach kannst du entweder die Cookies extern weiter verwenden (gleiche IP, gleicher User-Agent) oder in eben diesem Browser deinen Post absetzen. Dafür ist PHP oder ein Shell-Script aber eher weniger geeignet.
In meinem ursprünglichen Post ist übrigens ein weiter Hinweis versteckt. Es kommt teilweise sehr auf die IP an, ob man diese Challenges bekommt...
Danke für deinen Hilfeversuch @Nimbus,
Ich darf nochmals erwähnen, es ist für mich eher uninteressant die Captchas zu lösen, ebensowenig will ich irgendetwas mit Bypass lösen, das hatte ich aber bereits geschrieben.
Wieso sollte ich da dann tiefer graben?
Ich habe einfach festgestellt das Tricks dazu die älter als 3 Monate sind, nicht mehr klappen, neuere hatte ich nicht gefunden. Das wichtigste aber, ich habe fast den Eindruck das dir das nicht bekannt ist, diese Bypass Methode funktioniert nur dann wenn der Server falsch konfiguriert wurde, was recht oft der Fall ist. Was bei Eingangs erwähnter boerse.to aber nicht zu sein scheint.
Danke nochmals für den Hinweis wegen richtiger IP - hatte ich aber bereits selber geschrieben das es wohl am VPN, und damit eben an der IP liegt. Ich denke jeder der VPNs benutzt kennt ein ähnliches Verhalten auch von anderen Seiten wenn über die IP zuviele Anfragen gekommen sind. Beispielsweise Google.
Da bleibt mir nur andere Server zu probieren, ohne vpn gehe ich nirgendwo hin.
Es ist ja nicht böse gemeint, ich würde mich echt freuen wenn du helfen könntest, es ist auch toll das du das versuchst, leider konntest du mich trotz deiner Versuche noch keinen einzigen Schritt weiter bringen. Hinweise wie der das es zwei Challenges gibt, dachte ich das klar erkennbar ist wenn ich schreibe das ich leider auf der falschen Seite gelandet bin.
Der Tip mit coockle wäre gut, danke dafür.
Das viele Seiten auf unterschiedliche oder gar nicht vorhandenen User-Agent Strings empfindlich reagieren, musste ich selber schon feststellen, daß ist aber etwas was du wirklich nicht wissen konntest. Deswegen ein fettes Thumbsup das du daran dachtest das zu erwähnen.
Leider hilft mir die cookie schieberei auch nicht weiter weil das nicht praktikabel ist, und ich ja die Herausforderung lösen und nicht umgehen möchte.
Was ich brauche ist das Wissen was der Javascript - Teil macht, Schritt für Schritt. Ähnlich wie auf dieser Blogseite.
Ausserdem verstehe ich noch nicht wirklich was genau der Teil sein soll der mit der Shell nicht realisierbar sein soll, kannst du oder sonstwer da genaueres sagen?
Zumindest die dort genannten vier Parts für den Javascriptteil sollten doch kein Problem sein.
Die Buchstaben der URL ohne der vorangestellten Protokollangabe zu zählen ist kein Aufwand, ebensowenig wie das Vorkommen von Zeichenfolgen zu zählen.
Formfelder inclusive der Securitytokens auszufüllen, habe ich schon in unterschiedlichen Boardforen gemacht.
Liegt es wirklich an den cookies? Aber wenn es in php möglich ist, wo in der Regel doch auch cURL benutzt wird, warum nicht mit dem Unix cURL?
Da sich die Challenge aber geändert hat, ist das sowieso alles wieder hinfällig. Es scheitert wie ihr bereits sagtet an fehlenden Javascriptkenntnissen, weil ich nicht nachvollziehen kann was der Javascriptteil genau macht. Leider ist mir auch dieser Punkt bereits bekannt war und hilft mir nicht weiter. Um genau zu sein, genau deswegen wollte ich ja Hilfe. Nicht um am Schluss festzustellen, was mir sowieso schon bekannt ist.
@4nn8
Auch dir Danke, leider kann ich auch dein Script nicht richtig interpretieren.
Ich denke ich beende das hier und ziehe mich zurück um etwas Javascript zu lernen ... lol
Ursprünglich wollte ich dir in diesem Post erklären, was du falsch verstanden hast. Mir ist dann allerdings die Lust vergangen, weil ich jetzt einfach zweimal eine doofe Antwort von dir bekommen habe, weil du mich missverstehst. Ich komme mir ziemlich doof vor, wenn ich dir etwas erkläre und als Antwort von dir nur kommt, wie wenig hilfreich das alles ist.
Wenn du alles besser weißt, dann ist das ziemlich cool, aber führt unter Umständen dazu, dass dir keiner helfen kann, weil alle dümmer sind.
Bevor mir jetzt gleich unterstellt wir, dass das mein 3. überflüssiger Post ist in diesem Thread: sehe es als prinzipiellen Ratschlag um nicht unnötig Leute zu vergraulen, die dir helfen wollen :)
Cyberhotte
29.08.2019, 15:21
Ist sowieso am Thema vorbei eure Diskussion. Erstmal das Script machen das es kann, dann kann man Cloudflare ausdiskutieren und versuchen das zu umgehen. Soweit ich mich erinnern kann, gibt es ein Plugin für intelligen was es konnte, wohl nicht mehr kann.
Vielleicht erstmal dort ansetzen und umsetzen.
Viele Liebe und nett gemeinte Grüße
Ist sowieso am Thema vorbei eure Diskussion. Erstmal das Script machen das es kann, dann kann man Cloudflare ausdiskutieren und versuchen das zu umgehen
Nicht wirklich, denn der anspruchsvolle/spannende Teil des Scripts ist der Cloudflare-Teil. Das Absetzen eines Posts ist, wenn das gelöst ist, relativ einfach.
@Nimbus
Nochmals, sei mir bitte nicht böse.
Das wie hier ist normal auch nicht meine Art mich gegenüber Helfenden auszudrücken.
Ich habe hier so oft gelesen das ich Hilfe wollte, das ich das selber schon daran glaubte, tatsächlich hatte ich nur die Feststellung gemacht das ich das für mich selber lösen möchte und im gesamten Thread keinesfalls dazu um Hilfe für mich gebeten wie mir unterstellt wird. Nur am Ende zu hatte ich wegen Javascript gefragt. Ich denke das mir zu diesem Thema sowieso niemand helfen kann, und wenn doch dann nur wenn mit dem richtigen Threadtitel die richtigen Leute angesprochen werden. Laut Titel geht es um ein PHP Script, ich möchte für mich eine Shell Lösung- also ist das doch sehr Off-Topic.
Trotzdem hast du mir Dinge erklärt die ich offensichtlich sowieso schon wusste, wenn auch in guter Absicht. Ich hatte das Gefühl das du mich weder Ernst nimmst, noch verstanden hattest das ich die Challenge lösen und nicht umgehen möchte. Deswegen war deine Antwort wertlos für mich.Vermutlich wirst du ebensowenig nachvollziehen können das ich mir da auch ziemlich doof vorgekommen bin, wie ich jetzt nicht nachvollziehen kann warum meine vorherige Antwort doof gewesen sein soll. Zudem habe ich mich auch über Eingangs erwähnten Trend geärgert das manche nur posten um andere zu verbessern und dafür auch noch Likes bekommen, sogar wenn das auch teilweise wieder falsch ist.
Du zumindest hast aber versucht mich weiter zu bringen, ich zähle dich nicht (mehr) zu diesen Leuten.
Ansonsten hast du leider nur Andeutungen von dir gegeben wie den Begriff Bypass eingestreut oder das man die richtige IP braucht und leider nicht genauso ausführlich erklärt was du damit meinst, wie bei den zwei Challenges von.Cloudflare. Insofern kann ich also nichts dafür, wenn es den wirklich stimmen sollte das ich etwas falsch verstanden habe.
Das alles zusammen hat mich sicherlich etwas überreagieren lassen, ich entschuldige mich hiermit bei dir dafür, hoffe du kannst das ein klein wenig nachvollziehen und akzeptierst die Entschuldigung.
*Handshake*
@Cyperhotte
Ich denke was Inteligen anbelangt kann ich auch kein bisschen mitreden, der Großteil der Leute hier kommt aus dem OCH Lager und hat entsprechende Wünsche und Erfahrungen. Da geht es eben auch um Kohle. Ich stamme aus dem Usenetbereich, da läuft einhiges anders, vor allem steckt man da eher Geld rein wenn man etwas aufziehen möchte. Dadurch das man nichts verdient, gibt es dort auch kaum Leute die etwas Coden oder Scripten können. So musste ich mir das eben selber aneignen was ich brauchte, dafür war die Shell am besten geeignet.
Ich kann dir aber Versichern, ein entsprechendes Script könnte ich jederzeit schreiben, habe ich mehrmals gemacht. Es dauert für mich als Amateurscripter nur ein wenig bis das immer fertig ist. Aber es hat keinen Sinn ein solches für ein Board zu schreiben, wenn man da noch gar nicht reinkommt. Jedes Script das in ein Board postet muss speziel für dieses Board sein. Das fängt mit PräfixIDs an, Beitragssymbole, ForenIDs und mehr an soclhen Kleinigkeiten.
Ich hatte es bereits geschrieben, ich bin erstmal raus aus der Sache. Ich probiere es für mich alleine weiter. Ohne Zwang, weil ich das eigentlich gar nicht brauche. Und weil das auch kein anderer braucht wenn es als Shellscript realisiert werden könnte.
Edit:
Ahja, und bin auch raus weil mir sowieso jeder sagt das das mit der Shell kaum möglich ist, aber keiner warum das so sein soll. Jedenfalls, wenn alle das für nicht realisierbar halten, dann kann mir auch keiner hier helfen. Was anderes hätte mich bei dem speziellen Problem sowieso gewundert. Zumindest waren wir mittlerweile soweit das es sich doch noch darum dreht die Challenge zu lösen und nicht die zu umgehen. Da das bei vielen Seiten, wie bereits festgestellt, auch gar nicht möglich ist. Wenn der Server nur Kontakt zu Cloudflare zulässt und alles andere Blacklistet, dann hilft kein Bypass
Wenn du weniger Annahmen darüber machst, was ich falsch verstehe und etwas recherchierst (https://www.google.com/search?q=cloudflare%20bypass%20php%20inurl:github. com), dann entdeckst du, dass das was u.a. auch als Bypass bezeichnet wird eben das lösen der JS-Challenge ist. Da gibt es verschiedene Ansätze teilweise mit manueller Berechnung, teilweise mit Hilfe der V8js-PHP-Extension. Das heißt dann auch Bypass, weil es den Check, ob du ein echter Browser bist, umgeht. Das hat nichts damit zu tun die echte IP hinter CF zu identifizieren.
richtige IP braucht und leider nicht genauso ausführlich erklärt
Die Steinsel (LU) IP von Perfect-Privacy scheint z.B. whitelisted zu sein.
Eventuell ist das ganze root SA (Hosting, Dedicated Servers and Domain Names | root S.A. (http://www.root.lu)) ASN whitelsited. Eventuell das ganze Land. Eventuell auch nur die bestimmten PP IPs.
Ich habe keine Ahnung. Daher nur der Hinweis, dass die richtige IP auch schon viel richtet.
jeder sagt das das mit der Shell kaum möglich ist, aber keiner warum das so sein soll
Das geht schon. Es könnte nur unnötig schwer werden, weil du Mühe darauf verwenden musst irgendwelche Informationen im passenden Format zu bekommen bzw. parat zu haben (Strings verketten, aufteilen, unterschiedlich kodieren, Antworten analysieren). Gefühlt muss man sich dann nicht nur um die Problemlösung kümmern, sondern oft auch stärker um die Umsetzung der Lösung, als in andern Sprachen.
Okay Nimbus, du hast da Recht. Danke für den Hinweis.
Diese Lösungen umgehen die Challenge mit Bugs und Tricks und tragen die Bezeichnung Bypass zurecht.
Ich hatte die auch gesehen, nachdem das alles php ist nicht weiter beachtet. Zudem fürchte ich, das die Jungs von cloudflare nicht Däumchen drehen und auch das großteils gefixxt wurde.
Die einzigen Teile die ich bisher gesehen habe die tatsächlich die Aufgabe lösen und nicht umgehen, sind das hier
https://github.com/Anorov/cloudflare-scrape/blob/master/README.md
Und das hier im Thread gepostete node.js Script von 4nn8.
Bleibt mir wohl nichts anderes übrig als wie die Zeile für Zeile aufzudröseln und schauen ob ich so weiterkomme. Immerhin hatte ich auch mit den Shell Scripten auf diese Art angefangen. ;)
So wie das in dem von mir geposteten Blog gestanden hat, wage ich fast zu behaupten es geht in der Shell einfacher zu lösen als wie beispielsweise PHP.. Aber das wird ja laufend schwerer gemacht, vielleicht ist das mittlerweile komplett anders. Das wird mir die Zeit schon zeigen - wenns mir zu kompliziert geworden ist und ich aufgebe, sage ich Bescheid. ;)
alles php ist nicht weiter beachtet
Wolltest du nicht ursprünglich eine Lösung in PHP, weil du das kannst?
Die PHP Beispiele fand ich gerade deshalb erwähnenswert, weil du wohl PHP kannst und weil diese oft nicht auf das ausführen von JS angewiesen sind und man sie so prinzipiell auch überall implementieren kann, wo keine JS Engine verfügbar ist.
Diese Lösungen umgehen die Challenge mit Bugs und Tricks
Nicht wirklich. Es wird der Wert ausgerechnet, den das JS im Browser ausrechnen würde. Das ist vllt ein Trick (den man braucht, wenn man kein Browser ist oder kein JS ausführen kann), aber kein Bug.
Wenn solche Scripts das schaffen, dann hat das nichts damit zu tun, dass Cloudflare "Däumchen dreht", sondern einfach damit, dass sie nicht einfach eine Challenge bauen können, die jeder echter Browser versteht und löst, aber gleichzeitig kein Script/Bot lösen kann.
wage ich fast zu behaupten es geht in der Shell einfacher zu lösen als wie beispielsweise PHP
Ich habe schon Shell- und PHP-Scripte geschrieben und den Browser-Check in verschiedenen Versionen und verschiedenen Sprachen gelöst und ich würde aus oben genannten Gründen nicht zu einem Shell-Script tendieren. Wie du das natürlich löst ist dir überlassen und eigentlich auf völlig egal. Es soll ja funktionieren und keinen Preis gewinnen.
Hi,
ich suche ebenfalls ein script, um Uploadposts auf Boards wie boerse etc, zu erstellen. Hst da jemand etwas halbwegs fertiges :)
Naja, erwähnt hatte ich schon zwei oder dreimal das ich kein PHP kann, allerdings nur so nebenbei weil ich niemals damit rechnete das es in diesem Thread eher um mich gehen könnte, das ist deswegen villeicht untergegangen., sowas kann passieren. Vielleicht haben wir auch deswegen ein wenig aneinander vorbei geschrieben.
Bisher habe ich nur oben geschriebene Lösungen gefunden die die Challenge wirklich lösen, allgemein halte ich es nicht für wirklich passend solche als Bypass zu führen wenn die Aufgabe gelöst und nicht umgangen wurde, aber wenn du mir sagst das die allgemeine Bezeichnung dafür auch so lautet dann wird das sicher auch so sein.
Ich darf aber auch sagen, ich hatte die letzten Tage nur die Zeit um mit dem Handy ein wenig zu googeln, eine gründliche Recherche ist damit bei solch einem Thema wohl nicht wirklich möglich. Ich werde das bei Gelegenheit noch nachholen.
Was das Lösen derselben innerhalb der Shell betrifft, da gehe ich weiterhin von der erwähnten Blogseite aus, die die Problemstellung erklärte. Natürlich ist jetzt klar das das veraltet ist, die dort geschriebenen Gleichungen sollten allerdings kein Problem sein. Die dort genannte Einteilung in 4 Parts des JavaScriptteils sind, bis auf den vierten, in ein paar Sekunden gelöst.
Part4 hatte ich ebenfalls noch keine Zeit mich damit näher zu beschäftigen.
Part 1, 2 und 3 hätte ich für mich auf folgende Weise gelöst:
echo testurl.com | wc -m
# Ergebniss ist die geforderte Anzahl der Zeichen von Part 1
aufgabe='+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![]))/+((!+[]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(+[])+(+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]))'
echo $aufgabe | grep -o '!!\[\]' | wc -w
# Ergebniss ist die Anzahl der Vorkommen der Zeichenfolge !![] Dasselbe müsste mann dann noch mit der anderen Zeichenfolge machen um Part 2 zu vervollständigen
# Part 3 ist dann ähnlich wie Part 2 zu lösen
EDIT:
Nicht wirklich. Es wird der Wert ausgerechnet, den das JS im Browser ausrechnen würde. Das ist vllt ein Trick (den man braucht, wenn man kein Browser ist oder kein JS ausführen kann), aber kein Bug.
Wenn solche Scripts das schaffen, dann hat das nichts damit zu tun, dass Cloudflare "Däumchen dreht", sondern einfach damit, dass sie nicht einfach eine Challenge bauen können, die jeder echter Browser versteht und löst, aber gleichzeitig kein Script/Bot lösen kann.
.
Irgendwie habe ich das Gefühl wir reden da auch schon wieder ein wenig aneinander vorbei.
Ich meinte nicht die Scripte die die Challenge lösen, wie eben das von Github oder das hier gepostete. Es gibt einige die tatsächlich mit Tricks die Lösung umgehen und sich ein Cookie erschleichen, soweit ich das auf die Schnelle gesehen hatte. Diese Bugs wurden sicherlich gefixxt, meinte ich.
Solche die es tatsächlich lösen, da können sie nicht wirklich etwas dagegen machen ausser die Aufgaben zu ändern, das ist völlig klar.
Genau das was du da schreibst will ich ja auch, darum dreht sich mein Mitwirken in dem Thread ja überhaupt. Da ich aber mit PHP Lösungen nichts anfangen kann, wollte ich das eben in der Shell lösen. Und dabei auch so weit den Durchblick zu bekommen, um bei der nächsten Änderung der Challenge das dann auch selber nachbessern kann. Klar muss ich mir dazu zumindest ein wenig JavaScript anschauen, da führt dann kein Weg vorbei.
Auslöser dazu war die Frage vom Threadersteller, das er eine Lösung braucht die an Cloudflare vorbei kommt. Das ganze wollte ich aber eigentlich für mich alleine machen, ich hatte niemals damit gerechnet das sich daraus so ein Thread ergibt.
Ich bin niemand der erst frägt und sich alles von anderen lösen lässt. Ich versuche es immer erst für mich alleine. Nur wenn ich nicht weiterkomme, frage ich entweder nach oder lasse es ganz bleiben. Das ist ja nichts was ich wirklich brauche, es ist einfach eine Herrausforderung die ich mir gestellt habe, sonst nichts.
Absolut alles hier ist ohne meine Nachfragen entstanden. Einzig nach dieser einen Javazeile hatte ich gefragt, weil das hier ja schon alles Thema war. Normalerweise hätte ich auch dazu einfach Google befragt.
SecurityFlaw
01.09.2019, 01:16
fürs jafuck sollte es reichen das so auszugeben oder?
https://www.szenebox.org/images/_imported/2019/09/1.jpg
alert(+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(+!![]))/+((!+[]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])+(+[])+(+!![])+(+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![])))
Eine Frage hätte ich jetzt doch noch.
Gibt es den kein externes Cli Programm an den man den man den ausgelesenen Javascript Code übergeben kann und der das das gewünschte Ergebniss zurückliefert, so das man damit dann weiterarbeiten kann ?
Auch wenn ich bisher noch keine Ahnung von Javascript habe, das Script von 4nn8 scheint das ja mittels node.js zu machen. Allerdings innerhalb des Scripts.
Wäre es nicht möglich die Java Challenge mittels node.js innerhalb einer Shell Umgebung aufzurufen und lösen zu lassen, das Ergebniss zwischenzuspeichern um dann damit in der Shell weiter arbeiten zu können ?
Dann bräuchte ich nicht extra Javascript Befehle zu studieren, wenn man das einfach an node.js weitergibt.
Aber - mit Sicherheit gibt es auch da einige Hürden. Sonst würden das schon viele andere so machen.
*Bitte keine direkten Vollzitate*
Das wiederholt jeder seit gut ner Woche - direkt oder indirekt.
Ja, übermittle den Code an NodeJS. Musst ihn davor jedoch manipulieren - vielleicht mit einem Proxy so dass du das Ergebnis abfangen kannst.
Cyberhotte
02.09.2019, 06:19
Ja, übermittle den Code an NodeJS. Musst ihn davor jedoch manipulieren - vielleicht mit einem Proxy so dass du das Ergebnis abfangen kannst.
Eine andere Möglichkeit wäre das ganze in electronjs zu verpacken. Das basiert auf dem Chromium Browser, der könnte das direkt und ist direkt ansprechbar. In electronjs ist node direkt einbaubar.
Gruß hotte
fuckedup
02.09.2019, 10:42
zwar nicht direkt das, was du willst: aber wenns um cloudflare geht, mach ich einfach gleich alle mit selenium (headless) und tu mir den stress erst garnicht an. selenium löst das cloudflare von selber
Ich habe leider jetzt erst die Muse gefunden dem Problem etwas nachzugehen. Und da ich es hasse wenn keine Rückantworten erfolgen, hier mein Zwischenstand.
Zuerstmal, ich muss mich entschuldigen. Ich hatte ja geschrieben das ich mich mit Javascript nicht auskenne. Und node.js hatte ich bis dato für eine Art Erweiterung von Javascript gehalten. Zudem hatte ich geschrieben das ich eine Lösung in der Shell haben möchte.
Gemeint hatte ich damit nicht mit reinen Bashbefehlehlen, sondern das es nicht in einem Browser läuft, also als Shellscript ablaufen kann. Und genau das ist mit node.js ja möglich.
Also habe ich mir das node.js Script von 4nn8 angeschaut.
Mit 3 Minuten googeln und probieren habe ich den console.log Befehl zur Ausgabe des Ergebnisses geändert, stattdessen wird das in eine tmp Datei auf die Platte geschrieben, von wo ich es dann wieder auslesen kann.
Da in diesem Script der komlette Quelltext von der Cloudflareseite ist, habe ich in meinem Shellscript den Teil vor dem Cloudflarequelltext als Here Document angegeben, ebenso den Teil nach dem Cloudflarebereich.
Nach Aufruf der gewünschten Seite wird ein node.js Script erstellt mit den beiden Teilen vom 4nn8 Script und der Cloudflare Challenge dazwischen.
Der nächste Schritt wär jetzt, dort noch die aufgerufene URL einzufügen, damit deren Länge richtig berechnet werden kann. Und dann die Antwortformulare auzufüllen und zurück zu senden.
Aber, ob ich das noch mache bin ich nicht sicher. Ich bin derzeit einfach zu gestresst und mir fehlt die Motivation. Zudem wurde die Challenge von Cloudflare kurz nachdem 4nn8 sein Script gepostet hatte geändert.
Die Variable K steht jetzt nicht mehr drinnen. Ich kann zwar das Matching dazu auskommentieren, ebenso die Zeilen die das weiterverarbeiten, kenne mich aber mit Javascript zu wenig aus um sagen zu können ob das Ergebniss dann noch korrekt ist.
Wenn der Beitrag mit dem Alert Aufruf von SecurityFlaw stimmt, wäre das aber auch eine noch einfachere Möglichkeit das wie gewünscht hinzubekommen, den die anderen benötigten Antworten kann ich selber matchen.
ein Beispiel von mir direkt mit Browser automatisieren in der Verarbeitung.
Cyberhotte
28.10.2020, 20:17
Das cheerio brauchst du da eigentlich gar nicht einbinden, puppeteer erstellt dir auch einen dom wo du drauf zugreifen kannst.
Das await wartet auch das cloudflare ab und geht erst dann rein, du kannst dir auch eben die "einträge" direkt erstellen und übergeben.
gruß hotte
echterkevin
28.10.2020, 20:28
Gibt es noch relativ günstige DE Proxies mit denen Cloudflare "besiegt" werden kann?
Welche Captcha verwendet bei cloudflare?
I am robot oder AI Image erscheinen? bei mir ist so fast nie gesehen also kann mir jemand beispiel zeigen bzw screenshot?
mnoszb41546
29.10.2020, 03:58
Probier mal https://revenge-of-usenet.online/ mit einem NL-Proxy aufzurufen, combo.
Als Captcha wird dort von Cloudflare hcaptcha.com verwendet.
Powered by vBulletin® Version 4.2.2 Copyright ©2026 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.