電気牛ライトアップ
私は、ちょうど2つの不活発なロボットをすでに構築した誰かとして、最初に言いたいです、この挑戦は本当に私の関心をピークにして、この土曜日の午後の残りの部分で眠ることから私を遠ざけた唯一のものについてもありました.
それで、内部を列挙して、調査する私の最初の本能は源コード自体でした.Simmingを通して、ボットサーバーに加わると、新しいメンバーが自動的に基本的な役割を割り当てられます.
しかし、トリガ
しばらく見てからやっと気づいた
それから、私の他のチームメイトからのいくらかの援助で結局、私はサーバーで私のニックネームで実験して、私が要求しようとした役割と同じように、それを私設に変えてみました.そしてブーム!これを返します.
それで、私はCowsayコマンドでねじれることができました.しかし、明らかにしようとするとき
まあ!のようないくつかの他の特殊文字をテストした後{ }と最終的に< tt/< tt/< tt/と< tt/I/を追加します.私が送るとき
最終的に私はフラグを介してフィルタリングできることを学ぶ.TXTを通してパイプを通過して、そして、ブーム
それで、内部を列挙して、調査する私の最初の本能は源コード自体でした.Simmingを通して、ボットサーバーに加わると、新しいメンバーが自動的に基本的な役割を割り当てられます.
role=client.guilds[0].get_role(763128055429595156)
awaitmember.add_roles(role)
私は、ヘルプコマンドでリストされるコマンドで遊びました.ときにリンクを介して洗掘!resource
, すべての4つのビデオは、長い時間ループの牛関連のミームであることが起こりました!cowsay
コマンド.しかし、トリガ
!cowsay
, ロボットは許可のために否定を送りました.だから私はどうにか引き金を引くことができるという特定の役割を加える必要があったに違いない!cowsay
. 見ると!cowsay
関数は、ユーザIDのIDをチェックし、指定されたID!cowsay
関数はelse:
if message.author == client.user:
return
elif(client.guilds[0].get_member(message.author.id).guild_permissions >= client.guilds[0].get_role(763128087226351638).permissions):
# accept, do cowsay.
try:
arg = message.content.split("!cowsay ")[1]
それで、私は役割を加えることを試みました!role_add
. しかしながら、私はそのコマンドを送るためにサーバーのチャンネルになければなりませんでした.しかし、ボットサーバーを見るとき、私はどんなメッセージも送ることができませんでした.変だ.しばらく見てからやっと気づいた
!send_msg
ボットサーバに隠されたCount Cotspamチャンネルに何かを送ることができました.だから私はコマンドを注入しようとする!send_msg !role_add @username <@!763128087226351638>
とけちを立てる!しかし、このメッセージを返します.Hmmm... Noodles wants to add role private. Interesting. . .
Denied role private to member Noodles. Gotta hack harder than that!
それをダーン.最初のカップルのラインを振り返ってみると、私はボットがIDのすべての数字を解析していないと思っていたので、私は両方の端に余分な繰り返しでパディングしてみました.それから、私の他のチームメイトからのいくらかの援助で結局、私はサーバーで私のニックネームで実験して、私が要求しようとした役割と同じように、それを私設に変えてみました.そしてブーム!これを返します.
Hmmm... Noodles wants to add role private. Interesting. . .
Granted role private to member Noodles. Well Done!
本当に面白い.それで、私はCowsayコマンドでねじれることができました.しかし、明らかにしようとするとき
!cowsay cat flag.txt
, 無効な文字メッセージを取得します.ソースコードでは、特殊文字が許されず、空白文字がないことが判明します.ダーン.明らかに、これは私が完了しなければならなかったコマンド注射でした!cowsay
コマンドは、他の方法をバイパスすることができますか?まあ!のようないくつかの他の特殊文字をテストした後{ }と最終的に< tt/< tt/< tt/と< tt/I/を追加します.私が送るとき
!cowsay
コマンドは、ボットは空白を返し、私が予想した典型的な牛の出力ではありません.So <
何かに違いない!最終的に私はフラグを介してフィルタリングできることを学ぶ.TXTを通してパイプを通過して、そして、ブーム
!cowsay <flag
, これは以下のように出力されます: __________________________
< dam{discord_su_do_speen} >
--------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
全体的に非常に楽しい挑戦!私は、将来このようなより面白いchallsをすることを望みます.また、私のチームメイトのおかげでカーネルサンダーズ.本当に感謝します.Reference
この問題について(電気牛ライトアップ), 我々は、より多くの情報をここで見つけました https://dev.to/noodulz/damctf-2020-electric-bovine-writeup-aofテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol