́;ω;`)この広告は、90日以上更新していないブログに表示しています。2018-08-30CVE-2018-7602の検証CVEWeb系の脆弱性について勉強していきたいと思い、いくつか検証してみた。この記事はそのうちの3つ目。7.x系、8.x系にRCEの脆弱性が存在する。今回検証するのはこのコード。github.com尚、こちらのPoCも参考にしている。www.exploit-db.com検証コードとDrupal7.57のソースをまとめたリポジトリを作成した。以降の検証はこのリポジトリ内にあるスクリプト等でインストール作業を自動化している。gitがインストールされているものとする。(ここでも途中でMySQLのrootパスワードの入力が2回求められる。Script(Webコンソール)でDrupalをインストールする。以降のインストール作業はこちらの手順と同様のため省略する。詳しくはこの記事を参照のこと。happynote3966.hatenadiary.com検証この脆弱性は、ログインしているユーザが管理者によって認証され、記事の削除権限を持っていることが必要となる。そのため、一般ユーザを作成し、そのユーザに対し記事の作成権限と削除権限を追加する。その後に、ログインを行ってからPoCを実行する。管理者権限でテスト用のユーザを作成する。画面上のPeopleのタブをクリックし、以下のような画面を出す。userをクリックし、一般ユーザを作成する。ユーザ名はhappynote3966、パスワードはpasswordとしておく。accountをクリックして作成は完了。次に、一般ユーザの権限を追加する。画面上のPeopleのタブをクリックし、更にその中のPERMISSIONSのタブをクリックする。Permissionをクリックして、権限を反映する。最後に、記事を追加する。ログアウトし、先ほど作成した一般ユーザ名とパスワードでログインする。ログインできると、以下のような画面になる。contentをクリックし、記事の作成を行う。記事の内容は適当にした。下にあるSaveをクリックすると、作成した記事が反映される。このときのURLを確認し、?q=node/1の最後の数字の部分を見てみると、1となっていることが分かる。これがノードIDとなる。準備が完了したので、これからPoCを実行してみる。ブラウザ内でCookieをチェックする。このサイトのCookie(今回はlocalhost)を閲覧する。今回は以下のようになっていた。Name:SESS29af1facda0a866a687d5055f2fade2cContent:bBJ40SrtSVWc7Y9-By57oyIqSElDNO1nPEghwMTMb9sこの情報と、ノードIDを用いてPoCを実行する。今回の場合は、以下のよう実行する。CookieのNameとContentは=で連結させる。-al"すると、以下のような実行結果が表示された。-alを実行することができている。感想ログインした状態で、且つ記事を削除できる権限を持ち合わせていること、などがRCEの条件になるというのを知った。特定の条件下でのみ攻撃が通ってしまうような脆弱性は見つけるのが難しいのかもしれないが、いずれそのような脆弱性も発見してみたい。18のpwn4とpwn5が解けなかったので復習。2018に参加しました。月別アーカイブはてなブログをはじめよう!HappyNote3966さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。