第一题就花了好久……
首先,获得密码的链接不是ssl。我开始想用命令行来完成,即用netcat。查了下可以通过fifo来交互:
$ rm -f /tmp/f; mkfifo /tmp/f
$ cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f
但问题是怎样取出4个数字相加。我对shell还是不熟,试了半天都没好。
根据题目提示,要用socket编程。于是有下面的代码:
实际上对方在发送4个整数时,似乎是分两次发的,先发一个,再发3个……于是就一直读直到读了16bytes。
得到密码