Pieza 33 de 64
Se quedó puestoPieza nº 0033 de 64

Los valores de fábrica son los de su ordenador

El 31 de agosto de 2026, casi todas las páginas que guardamos de la sede electrónica del Ministerio de Hacienda cargaban un programa con dos datos escritos a mano: el número de una página y una dirección web. Ninguno de los dos era de la sede. Eran los que el programa usa cuando corre en el ordenador donde se escribió, y la página los cambiaba por los buenos justo antes de usarlos. Lo cargaban 79 de las 81.

Dominio
sede.hacienda.gob.es
Guardado
31 AGO 2026
Comprobado en vivo
15 SEP 2026
Citas
6 en 2 ficheros guardados
Lectura
unos 3 min
Captura de https://sede.hacienda.gob.es/
foto 1La portada de sede.hacienda.gob.es el 26 de septiembre de 2026: la sede electrónica central del Ministerio de Hacienda.Captura del 26 de septiembre de 2026, 16:51 (hora peninsular)

Cuando alguien programa una página, trabaja en su ordenador. Ahí la página vive en una dirección de mentira que solo funciona dentro de esa máquina: la que empieza por localhost, el nombre con el que cualquier ordenador se llama a sí mismo. Es lo normal y es lo que hay que hacer. Lo que no es normal es que esa dirección viaje. Y menos que viaje a la sede de un ministerio.

Captura de https://sede.hacienda.gob.es/es-es/procedimientos/paginas/tramites
foto 2El listado de trámites de la sede de Hacienda el 26 de septiembre de 2026. El 31 de agosto era una de las 79 páginas que cargaban el fichero; lo que cuenta esta pieza no se ve en pantalla.Captura del 26 de septiembre de 2026, 16:49 (hora peninsular)

La función que abre esta pieza tiene un nombre de las que no engañan: conseguir los datos de la petición. Antes de pedirle nada al servidor, el ordenador del ministerio que contesta a las páginas, hay que decirle de qué página se trata, y para eso hacen falta dos cosas: el número interno de la página y su dirección completa. La función empieza declarando los dos, con valores puestos a mano. El número es el 196.

La dirección empieza por https://, sigue con el nombre de una máquina que el museo no publica y termina en punto hacienda punto gob punto es, con una ruta que acaba en p1. El 23 de septiembre de 2026 volvimos a preguntar por ese nombre al sistema de nombres de internet, la guía que convierte nombres en direcciones, y no devuelve ninguna: desde fuera, esa máquina no está. Y p1 suena a lo que uno teclea cuando necesita una página cualquiera para probar.

1de 6sede.hacienda.gob.es/js/sedesubscriptions/sede-subscriptions.jslínea 2 de 2
Copia
archivo
Guardado
31 ago 2026
Peso
422,3 kB
sha256
aeb36c03f1f7…
Tapado
1 tramos ▒
1/*! For license information please see sede-subscriptions.js.LICENSE.txt */
2…e={pageId:196,absoluteUrl:"https://▒▒▒▒▒▒▒▒▒.hacienda.gob.es/es-es/Paginas/p1"};return window.location.origin.startsWith("http://localhost:8050")||(e.pageId=window.minhac.context.PublishingPageId,e.absoluteUrl=window.locati…
1Los dos valores de fábrica: el número 196 y la dirección de una máquina de la sede que desde internet no se encuentra. El nombre de esa máquina lo tapa el museo.
▒Los tramos ▒ de esta cita no están así en el fichero: los tapa el museo. Se sustituye cada letra y cada cifra por un bloque, sin cambiar la longitud, para no publicar un identificador de sesión ni una dirección de una red interna. Todo lo demás de la cita es literal.

Justo después viene la condición que da la vuelta a todo. Dice: si la dirección desde la que se está ejecutando esto no empieza por http://localhost:8050, entonces, y solo entonces, cambia esos dos valores por los de verdad, el número real de la página y la dirección que tiene el navegador en ese momento. Léalo otra vez: lo que se escribió como caso normal es estar en el ordenador de uno. Lo demás es la excepción.

2de 6sede.hacienda.gob.es/js/sedesubscriptions/sede-subscriptions.jslínea 2 de 2
Copia
archivo
Guardado
31 ago 2026
Peso
422,3 kB
sha256
aeb36c03f1f7…
1/*! For license information please see sede-subscriptions.js.LICENSE.txt */
2…ndow.location.origin.startsWith("http://localhost:8050")||(e.pageId=window.minhac.context.PublishingPageId,e.absoluteUrl=window.location.href),e}},{key:"_getWebApiHost",value:function(){var e="";return window.location.host.startsWith("localhost")&&(e="https://…
2La condición que decide. Si NO estamos en ese ordenador, se ponen los valores buenos. El caso normal, escrito como excepción.

Y ahora, enseguida, lo que esto no es, porque tiene mejor arreglo de lo que parece. El visitante nunca está en localhost:8050, así que la excepción se cumple siempre y los valores que se usan son los buenos. Nadie recibe el número 196 ni acaba en una dirección que no existe. La página funciona. Lo que queda es el retrato.

La función siguiente, pegada a esta, es del mismo estilo: mira si el sitio empieza por localhost y, si es que sí, manda las consultas del programa a otro puerto de la misma máquina, el 7287. Un puerto es la puerta concreta por la que entra una conversación en un ordenador: una misma máquina tiene miles, numeradas, y cada programa escucha en la suya.

3de 6sede.hacienda.gob.es/js/sedesubscriptions/sede-subscriptions.jslínea 2 de 2
Copia
archivo
Guardado
31 ago 2026
Peso
422,3 kB
sha256
aeb36c03f1f7…
1/*! For license information please see sede-subscriptions.js.LICENSE.txt */
2…st.startsWith("localhost")&&(e="https://localhost:7287"),e}},{key:"getVariableValueOrUndefined",value:function(e){e=e.split(".");for(var t=window[e.shift()];t&&e.length;)t=t[e.shift()];return t}},{key:"getValueOrUndefined",value:function(e,t,r){for(var n=e[(t=…
3Y el segundo puerto: por dónde hablaba el programa con el servidor en esa misma máquina.

Dos puertos distintos, el 8050 y el 7287: los que el programa espera encontrar en el ordenador de quien lo escribía, y que acabaron publicados en la sede del ministerio que hace los presupuestos del Estado. Estos dos números no dicen nada de la sede. Dicen cómo estaba montado el escritorio de quien la programó. Son el rastro de una mesa de trabajo, y el 31 de agosto viajaban con casi todas las páginas que guardamos de la sede.

El fichero lo montó alguien con oficio: son 422.274 bytes de programa comprimido, con su gestión de la sesión, su identificador de usuario y su credencial guardada en el navegador. En el paso de la máquina de uno al servidor de todos, lo que estaba puesto para probar se quedó puesto. Y cada página lo pedía con una sola línea de su código, como se pide cualquier otro programa.

4de 6sede.hacienda.gob.es/js/sedesubscriptions/sede-subscriptions.jslínea 2 de 2
Copia
archivo
Guardado
31 ago 2026
Peso
422,3 kB
sha256
aeb36c03f1f7…
1/*! For license information please see sede-subscriptions.js.LICENSE.txt */
2…essionStorage.setItem($t.SessionStorage.UserToken,e)}},{key:"getUserId",value:function(){return sessionStorage.getItem($t.SessionStorage.UserId)}},{key:"storeUserId",value:function(e){sessionStorage.setItem($t.SessionStorage.UserId,e)}},{key:"getSubscriptionMa…
4Guarda la credencial de la sesión en el navegador de quien entra. Es código de verdad, con oficio.
5de 6sede.hacienda.gob.es/es-es/sedes/igae/paginas/listadotramiteslínea 397 de 403
Copia
archivo
Guardado
31 ago 2026
Peso
29,5 kB
sha256
3f788a5b683f…
394<script src="/_content/MINHAC.Sede.Rcl.Components/js/menu.js"></script>
395<script src="/_content/MINHAC.Sede.Rcl.Components/js/clock.js"></script>
396<script src="/_content/MINHAC.Sede.Rcl.Components/js-ad/dispositivos.js"></script>
397<script src="/js/sedesubscriptions/sede-subscriptions.js"></script>
398<script src="/js/ga/cookies.js"></script>
399<script src="/_content/MINHAC.Sede.Rcl.Components/js/langSelector.js"></script>
5La llamada al fichero desde una página de trámites de la sede, el 31 de agosto. Estaba en 79 de las 81 que guardamos; el 23 de septiembre ya no está en ninguna de esas 79.

El fichero sigue ahí. El que pedimos el 15 de septiembre de 2026 tenía la misma huella y los mismos 422.274 bytes que el que guardamos el 31 de agosto, y el del 23 de septiembre también: el 196, la dirección que no existe y los dos puertos siguen dentro. Lo que ha cambiado son las páginas. Ese 23 de septiembre volvimos a pedir, una a una, las 79 que lo cargaban, y la línea que lo llamaba ya no está en ninguna.

6de 6sede.hacienda.gob.es/js/sedesubscriptions/sede-subscriptions.jslínea 2 de 2
Copia
archivo
Guardado
31 ago 2026
Peso
422,3 kB
sha256
aeb36c03f1f7…
Tapado
1 tramos ▒
1/*! For license information please see sede-subscriptions.js.LICENSE.txt */
2…e={pageId:196,absoluteUrl:"https://▒▒▒▒▒▒▒▒▒.hacienda.gob.es/es-es/Paginas/p1"};return window.location.origin.startsWith("http://localhost:8050")||(e.pageId=window.minhac.context.PublishingPageId,e.absoluteUrl=window.location.href…
6Lo mismo en la copia que pedimos el 15 de septiembre de 2026, byte por byte.

El programa está escrito desde el punto de vista de su autor: en casa, todo normal; fuera de casa, la excepción. Fuera de casa somos los demás.

Lo que decimos
  • El fichero sede-subscriptions.js de sede.hacienda.gob.es (422.274 bytes, guardado el 31 de agosto de 2026 y con la misma huella el 15 y el 23 de septiembre) define como valores por defecto de la petición el identificador de página 196 y una dirección absoluta cuyo nombre de máquina no resuelve en el sistema de nombres público (comprobado el 23 de septiembre), y los sustituye por los valores reales únicamente cuando el origen de la página no empieza por http://localhost:8050.
  • La función siguiente fija la dirección de la interfaz de programación en https://localhost:7287 cuando el host empieza por localhost.
  • 79 de las 81 páginas que guardamos de la sede el 31 de agosto cargaban ese fichero.
  • El 23 de septiembre de 2026, pedidas de nuevo una a una, ninguna de esas 79 lo cargaba.
Lo que no decimos
  • No publicamos el nombre de la máquina de desarrollo, solo el dominio al que pertenece.
  • No decimos que a esa máquina se pueda llegar desde fuera: no resuelve en internet y no lo hemos intentado.
  • No decimos que esto afecte al visitante: no le afecta, porque la condición se cumple siempre fuera del ordenador de desarrollo.
  • No sabemos qué día ni por qué las páginas dejaron de cargar el fichero: entre el 31 de agosto y el 23 de septiembre no las volvimos a pedir.
  • Y no decimos nada de lo que guarda la sesión más allá de que existe: no hemos entrado en la sede ni hemos iniciado sesión.
Procedencia

De dónde sale cada cita

Cada trozo de código de esta ficha está en un fichero guardado tal como lo entregó el servidor, con su huella (sha256) y su hora. Las citas entre «» se comprueban por programa contra ese fichero antes de publicar.

Desgobierno Digital · https://desgobiernodigital.com/piezas/hacienda-valores-de-casa/ · copia impresa de la edición generada el 19 de octubre de 2026 · Un proyecto de BQuant · correcciones: @Gsnchez