CMSに総当り攻撃を仕掛けてみる。その4前回までで総当り攻撃でログイン用のアカウントを特定することが出来た。CMSで再現してみる。対象サイトにログインできるようになったら何をする?顧客情報を除いて、顧客のメールアドレスを盗む?それとも公開しているサイトの改変してみる?いやいや、もっとすごいことができるでしょ。下記のようなコードを作成してみる。taro@example.com");}?>こんな感じのフィッシング詐欺みたいなメールを用意しておく。ファイル名はfunction.phpにでもしておこうか。このコードで企業にいるITに疎い管理職や広告代理店なんかにいるスタバで仕事している俺かっこいいみたいなビジネスマンが釣れれば良いな。自身の居場所(IPアドレス)を特定されずに迷惑メールを送信することができる!※メールアドレスは乗っ取ったサイトのものだし、送信元も乗っ取ったサイトのIPアドレスだから都合が良い。いうわけで、ファイルマネージャを開いて、function.phpを配置してみる。CMSのファイルマネージャではPHPのファイルがアップロード出来なかった。※WordPressの現在のバージョンは知らないが、一つ前のバージョンではPHPファイルをアップロードすることができる。→WordPressを定期的にバージョンアップをしているサイトなんて稀なので、世界中で踏み台の候補となるサイトなんてゴマンとある。CMSは踏み台には使えないのかな?なんて思ったりするけど、まだ試していないことがある。公開側のどのページでも必ず最初に読み込まれるファイルのことで、ファイル名がindex.phpとしてサーバに配置されている。CMSのindex.phpの編集を試してみよう。CMSへの画面からサイト一覧を開き、サイトにある詳細をクリックし、サイト詳細のところにあるindex.phpの編集を開く。"/***************************************/common");include(_CMS_COMMON_DIR_."/site.func.php");execute_site();こんな感じのコードがある。taro@example.com");execute_site();こんな感じのコードを仕込んで、サイトのどのページでも良いので開いた直後に、メールボックスがなんかのメールを受信した。仕込んだメールが飛んできた。勝手にメールが送信されていることに管理者も閲覧者も気が付かないということだ。CMSにログインした後に踏み台攻撃を仕込まれることがわかった。今回の内容を回避する方法を記載しておく。サイトの公開を開始したら、サーバの/ルート/サイトID/index.phpのファイルパーミッションから書き込みのチェックを全て外せば良い。index.phpの編集画面で上記の様にエラー通知が表示されていれば良いです。※念の為に公開側の表示も確認しておく。311こんな感じのエラーになり、新しいindex.phpで上書きも行えなくなります。管理画面のURLが特定されなければ良いんだけどね。Shopが入っている場合にアカウントを盗まれたらやばい。今回のことができることは内緒です。CMS/ShopでPHPモジュールに使用の制限を設けました追記2サイトの乗っ取りができるかどうかを攻撃する前に判断する方法として、ソースコードを表示して何のCMSを使っているか?CMSを特定したら、ログインフォームが最新になっていないか?※古いバージョンのままの場合は、Webに疎い人だと余裕でわかる。お問い合わせフォームがhttpsで表示されていないか?これらの条件を満たしたら、攻撃対象にしておく。サイトで実際の栽培に落とし込んだまとめの記事の投稿を始めました。Appの操作に関する質問を下記のページで受け付けています。CMS/Shopで標準機能だけでは実装が難しい時はお気軽にご相談下さい。CMSの開発秘話を投稿しました。妻にプログラミングを教えることにした自由を求めてオープンソースのネットショップパッケージへ。毅(ツヨシ)仕事内容TwitterSlideShareYouTubeGitHubお問い合わせ大学院で植物の細胞学(主に形)を専攻し、大学院在学中(後に中退)に今で言うところのスタートアップの初期メンバーとして参画し、農薬を使わない栽培の調査と技法の開発を行っていました。CMS/Shopの開発を開始しました。※前職の話で詳しくはこちらをご覧ください。以前、神奈川県の養鶏場、株式会社コトブキ園さんで高品質な鶏糞堆肥の製造に関わらせていただきました。農機具メーカー向けに栽培で使える化学の話をしています。CMS/Shopの開発も引き続き行っていますので、サイト構築やプラグインの開発をしています。schoolの小中学生向けのプログラミング教室で教えています。