当我从我的linux终端运行此命令时:
ssh -p 12643 sudoku@ringzer0team.com
并输入密码dg43zz6R0E,我收到此消息:
Linux ld64webdmz 3.2.0-4-amd64 #1 SMP Debian 3.2.82-1 x86_64
Last login: Fri Sep 22 09:19:02 2017 from 39.188.121.75
RingZer0 Team Online CTF
The sudoku challenge
+---+---+---+---+---+---+---+---+---+
| | 4 | 8 | | | 1 | 3 | 5 | 2 |
+---+---+---+---+---+---+---+---+---+
| 6 | 7 | | | 5 | | | 4 | |
+---+---+---+---+---+---+---+---+---+
| | | | | 4 | 8 | 6 | 7 | |
+---+---+---+---+---+---+---+---+---+
| 4 | | | | 1 | 3 | 5 | 2 | 9 |
+---+---+---+---+---+---+---+---+---+
| | | 3 | 5 | 2 | | | | 6 |
+---+---+---+---+---+---+---+---+---+
| | | 9 | | | 6 | | 1 | |
+---+---+---+---+---+---+---+---+---+
| | | | | | | | | 4 |
+---+---+---+---+---+---+---+---+---+
| | | | 2 | | | | | |
+---+---+---+---+---+---+---+---+---+
| 2 | | | | | | 1 | | |
+---+---+---+---+---+---+---+---+---+
Solve this sudoku in less than 10 seconds and you'll get the flag.
Submit all the sudoku table using this format from left to right 1,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,1...
Solution:
使用Ruby的Net-SSH,如何获取该登录消息并发送响应? 这就是我所拥有的:
#!/usr/bin/ruby
require'net/ssh';
Net::SSH.start('ringzer0team.com', 'sudoku', :password => 'dg43zz6R0E', :port => 12643) do|ssh|
# read that on_login text, solve and send output
p ssh.exec!(((1..9).to_a*9).join(',')+"\n"); # trying to send data
end
它没有终止(没有超过对exec的调用!)。
我只是询问如何与会话进行交互(获取和发送数据),而不是如何解决数独。