Recently I was looking at some reports of the affiliate income generated
by The Virtual Bookcase and
it hasn't generated a cent in a few years.
This is probably fully related to the fact I haven't paid any attention to the
site both in code and content for years. The only commits in 2022 were due to a
vulnerability found in the site. Most commits to the code for the site were
before 2010. Time to admit to myself I need to stop doing this. There are other
things that take my time and give me joy.
If someone else wants to take over: get in touch. I'm not sure which parts of
the database are of any use to people and which parts I shouldn't transfer due
to Dutch privacy laws but we'll figure it out. If nobody wants it, I will start
giving 410 gone status from 1 september 2023 and end the domain registration in
November 2023.
The original announcement of starting the site, dated 28 march 1999:
I've created a virtual bookcase with an overview of books I like/read.. visit the site too!
which is also the oldest newsitem in my archive.
One of the most important ways for me to get contacts confirmed in amateur
radio is via the Logbook of The World by the ARRL.
I noticed the LoTW website was very slow yesterday and today, sometimes giving
internal server errors. As a lot of radio amateurs should notice this,
I had a look around and soon found mention at LOTW is Struggling! - amateurradio
which confirms that the site is slow at the moment. There is a way to see
how busy the site is processing uploads at LoTW Queue Status Page
and the backlog is currently 11 to 13 hours.
According to some comments in the reddit thread this is caused by people
uploading their contacts once a year. I've had contacts where it took a while
to confirm them because the other side wasn't uploading to LoTW on a regular
basis but I never suspected some people do this just once a year.
The upside is I now have a new country confirmed on several bands at once. And
maybe more confirmations will show up. I do have some countries in my list with
the note 'not a regular LoTW uploader'.
My enthusiast stories about getting uart access on the previous cable router
devices are causing more hardware to come my way to play with.
This time two Corinex HD200 CableLAN Wall Mount Adapter CXC-HD200-WMEe units
showed up. They are compact interfaces for ethernet-over-cable according to
Corinex standards. The size and the status leds remind me a lot of
devolo powerline units
which I used years ago to get network in our garden shed.
After voiding the warranty by breaking the sticker and unscrewing the two
screws the case doesn't want to open yet. Some force is needed, plastic tabs in
the corners kept it closed. I notice there is one very compact board with
everything including the power supply. There is a clear demarcation on the
board between the power supply area and the rest with slits in the board on
parts of this line. Two other screws hold the board to the case and after
removing those I can take it out. There are wires from the board to the power
plug and a coax cable to the F connector for the coax cable.
There is probably a main system on a chip (SoC) but it's hiding under a
heatsink. Most components are surface mount devices (SMD).
On the other side of the board I see a RTL8201EN ethernet chip near the
RJ45 network connector. And an EM638165TS-6IG chip which turns out to be
64 Mbit of Synchronous DRAM. And a 25L3206E, 32 Mbit serial flash.
For now I have no idea if this device has a UART somewhere. The only row
of 4 small soldering pads didn't give me continuity to any part that I
thought would be at the electric ground level so no idea whether that is
the UART or not.
Although there are two units they don't want to talk to each other over a coax
cable with F connectors. The manuals I can find state clearly that they want to
see a Corinex Ethernet over cable master device. The person that gave them to
me has experience with these devices and their implementation of the standards
and stated to me Corinex ethernet over cable devices only talk to Corinex
ethernet over cable masters.
In Oktober 2022 the Sigi Presch - DL7DF and Crew DXpeditions
team was active from Guadeloupe,
a set of islands in the Carribian that is an overseas department and region
of France.
I already had a digital contact with Guadeloupe confirmed, but I really wanted
to get more countries in morse so I worked on getting a contact with this
dxpedition. I worked them on the 17 meter band in morse on 15 October of
this year.
With all the costs of such a DXpedition I can imagine they like a donation. And
I like to get a real QSL card, so these two came together and there is a card
on the way. And I already received a digital confirmation via Logbook Of The
World. All contacts will be digitally confirmed eventually, more DXpeditions do
an announcement that they will upload all the logs after a while (usually half
a year). I think this is a positive development: if you want a physical card or
a speedy confirmation you help with the costs of the DXpedition and otherwise
you get a confirmation anyway eventually.
I will keep an eye on DXpedition announcements from Sigi Presch DL7DF and
team!
In August 2022 I received a report of a cross-site scripting vulnerability in The Virtual Bookcase
and the reporter of the vulnerability never replied after I told him there was
no financial reward for reporting bugs.
In November the bug report became public at openbugbounty:
virtualbookcase.com Cross Site Scripting Vulnerability Report ID: OBB-2858037 - Open Bug Bounty
so this confirms my theory of what the vulnerability was. Which I have fixed,
but this isn't visible at openbugbounty.
In this case the vulnerability wasn't severe and with the little amount of
information I had from the report plus the access logs I was able to fix it.
But in other cases the vulnerability may be more complex and the site-owner
who deals with a report like this can't just analyze the logfiles to get an
idea of where the vulnerability might be.
I don't think the world becomes a safer place if information about
vulnerabilities is only available if you pay for it.
The About the Project of the Open Bug Bounty project
seems to promote actual 'bounty':
A website owner can express a gratitude to a researcher for reporting
vulnerability in a way s/he considers the most appropriate and proportional to
the researcher's efforts and help.
As a matter of example, Google pays from $7,500 to $100 per XSS vulnerability
submitted by security researchers. But Google is Google, you may adjust your
remuneration range to any amounts comfortable for you.
At the same time demanding a bounty before disclosing the bug is not ok on
this platform. From the same 'About' page:
We always encourage the researchers to be respectful, responsive and polite, to
provide website owners with all reasonable help and assistance.
If a researcher violates the enacted standards of ethics and good faith
including but not limited to:
demanding remuneration to delete a submission
demanding remuneration to disclose vulnerability details
such submissions will be immediately deleted from our platform.
I hope the next vulnerability disclosure causes less irritation.
When I started with HF in amateur radio (below 30 MHz) in
August 2014 making PSK31
contacts on the 10 meter band
the number of sunspots was falling, the maximum frequency for ionospheric
propagation was falling and therefore the possibilities of making contacts on
the 10 meter band were dropping.
In 2022 we are in the rise of the number of sunspots as part of solar cycle
25. And this year there are clearly moments where I can get interesting
contacts on the 10 meter band.
Today I had some time to play radio in the morning and I got contacts with
China, India, UK bases on Cyprus, Macedonia and Hong Kong. The contacts were
in FT8 mode.
It is nice to see this. Radio amateurs who have been active for years will
tell you about the good times when you can make contacts on the 10 meter band
during the day with minimal means. Now I am enjoying this myself and having
fun all over the world.
On 9 December this year was the annual SURFcert Capture The Flag (CTF) event.
The end result is that team "I'm not a robot" from Radbout University Nijmegen won
with the most points.
When I participate in a CTF, I like to keep notes and write about my
experiences and what I learned solving the challenges. Being on the 'other'
side creating the challenges is as much fun, but while creating the challenges
you have to be really silent about it. For me personally it is extra
challenging because one of the regular SURFcert CTF players works with me in
the same team.
But sometimes designing a challenge and making it happen gives the same great
feeling as actually solving it! This was the case with the challenge that
ended up as Scan the radio on the SURFcert CTF. The name of
the challenge was somewhat confusing by design: there was a challenge which
was designed to make people use a 1990s style ghettoblaster radio,
there was a challenge mentioning 'broadcast' which was actually about
names of wifi networks and this challenge. All three were marked 'physical'
with a description of the challenge.
For this challenge I wanted to create an NFC tag that could be read easily.
I found out information can be put in NFC tags using the NDEF standard (NFC
Data Exchange Format) which has options to embed URLs, options to start
certain apps or simple strings. I wanted a simple string with a flag as
our flag format was SCF2022- plus 32 characters uppercase. I found out the
developer of proxmark is working on NDEF support but it is all quite new.
At this point I was worried I had to write my own code and use parts from a
fresh library to get an NDEF message on a card. I did bring some MiFare classic
cards home to test on. But searching for information I came across
NDEF and Magic Mifare Cards with the very important remark:
My suggestion would be to get an Android phone
with nxp reader chip (there are many) and use tagwriter from NXP to format and
write ndef data to the Mifare classic chip.
I do have NFC TagWriter by NXP
on a smartphone, I just haven't used it a lot.
And indeed it was really easy to create an NDEF dataset with a string,
write this to a MiFare classic and read this with an Android phone with NFC
support, even without opening the NXP TagInfo application.
So that was an easy challenge to make, a lot easier than I first thought.
Or was it? The final test would be to read this on an Apple iphone too.
And there came the snag, the Apple iphone doesn't work with MiFare classic
tags somehow. But the person who helped me test it had another tag with an
NDEF message on it, and that worked fine. So the conclusion was that another
type of tag would work better. Luckily one of the other people of the team
creating the SURFcert CTF has a big collection of NFC tags and it turned
out the tag given out by Tweakers reads fine on Android and iphone.
So that's how the 'scan the radio' challenge was to notice the clearly not
from 1992 tweakers tag on the ghettoblaster radio, scan it with the standard
NFC support in a smartphone or use NXP TagInfo and find the flag.
While creating this challenge I also tried writing information to the tags
which were given out / sold about 15 years ago which looked like a circle with
a hex serial number. I always assumed they were just a serial number to look up
in a database. But they turned out to be actual NDEF tags with the hex serial
number on the outside as an URL:
For the tag with 04B7CC193E2580 on the outside: protocol 01 http://wwwuri field ttag.be/m/04B7CC193E2580
But ttag.be has changed owners since this was active and it's now
redirecting to 609.es which is a real-estate agent in Spain. I guess
everybody who scans a round tag with a serial number wonders how they end up
with a real-estate agent.
Last weekend was the CQ World-Wide DX Contest CW
and I participated in that contest on parts of Saturday and Sunday. I ended
with 189 contacts. Daytime I worked on the 10 and 15 meter bands and when those
started to dry out I switched to the 20 meter and 40 meter amateur bands.
Most of the time I chased stations in search+pounce mode
but I also called CQ on the 15 meter band on Sunday afternoon. I will need
to practise more with calling CQ: stations came to me at higher speeds than I
was used to with running PA900UTR and if I didn't
decode the callsign and reacted immediately some give up fast.
But my morse is improving, even at contest speeds and I got a nice number
of countries in the log. Even countries I didn't have in morse before:
PJ2 Curacao, PJ4 Bonaire, CX Uruguay, 3B8 Mauritius, CN Morroco, SV9 Crete.
Of those Mauritius is a completely new country in amateur radio for me.
I put in some extra effort to get those new countries in the log, with other
stations that I know are confirmed countries I give up after a few tries and
try to get another call in the log. Radio contesting is about the numbers: both
number of contacts and the multipliers. In this contest the number of CQ zones
and countries is the multiplier, so I optimise a bit for that number. And I
suspect a lot of the other contestants do the same.
The overview of my single operator multi band effort:
This was one of those contests where I had it all planned beforehand to
participate, made sure everything was working optimally and had it marked in
the family calendar. Normal things like weekend shopping still needed time,
but the family wasn't surprised I spent a lot of time behind the radio.
From a perspective of security research I only touched the surface of the
security research on the Corinex CXWC-HD200-WNeH and the
Cab.Link CLS-D4E2WX1
by finding default credentials for telnet.
To get a further insight I need to first enumerate the network attack surface
completely. What services are running, what programs run those services.
The ultimate step would be to build an emulation environment where I can run
the programs from the routers under my control and find out about the programs
and get a first few steps into reverse engineering. With qemu it is possible to
emulate MIPS systems on x86 hardware, so I can build a test environment.
It would need some work to get old enough versions of code and kernels to
create a compatible environment. The Corinex router mentions compilation in
2012 but with Linux kernel 2.6.21 which was released 25 april 2007. The
Cab.Link router mentions compilation in 2013 but uses Linux kernel 2.6.31 which
was released 9 september 2009.
After getting a good look at the
Cab.Link CLS-D4E2WX1
from the outside it was time to void the warranty and open the box. The
two screws are hiding under the little rubber feet at the front side and
after removing those two screws the case opens with a bit of jiggling.
This device has an external 12 volt 1 ampere power supply.
Chips found on the board:
Qualcomm QCA7411L-AL3C - Homeplug AV / IEEE 1901 the ethernet over cable interface I guess
I also see an extra board (leftside of the picture, blue) where the u.fl cable
to the wifi antenna starts. It has a few larger chips but those have a label
over them. I guess one of them must be the CPU because I haven't seen a chip
with that function yet.
The makers of the Cab.Link CLS-D4E2WX1 were kind enough to include 4 pins
labeled J30 (bottom left of the picture) which are a very obvious candidate for
being the uart port. Again the process for find GND, TX, RX and Vcc was done
and the right pins found. With the board in front and the J30 readable the pins
are from left to right TX, RX, GND and 3.3 volt. I name the TX and RX pins from
the view of the system, so I see data transmitted on TX and I send data to RX.