Browser wechselt User Agent und bekommt 403

Mutti

Member
Hallo, wie würdet ihr das interpretieren?

Der Browser eines Besucher wechselt den User Agent bei einer bestimmt Datei
(png) und fügt ein %-Zeichen in den String ein.

Dadurch bekommt der User einen 403 und wird von fail2ban natürlich irgendwann ausgesperrt.

Ich konnte den Fehler auf meinem eigenen Gerät reproduzieren. Genau das gleiche.

Danke voraus.
 
Ich konnte den Fehler auf meinem eigenen Gerät reproduzieren. Genau das gleiche.
Kannst du etwas mehr ins Detail gehen, damit man das auch selber versuchen kann zu reproduzieren?

Davon abgesehen...Hast du mal in die Logfiles geschaut, welche Einträge dort geschrieben werden, wenn das 'Phänomen' auftritt?
 
Der Browser ist der MI Browser für Mobile Geräte. Ja, in den Logfiles bekommt er für alles 200 bis auf die .png Datei. Immer einen 403.
Genau genommen ist es ein Favicon im png Format.
 
hier der Auszug aus dem Log...

Code:
200    /wp-content/plugins/example.css HTTP/2.0" 200 1042 "https://www.example/termine-test/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.118 Mobile Safari/537.36 XiaoMi/MiuiBrowser/14.17.0-gn"                                                               
200    /wp-content/themes/example/genericons/genericons.css HTTP/2.0" 200 16301 "https://www.example/termine-test/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.118 Mobile Safari/537.36 XiaoMi/MiuiBrowser/14.17.0-gn"                                                               
200    /wp-content/themes/example/style.css HTTP/2.0" 200 11409 "https://www.example/termine-test/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.118 Mobile Safari/537.36 XiaoMi/MiuiBrowser/14.17.0-gn"                                                               
200    /wp-content/themes/example-child/style.css HTTP/2.0" 200 6923 "https://www.example/termine-test/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.118 Mobile Safari/537.36 XiaoMi/MiuiBrowser/14.17.0-gn"                                                               
403    /apple-icon-180x180.png HTTP/2.0" 403 716 "-" "Mozilla%2F5.0+%28Linux%3B+Android+10%3B+K%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F123.0.6312.118+Mobile+Safari%2F537.36+XiaoMi%2FMiuiBrowser%2F14.17.0-gn"
 
@Mutti Der Mi-Browser hat so einen kaputten User-Agent, getestet mit Android 10, ist aber nur bei Request für apple icons so. Seltsam kaputter Browser.

Prüfe mal wegen des Blocks ob du mod_security verwendest.
 
Last edited:
Woher stammt das PNG?
"Sicherheitssoftware" auf dem Mi?
Alle Updates auf dem Mi?
Welcher Webserver?
Alle Updates auf dem Server?
 
@Mutti Kann such sein, dass irgendein WordPress-Plugin die Sperre auf deinem Blog verursacht.
Ich habe solche Probleme mit Mi-Browser und einem 403er nicht.

Seltsamerweise tritt der seltsame UA nur mit manchen Apple-Icons auf. Warum Mi-Browser das macht, weiß ich nicht. Auch egal, ich werte in den Webanwendungen sowieso keine UAs aus.
 
Last edited:
hier der Auszug aus dem Log...

Code:
200    /wp-content/plugins/example.css ...                                                        
200    /wp-content/themes/example/genericons/genericons.css ...                                                     
200    /wp-content/themes/example/style.css ...                                                   
200    /wp-content/themes/example-child/style.css ...                                                     
403    /apple-icon-180x180.png  ...

Möglicherweise ist nicht der merkwürdige User-Agent-String die Ursache für 403, sondern der Pfad. Versuche mal "mit einem (deinem) richtigen Browser" die Datei https://example.com/apple-icon-180x180.png abzurufen. Wie sieht der Log-Auszug dazu aus?
 
Hallo, vielen Dank an alle. :)

Ich hab mir das nochmal angesehen. Der Server ist Apache und alle Pakete sind sind auf dem neuesten Stand. MIME-Typ ist auch korrekt gesetzt.
Die Referrer-Policy ist no-referrer, same-origin. Ich werde das mit dem Wordpress-Plugin mal testen, aber da habe ich auch nur ein einziges Plugin, das ist für die Steuerung der Widgets.

Das Problem tritt auch nur mit diesem Browser auf, aber zum Glück taucht er sehr selten auf.
 
Da scheint der Mi-Browser entweder den Dateinamen falsch zu parsen ("0x" könnte da problematisch sein), oder das PNG enthält Javascript beziehungsweise andere Payload und der Mi-Browser ist dafür anfällig.
Die erste Möglichkeit würde auch das URL-Encoding des UA-String am ehesten erklären...
 
Hallo, vielen Dank Jo User. Aber leider auch keine Veränderung.

Code:
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png" type="image/png">

Ich habe die Datei auch zusätzlich durch ein Bildbearbeitungsprogramm laufen lassen um die zweite Möglichkeit auszuschliessen.

Ich verfolge jetzt den Hinweis von @Whistler, das ist naheliegend (s.u.)

Code:
200    /wp-content/uploads/email_64x64.png HTTP/2.0" 200 2143 "https://www.example/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.118 Mobile Safari/537.36 XiaoMi/MiuiBrowser/14.17.0-gn"                       
403    /apple-icon-180x180.png HTTP/2.0" 403 716 "-" "Mozilla%2F5.0+%28Linux%3B+Android+10%3B+K%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F123.0.6312.118+Mobile+Safari%2F537.36+XiaoMi%2FMiuiBrowser%2F14.17.0-gn"                       
200    /favicon-16x16.png HTTP/2.0" 200 942 "https://www.example/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.118 Mobile Safari/537.36 XiaoMi/MiuiBrowser/14.17.0-gn"                       
200    /favicon-96x96.png HTTP/2.0" 200 1014 "https://www.example/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.118 Mobile Safari/537.36 XiaoMi/MiuiBrowser/14.17.0-gn"                       
200    /favicon-32x32.png HTTP/2.0" 200 915 "https://www.example/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.118 Mobile Safari/537.36 XiaoMi/MiuiBrowser/14.17.0-gn"                       
200    /android-icon-192x192.png HTTP/2.0" 200 499 "https://www.example/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.118 Mobile Safari/537.36 XiaoMi/MiuiBrowser/14.17.0-gn"                       
200    /favicon.ico HTTP/2.0" 200 1248 "https://www.example/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.118 Mobile Safari/537.36 XiaoMi/MiuiBrowser/14.17.0-gn"                       
200    /manifest.json HTTP/2.0" 200 1344 "https://www.example/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.118 Mobile Safari/537.36 XiaoMi/MiuiBrowser/14.17.0-gn"                       
403    /apple-icon-180x180.png HTTP/2.0" 403 716 "-" "Mozilla%2F5.0+%28Linux%3B+Android+10%3B+K%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F123.0.6312.118+Mobile+Safari%2F537.36+XiaoMi%2FMiuiBrowser%2F14.17.0-gn"                       
403    /apple-icon-180x180.png HTTP/2.0" 403 716 "-" "Mozilla%2F5.0+%28Linux%3B+Android+10%3B+K%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F123.0.6312.118+Mobile+Safari%2F537.36+XiaoMi%2FMiuiBrowser%2F14.17.0-gn"                       
200    / HTTP/2.0" 200 9162 "https://www.example/" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.118 Mobile Safari/537.36 XiaoMi/MiuiBrowser/14.17.0-gn"                       
403    /site-icon-180-180.png HTTP/2.0" 403 716 "-" "Mozilla%2F5.0+%28Linux%3B+Android+10%3B+K%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F123.0.6312.118+Mobile+Safari%2F537.36+XiaoMi%2FMiuiBrowser%2F14.17.0-gn"
 
Ich habe auf betreuten Webseiten zum Beispeil im HTML-head das:
<link rel="apple-touch-icon" href="/logo.png" type="image/png">

Beim Abruf von des Apple-Icons sendet der Mi-Browser den seltsamen UA.
Beim Abruf von im HTML-Body eingebundenen HTML-Elementen img passiert das nicht.

Ich halte das für einen Bug des Mi-Browsers.

——————————————————

@Mutti Du musst nun aber klären, warum bei dir dein VHost/WordPress einen 403 sendet.
Irgendeine .htaccess in der Regeln bezüglich der UAs von Browsern drin sind?
 
Last edited:
@Mutti Du musst nun aber klären, warum bei dir dein VHost/WordPress einen 403 sendet.
Irgendeine .htaccess in der Regeln bezüglich der UAs von Browsern drin sind?
Hallo,

ich denke das die Regel den UA dann ausschliest wenn er in den String mit dem % Zeichen wechselt. :)

Code:
RewriteCond %{HTTP_USER_AGENT} (<|%0a|%0d|%27|%3c|%3e|%00|0x00|\\\\\x22|%3b|\\/|\"
 
Back
Top