Zojuist wilde ik de MijnKPN app gebruiken om het verbruik van mijn mobiele abonnement te bekijken. De app werkte niet. Na wat onderzoek blijkt het probleem te liggen bij de APIs die door de MijnKPN app gebruikt worden. Daarnaast liep ik tijdens het onderzoeken tegen twee beveiligingsproblemen aan...
De MijnKPN app gebruikt de volgende APIs:
https://api.kpn.com/
https://ws.api.kpn.com/
https://api.glb.kpn.com/
https://ws.api.glb.kpn.com/
Beveiligingsproblemen
Zowel https://api.glb.kpn.com/ als https://ws.api.glb.kpn.com/ maken gebruik van een ongeldig SSL certificaat! Dit lijkt mij niet wenselijk...DNS-problemen
Ik heb in mijn netwerk Pi-hole draaien en gebruik dus niet de KPN DNS servers. Ik gebruik 8.8.8.8/8.8.4.4 en 1.1.1.1/1.0.0.1. De domeinnamen ws.api.kpn.com en ws.api.glb.kpn.com zijn alleen bereikbaar via de DNS servers van KPN zelf (195.121.1.34 en 195.121.1.66). Resultaat is dat de MijnKPN app niet werkt op een netwerk waar gebruik gemaakt wordt van andere DNS servers dan die van KPN zelf!ws.api.kpn.com via KPN DNS servers:
nslookup ws.api.kpn.com 195.121.1.34 Server: 195.121.1.34 Address: 195.121.1.34#53 Non-authoritative answer: ws.api.kpn.com canonical name = ws.api.glb.kpn.com. Name: ws.api.glb.kpn.com Address: 145.7.170.86
nslookup ws.api.kpn.com 195.121.1.66 Server: 195.121.1.66 Address: 195.121.1.66#53 Non-authoritative answer: ws.api.kpn.com canonical name = ws.api.glb.kpn.com. Name: ws.api.glb.kpn.com Address: 145.7.170.86
ws.api.kpn.com via publieke DNS servers:
nslookup ws.api.kpn.com 8.8.8.8 Server: 8.8.8.8 Address: 8.8.8.8#53 ** server can't find ws.api.kpn.com: SERVFAIL
nslookup ws.api.kpn.com 8.8.4.4 Server: 8.8.4.4 Address: 8.8.4.4#53 ** server can't find ws.api.kpn.com: SERVFAIL
nslookup ws.api.kpn.com 1.1.1.1 Server: 1.1.1.1 Address: 1.1.1.1#53 ** server can't find ws.api.kpn.com: SERVFAIL
nslookup ws.api.kpn.com 1.0.0.1 Server: 1.0.0.1 Address: 1.0.0.1#53 ** server can't find ws.api.kpn.com: SERVFAIL
ws.api.glb.kpn.com via KPN DNS servers:
nslookup ws.api.glb.kpn.com 195.121.1.34 Server: 195.121.1.34 Address: 195.121.1.34#53 Non-authoritative answer: Name: ws.api.glb.kpn.com Address: 145.7.170.86
nslookup ws.api.glb.kpn.com 195.121.1.34 Server: 195.121.1.34 Address: 195.121.1.34#53 Non-authoritative answer: Name: ws.api.glb.kpn.com Address: 145.7.170.86
ws.api.glb.kpn.com via publieke DNS servers:
nslookup ws.api.glb.kpn.com 8.8.8.8 Server: 8.8.8.8 Address: 8.8.8.8#53 ** server can't find ws.api.kpn.com: SERVFAIL
nslookup ws.api.glb.kpn.com 8.8.4.4 Server: 8.8.4.4 Address: 8.8.4.4#53 ** server can't find ws.api.kpn.com: SERVFAIL
nslookup ws.api.glb.kpn.com 1.1.1.1 Server: 1.1.1.1 Address: 1.1.1.1#53 ** server can't find ws.api.kpn.com: SERVFAIL
nslookup ws.api.glb.kpn.com 1.0.0.1 Server: 1.0.0.1 Address: 1.0.0.1#53 ** server can't find ws.api.kpn.com: SERVFAIL