When the data is sent from the ./logappend and ./logread to the server, it is first encrypted and then directly sent to the server through TCP without any security. This is prone to MITM. I have run the following command,
./logappend -T 1 -K s1 -A -E 'Abcdefghijklmnoppp' log0123456
upon intecepting the packet, I have found the following hexdump
this hexdump decodes to some unreadable binary followed by this string
16206e11079e18790e8305e10694e10694e12887e12130e1427e13927e15761e8633e13927e11954e13927e15761e7373e13927e13595e4603e13927e15761e10851e13927e15761e8212e13927e10851e17983e9408e1427e12887e6112e18790e13245e8324e4033e378e16206e13841e12130e11079e10694e10694e10694e10981e13927e16206e11079e18790e16387e4603e11954e764e8721e16990e6736e
Upon close inspection, one can easily look for patterns in it, for example, only e's from alphabets, and after 4th 'e' 10694e10694e which can be 'pp' from append (./logappend -T 1 -K s1 -A -E 'Abcdefghijklmnoppp' log0123456).
And all the above encryption can be easily figured out without even looking at the code.
Absence of authenticity: Server doesn't validate if received data is from ./logappend. Adversary can easily logappend to the server without even using ./logappend executable.
This video can serve as a helpful guide for replicating the test scenario. These issues may lead to additional vulnerabilities and compound security risks, which I also haven't tested yet.
When the data is sent from the ./logappend and ./logread to the server, it is first encrypted and then directly sent to the server through TCP without any security. This is prone to MITM. I have run the following command,
upon intecepting the packet, I have found the following hexdump
this hexdump decodes to some unreadable binary followed by this string 16206e11079e18790e8305e10694e10694e12887e12130e1427e13927e15761e8633e13927e11954e13927e15761e7373e13927e13595e4603e13927e15761e10851e13927e15761e8212e13927e10851e17983e9408e1427e12887e6112e18790e13245e8324e4033e378e16206e13841e12130e11079e10694e10694e10694e10981e13927e16206e11079e18790e16387e4603e11954e764e8721e16990e6736e
Upon close inspection, one can easily look for patterns in it, for example, only e's from alphabets, and after 4th 'e' 10694e10694e which can be 'pp' from append (./logappend -T 1 -K s1 -A -E 'Abcdefghijklmnoppp' log0123456).
And all the above encryption can be easily figured out without even looking at the code.
This app has mainly the following security flaws: