连接到自己的网络守护程序意味着什么?

时间:2018-08-09 20:23:04

标签: networking daemon setuid bandit

我目前正在overthewire.org上进行强盗战争游戏(对于那些不知道这是一个网站,您要做不同任务以提高黑客技能的人)。 我以前做过它们,但是我很早就被卡住了,我用扰流板炸开了它们。这样做的好处是,它为“可重播性”留了很多空间。 xD 现在我在bandit20,我需要使用一个可执行文件:

/home/bandit20/suconnect
usage: ./suconnect <port number>

“将使用TCP连接到本地主机上的给定端口。如果它从另一端收到正确的密码,则将下一个密码发送回去。”

我最初的反应是拉出nmap并寻找开放的端口。我确实找到了一些打开的,其中一些正在运行echo和一些openssl。总共有5个端口是打开的,而与服务的运行无关,我还发现使用ps -alx在后台运行的netcat监听另一个第6个端口。

现在,任务说明显示:

  

[文件]在您指定为端口的端口上连接到本地主机   命令行参数。然后从连接中读取一行文本   并将其与上一级密码(bandit20)进行比较。如果   密码正确,它将在下一次传输密码   等级(bandit21)。   注意:尝试连接到您自己的网络守护程序,以查看其是否按您的想法工作

我使用预期的语法尝试了找到的所有6个端口,但它们均未返回任何内容。我确实在扰流板的博客上找到了网站上的一个较旧的描述,内容为:

  

要突破此级别,您需要登录两次:一次运行setuid   命令,然后启动setuid将要进入的网络守护程序   连接

我尝试了sshing两次,并使用二进制文件在所有这些端口和第二个窗口中侦听,但它什么也没做。问题是在我运行二进制文件后,它给了我一个空白命令行,但是无论我键入什么,它都没有任何输出。 我在文件上使用了字符串,但是我看到它的确有无法连接的失败消息,错误的密码,正确的密码等等,但是我什么也没得到。

在这种情况下,我希望更多地了解基本概念,而不是获得解决方案。我不确定连接到您自己的网络守护程序意味着什么(我尝试使用Google谷歌搜索并在youtube上查找,但我不太了解网络守护程序是什么,或者连接到网络守护程序意味着什么)。 还必须运行2个终端似乎很重要,因为他们将其取出来了,但是在这种情况下,我似乎无法弄清楚您应该怎么做或应该使用它做什么。 另外,要侦听我使用netcat的本地主机上的端口,不确定是否还有其他更好的方法,或者是否应该使用其他任何方法。

非常感谢任何反馈, 谢谢:)

1 个答案:

答案 0 :(得分:4)

只是想说我设法找到了答案。事实证明,本地主机是本地守护程序,连接到本地意味着要执行2个netcat:一个监听端口,另一个连接到端口。