(Kopfgeldfrage unten)
Ich habe ein Problem mit einem Client, der auf unsere Website zugreift, und die Hauptursache ist, dass die WAF (Web Application Firewall) ihre User-Agent-Zeichenfolge nicht mag:
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:34.0; C7QcSBPWTsrpX5YLvVZMqiujEZLWPtOYk3tDZ9WhW18=) Gecko/20100101 Firefox/34.0
In diesem Fall löst die base64-codierte Zeichenfolge in der WAF ein falsches Positiv aus, das den User-Agent für libwww-perl hält. Die base64-Zeichenfolge wird nicht in lesbaren Text dekodiert.
- Ist eine normale 64-codierte Zeichenfolge in einem User-Agent normal oder ungewöhnlich?
- Wird die Verwendung von base64-Zeichenfolgen in einem User-Agent durch RFCs oder wichtige Herstellerpraktiken abgedeckt?
Ich versuche zu verstehen, was hier passiert. Ich habe nicht das Gefühl, dass die WAF-Signatur für das Objekt völlig unpassend ist, daher möchte ich sie lieber nicht nur deaktivieren, sondern diese Art von User-Agent-Zeichenfolge noch nie gesehen haben, um besser zu verstehen, wie häufig und / oder ein legitimer Anwendungsfall ist dies.
Die Site wurde für die Verwendung durch Benutzer mit Browsern entwickelt - es handelt sich nicht um eine API oder ähnliches - und es wurde mir berichtet, dass der Benutzer versucht hat, mit "FF / IE / Chrome" auf die Site zuzugreifen, und dies fehlgeschlagen ist. Ich zeige jedoch erfolgreiche Verbindungen von derselben Client-IP mit einem Opera-Benutzeragenten:
User-Agent: Opera/9.80 (X11; Linux i686) Presto/2.12.388 Version/12.16
Es ist etwas seltsam, dass der Benutzer angibt, den IE ausprobiert zu haben, aber alle User-Agent-Zeichenfolgen, die ich sehe, scheinen Linux zu sein. (Wie üblich wird der Kontakt mit dem Endbenutzer über mehrere Parteien vermittelt, sodass ich nichts, was ich höre, voll vertrauen kann.) Es ist auch wahrscheinlich, dass die IP die ausgehende Seite eines Business-Class-Webproxys ist, was erklären würde, warum ich sehe, dass Opera für jemanden arbeitet, während jemand anderes Probleme von derselben IP meldet.
Aktualisieren
Inspiriert vom Beispiel von @PlanetScaleNetworks habe ich die Zeichenfolge gegoogelt und von dort aus UA Tracker verwendet, um nach base64-Zeichenfolgen zu suchen (oder nach der Teilmenge von ihnen, die aufgefüllt wurden - ich habe nach "=)" gesucht). Es wurden ungefähr 20 User-Agents zurückgegeben:
Ich werde dieser Frage ein Kopfgeld hinzufügen, und der gesuchte Antwortbereich lautet: "Welche Art von Software fügt Base64-Zeichenfolgen in User-Agents ein und warum? Und gibt es einen Stempel der Legitimität für diese Praxis? ""
Kleiner Punkt:
Der Benutzer hat unser Problem umgangen, indem er ein Browser-Plugin verwendet hat, um seinen User-Agent zu ändern. Dies ist also jetzt ein akademisches Problem - aber ich denke, es ist ein interessantes akademisches Problem :)