道民学生プログラマの憂鬱

やるきになったら書く

8946 解説 1~10

1-10


とりあえず鳳凰問題を除いてのこり2問(Take24 Take32)なので、それ以外を解説していきます。
(ちなみに、Take32に関しては攻略方法はわかっていますが無線のせいか、試行錯誤するも、私の環境ではまったくできません)

以下、解説です。


Take1

説明するまでもないです。ソースにまんま書いてあります

Take2

fnFormSubmit関数のうえに、怪しいファイルが...

Take3

1のと同じ。
ただ暗号化されてるだけ。
復号化してくれるサイト探そう。
(ちなみに、末尾に=がついてるのは、Base64。ついてなくても、慣れればすぐBase64だと気づける

Take4

3と同じ。
ただ暗号の種類が違うだけ。
復号化してくれるサイト探そう。
(ちな、文字数が32文字なのはMD5)

といきたいところだが。
MD5は、一般には復号化できない(理論上)、ので辞書サイトを探しましょう。

Take5

SQLインジェクションですね。
IDを 「a' 1=1 --」
とかにしたらいけます。
退会してない人のでログインしましょう。

Take6

Basic認証ですね。通常Basicはhtpasswdなるファイルにパスワードの情報を記録するわけですが。 (htpasswdである必要はない) URLを ・・/take6/htpasswd.txtとするとすんなり中身がのぞけました。

Take7

ボタンをクリックしてもログインできませんね。
きっとIPアドレスか何かで判別しているのでしょうが、IPアドレスは簡単に変えられません。
まーこーゆーのは、きっとクッキーでしょう。
Firebugなどでクッキーみるとありますね、それっぽいのが。
1に書き換えてしまいましょう。

Take8

誤字なんか吹くw
計算です。

Take9

これも計算です。
answer変数を見ましょう。
まずこれは単項式です。なので(input_no % 2)が0だとほかがいかなる値でも0です。
なので、テキストボックスに入れる値は奇数です。なので
( ( seconds * ( seconds - 1 ) ) / 2 ) = 990 のような方程式を解きましょ。
手計算が早いでしょう。

Take10

SQLだべ。
んで、さっきのを入れてみると、文字化けしてる。。。
原因ですが、ブラウザの表示がUTF-8なのに出てきた文字はShift-JISなためです。

ソですね。

ソ' OR 1=1#
でしょう

次回は11から20です
次 -> 8946 解説 11~20 - 道民学生プログラマの憂鬱