問題
解いてみた
- 答えが書いてあるのでそのまま入力してみます。
- さすがにダメですね。
- URL直接入力してみてはどうでしょう。
- これもダメでした。
- ソースを見てみましょう。
- ボタンを押したときにtake38_LoadFile()が呼ばれますが、ソースには定義されていません。
- ajax_take38.jsを見てみましょう。
- ここに定義されていました。
- 中の処理を要約すると入力欄に入力したページにアクセスして、その戻り値を表示する。なかったら、エラーを表示する。といったところでしょうか。
- ということで、ここではあまり参考になりません。
- wiresharkを使って通信を見てみます。
- 入力したURLにアクセスするわけではなくて、入力した文字はパラメータで送られるようです。
- が、それ以上参考になることはなさそうです。
- いろいろネットで調べた結果、PHPにファイル名をパラメータで送るときにヌルバイト攻撃っていうのに気を付けましょう。というのをいくつか見つけました。
- やってみます。
- やりました。
- 結局渡した引数がどのように使用されているのかはよくわかりませんでしたが、一応解けてよかった。