如何在 OI 系列比賽中“優雅”地使用 SSH


警告:請勿在正式比賽中模仿!您將會被禁賽三年的風險。

純技術性文章,請勿惡意舉報、評論!

前置芝士

Linux 基本使用。

ssh的基本使用

ssh 是用來連接遠程主機的命令行工具,名字來源是secure shell,即 sh 前加上 s,與其名字構成相同的有 scp,即 secure copy 遠程復制。

一般用法有 ssh user@host -p port

直接輸入 ssh 可以獲得提示信息,不用加 -h

錯誤示范:

提示信息

前置條件

  1. 試機時到別人考場了解某很強的人的 IP 地址。
  2. 獲得了別人的密碼(或密碼都是默認的 \(123456\))。
  3. 對方機器開啟 sshd(或本來自動開啟,沒有刻意關閉)。
  4. 對方是實體機/虛擬機開啟端口映射到內網。
  5. 沒有關交換機。

考場用法

對於NOI Linux,我們可以知道默認用戶是 NOI Linux,密碼是 \(123456\)

此時假設我們已經在機試的時候進入了別人的機房, 獲取了他的 IP 地址, 因為 IP 地址在短時間內不會變動, 具體更換時長由交換機配置決定, 所以在考試時 IP 是與機試一樣的。

假設IP為 192.168.123.123

如果是NOI Linux,我們可以使用 ssh noilinux@192.168.123.123 登錄進入他的電腦。

大多數Linux發行版默認ban掉了root的ssh登錄, 所以我們需要使用普通用戶登錄, 然后再 sudo -isu -- 切換到root。

(一般官方鏡像安裝的 Linux 在安裝過程中會設置用戶,所以不允許 root 以 ssh 登錄,但可以在 sshd 的配置修改允許。如果您使用的是阿里等的雲服務器,他們是自己做的鏡像,允許了 root 登錄。)

然后在找到對方源文件位置后就可以為所欲為了。gFdATe.png

你需要熟練使用vim,cat等命令行工具, 對其代碼進行操作。

你可以選擇仁慈的復制, 也可以選擇陰險的修改乃至刪除。

此處提供幾個例子

  1. 用cat顯示別人的代碼然后自己改改,A掉。
  2. 刪除別人的代碼,用心險惡。
  3. 幫別人復制一個板子進去,賽后舉報。
  4. 幫別人改動一下MLE/TLE/CE/RE。

源文件地址如果是虛擬機可以在 /mnt/hgfs/xxx 找到映射的文件夾。

如果是實體機目錄就和你自己的機子一樣。

更高明的方法

如果你不想使用vim,cat等留下蹤跡,可以使用scp

用法:scp noilinux@192.168.123.123:/mnt/hgfs/WC-xxxx/express.cpp .

這樣就會把 express.cpp 復制到 .(當前目錄)。

這樣比 ssh 高明了許多,不會在對方電腦上留下記錄。

scp 是基於 ssh 的,但是只是復制文件,避免了登入別人電腦進行操作。

如果沒有搞到密碼

如果沒有搞到密碼, 難道我們就不能 ssh 了嗎?

當然不是我們可以爆破密碼(

此段內容可能對您的考試沒有任何幫助, 不像上一段可以實操。

你得首先生成一個密碼字典。

可以使用 C++ 生成,密碼字典要求一行一個可能密碼。

然后使用 hydra,hydra -l 用戶名 -P 字典路徑 -t 線程數 -s 22(端口) ssh://192.168.0.110

關於hydra,需要聯網安裝使用:apt-get install hydra -y,所以在考場上不一定具備實操性。

如何不留蹤跡

搞完事以后 rm ~/.bash_history 刪除你的 terminal 使用記錄。

因為一般需要重啟當前 terminal 才能看到別的 terminal 的使用記錄, 賽場上一般不會有人顯得無聊來重啟 terminal,所以一般不會被發現。

只要清除了記錄,賽后即使有人來查也不會被發現

sshd 的基本操作

sshd 是 Linux 中 ssh 服務端的進程。

如果你要 ssh 登入別人電腦,別人的電腦中 sshd 一定要是運行着的。

由於 Linux 一般作為服務器使用,所以大多數都安裝了 sshd。

sshd 的開啟和關閉都可以通過 service/systemctl 實現。

service ssh {stop|start|restart} 來實現停止、啟動、重啟。

如果關閉心切可以直接 pkill sshd

記住到考場上如果沒有關閉交換機,一定要物理斷網或關閉 ssh,不要給投機分子可乘之機!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM