KBS的BBS系統灌水指令碼

2021-08-26 14:25:16 字數 2147 閱讀 7490

kbs的bbs系統灌水指令碼

2023年12月07日

基本上,是寫乙個指令碼,定好一系列步驟,並用輸出管道傳與 telnet 程式:

water.sh username passwd | telnet -8 forum.byr.edu.cn

這多虧了 telnet 的作者沒有考慮周全,標準輸入不從 /dev/tty 讀,而是從 stdin 讀。換成ssh就沒折了。

這裡面的point是: kbs有很多狀態,比如在看一篇文章時,是乙個狀態,這種狀態下,它從客戶接受輸入,它判斷輸入的符號串,看是 資料 還是命令,比如你按 ^w 時,表示寫好了你的文章,^w會使得客戶端傳送 027 (八進位制)到伺服器端,伺服器讀取後,發現是027,這是乙個^w命令,而不是資料,就採取想應的操作。

關鍵是,怎麼樣表示 ^w 的效果? 首先你可以用getchar()得到^w的整數值,列印出來看看是什麼,發現是027,然後用 echo 的 -e 引數: echo -e "\027" (見man),這就會將乙個值為027的ascii位元組傳過去。 另外,注意用 -n,因為kbs的很多都是raw模式的,按個鍵就響應的,所以,不必要輸入回車。

我在***論壇測試成功,指令碼如下:

#!/bin/sh

username="$1"

password="$2"

sleep 2 #等待 telnet 啟動完畢

echo "$username"

echo "$password"

sleep 2 #等待驗證通過,如果是繁忙的站點,這個值和下面各個sleep的值都要取大點。

# 下面三個在***站點上,跳過一系列需要按個鍵的地方,就是那種歡迎之類的,按下才跳過去。

echo

sleep 1

echo

sleep 1

echo

sleep 1

# 選擇哪個討論區

echo "s"

sleep 1

# 選擇某個版面(是xx論壇的應該能看出來這是哪個版)

echo "nic"

sleep 1

########## below for a single reply with one cow ##########

echo

sleep 1

echo -n "r"

sleep 1

cowsay "驚現某某兩個馬甲..."

echo -n -e "\027"

sleep 1

echo "f"

sleep 1

exit 0

########## below for a single reply with many cows ##########

#echo

#sleep 1

#echo -n "r"

#sleep 1

##for file in `ls /usr/share/cows`

#do# #cowsay -f $file "皮皮封我,好難過,bad,too bad"

# cowsay -f $file "小沛生日快樂,挖卡卡"

# echo

# echo

# echo

#done

#echo

#echo "自動灌水指令碼哈,測試測試,這個可以用於良好目的的,比如自動更新帖子嘿嘿"

#echo -n -e "\027"

#sleep 1

#echo "f"

#sleep 1

##exit 0

########## below for replys『 loop 用這個小心被封阿呵呵 ##########

#for file in `ls /usr/share/cows`

#do# echo

# sleep 1

# echo -n "r"

# sleep 1

# echo

# sleep 1

# cowsay -f $file "小沛生日快樂,挖卡卡"

# echo -n -e "\027"

# sleep 1

# echo "f"

# sleep 1

#done

#exit 0

over,當然了,你可以定製成任意的操作,只要你知道達成乙個結果的操作序列。

python 系統的監控指令碼

需求 1.獲取當前主機資訊,包含作業系統名,主機名,核心版本,硬體架構等 2.獲取開機時間和開機時長 3.獲取當前登陸使用者 import os import psutil from datetime import datetime print 主機資訊 center 50,info os.unam...

linux系統下的shell指令碼

bin bash 說明我需要啟用bin目錄下的bash直譯器解釋指令碼 將第乙個檔案拷貝到第二個檔案,如果出錯將錯誤輸出到 dev null 的空。if判斷cp的返回值是否為1,1為成功,0為失敗 if cp 1 2 dev null then 成功所做的事情 if cat dev null 1 清...

shell指令碼的系統資訊的應用

bin bash 系統資訊 system info 作業系統的版本號資訊 version ca t et c re dhat rel ease ech o 操作 系統的版 本號資訊 cat etc redhat release echo 作業系統的版本號資訊 cat e tc r edha t re...