I'm learning about security, and it seems that all of the security problems I have seen come from input from malicious actors.
I was told that it's possible to check for the existence of bugs in a program, but not possible to check that a program doesn't have any bugs. Following from this, this means that it's not possible to prove that a program is 100% secure (correct me if I'm wrong).
So I was thinking, is it possible for a program to be hacked in some way without explicitly taking user input?
And by hack, I mean making the program do something it wasn't designed to do.
For example: somehow forcing a program to take in user input by other means even though the actual program code doesn't take in user input.
Or subverting the execution of a simple Hello World program and making it execute a shell.
Is it possible to craft a program that doesn't explicitly take user input, but can still be hacked?
int main() { printf("Hello World\n"); return 0; }
– NotAPro Jan 4 '20 at 23:16