I'm doing a challenge where I have to feed a password (which I have) and a 4 digit passcode (which can only be found via brute-forcing all 10000 possibilities) to a netcat daemon. Currently I'm doing
#!/bin/bash PWD='HpNYTlstOGHyQXmg6gzctqAwOmw1NiPQ' for n in `seq 1 9999`; do STR=`echo $PWD $n | nc localhost 30002` echo "passcode $n: $STR" done
but this is very slow: it does maybe 1 passcode a second. Could I do something like
#!/bin/bash PWD='HpNYTlstOGHyQXmg6gzctqAwOmw1NiPQ' nc localhost 30002 #somehow pipe the output to a file without closing it for n in `seq 1 9999`; do echo "$PWD $n" #echo a line into the stdin of nc #set STR equal to whatever was outputted from nc echo "passcode $n: $STR" done
When I use nc manually, I can send and recieve multiple lines in one nc instance. However, it seems that I can only send one line in bash, which doesn't seem right. How can I send multiple lines, one at a time, to nc?