Frage:
Ist es möglich, den HTTP-Header Ihres Benutzeragenten für böswillige Zwecke zu ändern?
Xavier
2016-02-23 08:12:23 UTC
view on stackexchange narkive permalink

Der Google-Crawl-Bot verwendet den Benutzeragenten "Googlebot", und ich frage mich, ob dieses Wissen böswillig verwendet werden kann.

Angenommen, auf einer zufälligen Website darf der Googlebot-Benutzeragent auf einen zugreifen Admin-Panel, könnte dies als Sicherheitslücke angesehen werden oder ist dies einfach unmöglich?

Eine Sache, die interessant sein könnte, ist, wo Paywall-Content-Anbieter indiziert werden möchten. Sie könnten annehmen, dass sie sich auf mehr als den Benutzeragenten verlassen, aber ich würde nicht darauf wetten.
Ich finde, dass einige Nachrichtenseiten und insbesondere Quora viel weniger aufdringlich sind, mich zu zwingen, mich anzumelden, wenn ich Googlebot bin. Ich verwende [User Agent Switcher] (https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg), um meine UA zwischen einigen allgemeinen Werten wie Googlebot, dem FB-Crawler, umzuschalten. usw. Es ist irgendwie lustig und ein bisschen traurig, dass ich mich als Bot ausgeben muss, um einen anständigen Service zu erhalten.
Eine Benutzeragentenzeichenfolge wird und sollte praktisch nicht als Authentifizierungsmethode ohne andere Authentifizierungsmethoden verwendet werden.
@DanRoss Und zu denken, ich habe https://www.glassdoor.com/Reviews/Lockheed-Martin-Reviews-E404.htm und https://www.glassdoor.com/Reviews/Lockheed-Martin-Reviews-E404_P2 eingegeben .htm, etc ... in Google und klicken Sie auf die Links wie ein Höhlenmensch.
@DanRoss Hehe, jetzt, wo ich meinen Kommentar gepostet habe, sehe ich, dass glassdoor.com auch die Paywall für Links von dieser Seite entfernt :-)
Sieben antworten:
d1str0
2016-02-23 08:13:53 UTC
view on stackexchange narkive permalink

Ja. Sie sollten untersuchen, was genau in einer HTTP-Anforderung enthalten ist.

Der Benutzeragent kann leicht geändert werden, da er vom Client festgelegt wird. Es gibt viele Tools, mit denen Sie Ihren Benutzeragenten für Ihren Browser ändern können. Wenn Sie Curl verwenden, können Sie auch einfach Ihre eigene HTTP-Anforderung erstellen und den Benutzeragenten auf einen beliebigen Wert einstellen.

Wenn eine Webanwendung aus Sicherheitsgründen von einem Benutzeragenten abhängig ist, ist dies zu 100% anfällig .

Sie haben meine Frage beantwortet, ob es möglich ist, sie zu ändern, aber Sie haben die Frage, ob sie böswillig verwendet werden kann, nicht beantwortet.
Wenn eine Site in Bezug auf einen Aspekt ihrer Sicherheit davon abhängig ist, ist sie anfällig.
Okay, ich verstehe, was du jetzt meinst. Sie können es also als Authentifizierungsmethode verwenden, es wird jedoch nicht empfohlen. Vielen Dank!
@Xavier Sie sollten niemals vom Client bereitgestellte Daten zur Authentifizierung verwenden.
@NeilSmithline das ist kein sehr hilfreicher Kommentar. Für die Authentifizierung benötigen Sie immer eine Art Client-Eingabe.
@NeilSmithline Ich bin der Meinung, dass Ihre Aussage ungültig ist, da Informationen vom Kunden abgerufen werden müssen. Diese bestehen aus IP, Browser usw.
Mit "Daten" meinte Neil offensichtlich Informationen wie Benutzeragent, Betriebssystem usw., nicht vom Client gesendete Felder wie Benutzername / Passwort (auch diese müssen validiert werden, aber das ist eine andere Sache). Er hat absolut Recht, dass Sie diesen Informationen (wiederum Benutzeragent, Betriebssystem) nicht vertrauen können, um einen Benutzer zu authentifizieren, da alle diese gefälscht werden können.
@Xavier Beachten Sie, dass der Titel Ihrer Frage lautet * Ist es möglich ...? *, Sie haben nicht explizit gefragt * wie *.
KDEx
2016-02-23 13:51:26 UTC
view on stackexchange narkive permalink

Ja, ein geänderter Benutzeragent kann für böswillige Zwecke verwendet werden. Es ist jedoch unwahrscheinlich, dass Ihr Szenario der Googlebot-UA für den privilegierten Zugriff verwendet wird.

Wie ist UA? eher verwendet werden? Wenn Ihre Anwendung den Benutzeragenten analysiert, um Maßnahmen zu ergreifen, und Sie diese Eingabe nicht ordnungsgemäß bereinigen, ist Cross Site Scripting ein sehr wahrscheinliches Ergebnis.

In ähnlicher Weise könnte auch eine Remotecodeausführung möglich sein, wenn der Benutzeragent von einer Art serverseitiger Skript-Engine analysiert wird. Shellshock war ein gutes Beispiel dafür.

Auf mehreren Paywall-Websites kann der Googlebot seine Seiten indizieren und dann menschliche Besucher zur Zahlung auffordern.
In meinen frühen Jahren habe ich Code geschrieben, um Webserver-Protokolle als HTML anzuzeigen. Habe ich den Benutzeragenten vor der Anzeige ordnungsgemäß bereinigt? Ich habe nicht. Glücklicherweise war ich es, der zuerst einen Javascript-Injektionsangriff gegen meinen eigenen Code entwickelte und einsetzte, und nicht irgendein unternehmungslustiger Bösewicht.
@SimonRichter Das ist interessant. Beeindruckend.
Ich glaube nicht, dass die UA-Zeichenfolge für XSS verwendet werden kann, da sie nicht durch bösartigen Code festgelegt werden kann (der den Browser des Opfers nicht bereits steuert).
@Bergi Ich denke, ich sollte das klarstellen. In diesem Fall handelt es sich um _stored_ Cross Site Scripting. Die UA wird von der App protokolliert und dem Benutzer in einem separaten Bereich angezeigt. Dort befindet sich das XSS und kann häufig auftreten.
Ah, Sie meinen zu einem anderen Benutzer (wie in einem Admin-Statistik-Panel), verstehe ich.
@SimonRichter - sind diese Paywall-Sites: sicher, aber diejenigen mit jedem Sinn würden mehr als nur die UA-Zeichenfolge verwenden, um zu bestimmen, ob der Besucher tatsächlich der Google-Bot ist.
Sjoerd
2016-02-23 15:41:17 UTC
view on stackexchange narkive permalink

Ein aktuelles Beispiel finden Sie in einem Joomla-Exploit. Joomla hat den Benutzeragenten in der Sitzung gespeichert, wodurch eine Sicherheitsanfälligkeit in PHP ausgenutzt werden konnte.

Ein weiteres Beispiel: [ein XSS in einem CMS] (http://www.sjoerdlangkemper.nl/2016/05/02/xss-in-useragent-header-in-bolt-cms/), das den Benutzeragenten im Administrator anzeigtSchnittstelle.
moarsauce
2016-02-23 15:28:10 UTC
view on stackexchange narkive permalink

Ja, es ist möglich, dass es je nach Schreibweise der Anwendung für böswillige Zwecke verwendet werden kann.

Benutzeragenten sollten niemals für irgendeine Form der Authentifizierung verwendet werden und stellen ein großes Sicherheitsrisiko dar Perspektive.

Stephen Gelardi
2016-02-24 11:51:50 UTC
view on stackexchange narkive permalink

Ein weiteres Beispiel, bei dem User-Agent-Zeichenfolgen ebenfalls verwendet werden, ist SIP. Während Ihre Blacklists / Whitelists häufig basierend auf User-Agent-Zeichenfolgen definiert werden.

Beispielsweise verwendet das Sicherheitsscan-Tool sipvicious den User-Agent (Friendly-Scanner). Dieser User-Agent kann auf die schwarze Liste gesetzt werden, sodass Anfragen mit "Friendly-Scanner" abgelehnt werden oder besser noch keine Antwort erhalten.

Dies ist auch eine Methode zur Whitelist. Ein Beispiel wäre ein IP-PBX-Szenario Sie können den User-Agent der von Ihnen verwendeten SIP-Telefone / Endpunkte definieren und nur die Verarbeitung ihrer Registrierungsanforderungen zulassen.

In diesem Fall kann jemand, der den User-Agent fälscht, Scan- / Angriffstools verwenden, um dies zu umgehen Die erste Sicherheitsstufe, um hoffentlich mehr Informationen über die Systeme abzurufen, die sich im SIP-Netzwerk befinden, oder einen Exploit auszuführen.

racec0ndition
2016-02-24 11:49:38 UTC
view on stackexchange narkive permalink

Zusätzlich zu den obigen Antworten kann ein Angreifer auch SQLi-Angriffe gegen eine Zielwebsite starten, indem er böswillige Eingaben über den Wert für den Benutzeragenten bereitstellt. Zum Beispiel:

User-Agent: NoAgent "; DROP TABLE-Benutzer

Mehr dazu unter: http://sechow.com/bricks/docs/content-page -4.html

https://security.stackexchange.com/a/1334

Auch ein Beispiel dafür, wie der Benutzeragent kann mit Curl geändert werden:

curl -A "Googlebot / 2.1" http://example.com

Ave
2016-02-24 21:39:50 UTC
view on stackexchange narkive permalink

Während andere Antworten detailliert angeben, ob sie geändert werden können (Sie können), möchte ich über den böswilligen Teil davon sprechen.

Sie sollten sich niemals nur auf Benutzeragenten verlassen.

Einige D-Link-Router hatten Berichten zufolge eine Hintertür für ihr Admin-Panel, über die sich jeder, der seine Benutzeragenten auf xmlset_roodkcableoj28840ybtide eingestellt hatte, ohne Passwort anmelden konnte. Sie können hier einen Blog-Beitrag darüber lesen.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...