Embedded base64 images

Ik ben er net achter gekomen dat het sinds HTML 4.01 mogelijk is om plaatjes in base64 te embedden in HTML code. Maar dat is handig zeg! Neem het volgende stukje:

<img alt="" src="data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAAXNSR0IArs4c6QAAADBQTFRFKhAI
YB0VRiUdgDkvfEIyZ1BKhlJLmVBHklZEsnpv0Z6Q8sCzyNnb+N3K3urv+vTozid+tgAAAAlwSFlz
AAAK8AAACvABQqw0mAAAAAd0SU1FB9oMCggIMUIoQwYAAAJWSURBVCjPVZHBa9RAFManAT15SVfQ
4zpseg8vNHu1Gcoew8IWCuKhXQbqdUsn8drFne1RrdukerCC2An2JJRuKAjSW8g/UEJP9iBhPHiU
Nk4St9UHefB+fO99b15QUkeelzmVVYGqnCb/RQ2Ts9VebzdI8xuYpsl3Y3W3h41u3SYrZe7iZQNj
w733b7uCmoLNXiJTKSVSn8ybCxrS7tCV7pNaWbIzhLsuuttfeVnBtFJ+RbiPNGxgd7VW5omUbhMt
NHETreHdvHKXiVQ+aE3Tmi2yZNzMTFSrjluEjl8biZy5u5iAtUj9cIpTmZd7qsXclgM2ZX4ocHqr
7APY/mQigqWjvDIqIQGwNvYCIZaeVspcLY8dWIRxEAai+yz5236pEUJoEE2D8GCiNNVK7+c4DGgQ
imh6YM8O8s2ky5QypmZ+YTP3X9ZwvsWYt2yHx/4MXjZGlmMzPj/nHz+fwR8P+/ojnZn3hx3xtl7p
Z3rlr1ugU7PRDk+OKpgURfFxCCb4FBZFpKpriVQufo+2APbfbPmHn8syRxcqX422GOy/Yv5eBYsa
TthAHcT2glt4dcLZAGwbvJ13WSlC2UUWD/jIUs8n3ng/ziqYxSdmmz8G2CR8FEaKXqPsPP7gPOCO
qTegM9oJ49OLAp3H8QB0zpkKvj0ORHRaoDgW66C3S8g5cHXqOFPwkIB6ofLh27Bp8yA6RfH0U5+Y
DSCkw0FFZyxiFIs9ShwFOScwAPA2whgJwWnH0cHihNhK6dEwQuKQU172t4nHALin/iAKAwWHZjmO
qfYOfxGIP/3VytFROwG+AAAAAElFTkSuQmCC" />

Resultaat hiervan is:

Standaard Cisco config

Gebaseerd op de Cisco Guide to Harden Cisco IOS Devices.

! Cisco Guide to Harden Cisco IOS Devices
!
! Enhanced Password Security
aaa new-model
aaa authentication login default local
username MyUsername secret MyPassword
enable secret MyPassword
!
! Disable Unused Services
no ip bootp server
ip dhcp bootp ignore
no mop enabled
no ip domain-lookup
no service pad
no ip http server
no ip http secure-server
no cdp run
no lldp run global
!
! Keepalives for TCP Sessions
service tcp-keepalive-in
service tcp-keepalive-out
!
! Network Time Protocol
clock timezone WET 1
clock summer-time WEST recurring last Sun Mar 3:00 last Sun Oct 2:00
ntp server 83.98.201.133
!
! Limit Access
ip access-list standard RemoteAccess
 permit 192.168.100.0 0.0.0.255
 deny any log
!
line vty 0 4
 access-class RemoteAccess in
!
! Set hostname and domain name
hostname myrouter
ip domain-name mydomain
!
! Encrypting Management Sessions
crypto key generate rsa general-keys modulus 1024
line vty 0 4
 transport input ssh
!
! Warning Banners
banner login )

Unauthorized access prohibited.

)
banner motd )

Unauthorized access prohibited.

)
!
! SNMP Community Strings
snmp-server community MyCommunity RO RemoteAccess
snmp-server ifindex persist
snmp-server contact user@example.com
!
! Logging
logging buffered 16384
!
! Configure Logging Timestamps
service timestamps debug datetime msec show-timezone
service timestamps log datetime msec show-timezone
!
! Exclusive Configuration Change Access
configuration mode exclusive auto
!
! Configuration Change Notification and Logging
archive
 log config
  logging enable
  notify syslog contenttype plaintext
  hidekeys
!

Geklungel met de WRT’tjes

BaksteenIk heb het weer eens voor elkaar: een ‘bricked’ WRT54G.

Gelukkig ben ik niet de enige die dit overkomt, maar voor het geval ik de oplossing in de toekomst niet meer terug kan vinden; hieronder mijn procedure om de firmware via tftp op het routertje te krijgen:

  1. Prik de ethernet kabel van de computer die tftp gaat doen direct in de WRT54G.
  2. Start de tftp client, en laat ‘m een constante re-transmit doen:
    $ tftp 192.168.1.1
    > binary
    > trace
    > rexmt 1
    > timeout 90
    > put firmware.bin
  3. Haal de spannig van het routertje af.
  4. Druk met een pen het reset-knopje in.
  5. Zet de spanning weer op het routertje.
  6. Houd het reset-knopje nog een seconde of 4 vast, en laat dan los.

Als het goed is begint de tftp client nu data te sturen naar het routertje, en zie je een boel van dit:

sent DATA <block=2189, 512="" bytes="">
received ACK <block=2189>

Als de firmware over is even een minuutje wachten, en dan zou het routertje opnieuw moeten opstarten.

Hiermee heb ik mijn WRT54G v2.2 gered, en ook de WRT54GL v1.1. Voor die laatste heb ik de ethernet interface op de PC op 10mb/s en half duplex moeten zetten.

De vaatwasser doet het weer

vaatwasserPlots wou de vaatwasser de vaat niet meer wassen. Drie piepjes, lampje drie keer knipperen, en verder stil. Maar dankzij ene Kees was het probleem snel gevonden, en kan de afwasborstel weer in de kast. Oorzaak: Zand in de leiding door werkzaamheden aan het waternet.

Op de foto zie je het labyrinth, waar zich genoeg zand voor een klein kasteeltje had opgehoopt.

Oh, en onthouden voor de volgende keer: Eérst alle leidingen nog eens nakijken op prut, en dàn pas de vaatwasser weer terug inbouwen.

SSH host based authentication

Genereer een key pair:

[username@fromhost ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/username/.ssh/id_dsa.
Your public key has been saved in /home/username/.ssh/id_dsa.pub.
The key fingerprint is:
75:ed:f7:06:00:02:65:3e:4d:7b:fb:cf:4c:59:fc:63 username@fromhost

Kopieer public key naar de remote host:

[username@fromhost ~]$ scp .ssh/id_dsa.pub username@tohost:/home/username/
Password:
id_dsa.pub               100% 1131     1.1KB/s   00:00

Voeg de public key toe aan de lijst met geauthorizeerde keys:

username@tohost$ cat id_dsa.pub >> .ssh/authorized_keys

Zorg dat je .ssh directory en de lijst met keys niet world-readable zijn:

username@tohost$ chmod 600 .ssh/authorized_keys
username@tohost$ chmod 700 .ssh

SMTP authenticatie

AUTH PLAIN

$ perl -MMIME::Base64 -e 'print encode_base64("\000username\000password");'
AHVzZXJuYW1lAHBhc3N3b3Jk
$ telnet smtphost 25
Trying 18.67.13.317
Connected to smtphost.
Escape character is "^]".
220 Domain.com SMTP Server
HELO mailserver
250 smtp.domain.com
AUTH PLAIN AHVzZXJuYW1lAHBhc3N3b3Jk
235 Authentication successful

AUTH LOGIN

$ perl -MMIME::Base64 -e 'print encode_base64("username");'
dXNlcm5hbWU=
$ perl -MMIME::Base64 -e 'print encode_base64("password");'
cGFzc3dvcmQ=
$ telnet smtphost 25
Trying 18.67.13.317
Connected to smtphost.
Escape character is "^]".
220 Domain.com SMTP Server
HELO mailserver
250 smtp.domain.com
AUTH LOGIN
334 VXNlcm5hbWU6
dXNlcm5hbWU=
334 UGFzc3dvcmQ6
cGFzc3dvcmQ=
235 Authentication successful

Let op: Gebruik geen echo in plaats van printf; echo stuurt n !

IMAP authenticatie

LOGIN

$ telnet imaphost 143
Trying 18.67.13.317...
Connected to imaphost.
Escape character is "^]".
* OK
01 LOGIN username password
01 OK Logged in.

AUTHENTICATE PLAIN

$ perl -MMIME::Base64 -e 'print encode_base64("\000username\000password");'
AHVzZXJuYW1lAHBhc3N3b3Jk
$ telnet imaphost 143
Trying 18.67.13.317...
Connected to imaphost .
Escape character is '^]'.
* OK
01 AUTHENTICATE PLAIN
+
AHVzZXJuYW1lAHBhc3N3b3Jk
01 OK Logged in.