SlideShare a Scribd company logo
1 of 43
Download to read offline
CMSでの「XSS to RCE」
を触ってみた
Adachi Tomohiro
オワスプナイトカンサイ 2021.11 〜少し早めの忘年会〜
• 本資料は攻撃を推奨するものではなく、攻撃側の視点からでき
ることを⾒ることで、防御に必要な知識を得ていただくことを
⽬的に作成しています。
• ⾃⾝の管理外の環境に対して本資料内の⼿法を実⾏した場合、
法律で罰せられる可能性がありますので、絶対に実⾏しないで
ください。
⾃⼰紹介
• Adachi Tomohiro(@att0att0)
• 普段は主にWebアプリの脆弱性診断をしてます
• 最近Twitter始めました
SNS続かないマン頑張ります😫 😫 😫
なぜこの話をしようと思ったか︖
先週開催されたHardeningに参加
準備どうしよ︖
体験記で⾒かける
「Webアプリの管
理画⾯」ってこと
はCMS︖
トレンド・今年
あった事例ベース
の攻撃シナリオと
かあるかも
そういえば・・・
EC-CUBEで⼤きめの脆弱性があった
参考︓https://jvn.jp/jp/JVN97554111/
JPCERT/CCで公開されている情報
参考︓https://blogs.jpcert.or.jp/ja/2021/07/water_pamola.html
「XSSからWebShellの配置」ってどういうこと︖
参考︓https://blogs.jpcert.or.jp/ja/2021/07/water_pamola.html
1つの⽅法として
CMSでの「XSS to RCE」
というものがあることを知りました
CSMでの「XSS to RCE」について
• XSSの脆弱性を利⽤して、悪意のあるスクリプトを読み込んだ
ユーザの実⾏権限で不正なリクエストを送信する
• RCEを⾏う⽅法(機能の脆弱性を狙う・WebShellを置く...等)
CSMでの「XSS to RCE」について
• XSSの脆弱性を利⽤して、悪意のあるスクリプトを読み込んだ
ユーザの実⾏権限で不正なリクエストを送信する
• RCEを⾏う⽅法( WebShellを置く )
ブラウザを介してWebサーバー上でのコマンド実
⾏ができるようになるプログラム(アプリ)のこ
と。
そのプログラムが置かれているサーバ上でのコマ
ンド実⾏・バックドアとして機能する。
WebShellとは
そもそも、CMSでできることってなんだっけ︖
EC-CUBEを例にみていきます
管理画⾯がある
管理画⾯からはコンテンツを操作できる
コンテンツの中ではPHPが書けたり
(関数が呼び出せたり)する
もちろん悪意ある内容のコンテンツを追加
すれば、それもサイト上に反映される
もちろん悪意ある内容のコンテンツを追加
すれば、それもサイト上に反映される
ここがWebShellを置かれる経路の⼀つになりそう
攻撃の視点から⾒た時にどうやって
悪意あるコンテンツを追加する︖
管理画⾯への直接アクセス
⾊々な設定で管理画⾯へのアクセス制御で防ぐ
(管理画⾯の設定、.htaccess、セキュリティルール等)
コンテンツ追加って必ず攻撃者⾃⾝が
実⾏する必要があるのか︖
権限のあるセッションを使って、コンテンツ追加
の機能を実⾏(リクエストを送信)できること
コンテンツ追加
のリクエスト
管理者権限でログイン中のユーザ
このリクエスト送信の処理を書いた
JSを対象のユーザに読み込ませる
ここでXSSが使われる
コンテンツ追加
のリクエスト
管理者権限でログイン中のユーザ
このリクエスト送信の処理を書いた
JSを対象のユーザに読み込ませる
この3つをやってみる
参考︓https://blogs.jpcert.or.jp/ja/2021/07/water_pamola.html
サイト上でXSSの脆弱性があるという想定で、
悪意のあるscriptタグを設定したページを⽤意
読み込ませるスクリプト(⼀部抜粋)
管理者権限でログインした状態でこのスクリ
プトを読み込むページにアクセスする
新しいコンテンツが追加されている
追加したコンテンツの内容
追加したコンテンツによって任意のコード実⾏ができてしまう
これってEC-CUBEだけで
起こるとは限らない
対策
WordPressの場合
Drupalの場合
モジュールが有効なとき、
コンテンツのフォーマット
でPHPの指定ができる
「CMSが危険、CMSだから起こる問題」
ではなく、「そのサイト上でできること」
をXSS経由で悪⽤されると、他の問題につ
ながっていく可能性があるという話
感じたこと
(普通のサイトでも、例えば管理者権限などから公開領域にファイルのアップロー
ドができるような機能があれば、似たようなことが起こるかもしれない)
対策
•サイト上のコンテンツでのXSS対策(エスケープ処理)
•CMSのアップデート
•使⽤しているプラグイン、モジュールのアップデート
• wp-config.php
• src/Eccube/Twig/Extension/EccubeExtension.php
管理画⾯から、エディター
への操作が無効になる
Twig内でphp関数を
使える「php_」の
拡張が無効になる
運⽤を考えるとこれは⽀障が出る可能性あるかも・・・
余談
サイト上から⾊々できるのは便利︕
...な反⾯、悪⽤できてしまうと、攻撃側にとっても
「⾊々できること」が便利に働いてしまう可能性がある
終

More Related Content

What's hot

例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)Hiroshi Tokumaru
 
PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点 PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点 zaki4649
 
いまさら聞けないパスワードの取り扱い方
いまさら聞けないパスワードの取り扱い方いまさら聞けないパスワードの取り扱い方
いまさら聞けないパスワードの取り扱い方Hiroshi Tokumaru
 
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説するウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説するHiroshi Tokumaru
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?Yoshitaka Kawashima
 
徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティHiroshi Tokumaru
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと増田 亨
 
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発Amazon Web Services Japan
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうRyuji Tsutsui
 
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~Masato Kinugawa
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
Format string Attack
Format string AttackFormat string Attack
Format string Attackicchy
 
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~啓 杉本
 
なぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのかなぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのかSen Ueno
 

What's hot (20)

例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
 
PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点 PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点
 
いまさら聞けないパスワードの取り扱い方
いまさら聞けないパスワードの取り扱い方いまさら聞けないパスワードの取り扱い方
いまさら聞けないパスワードの取り扱い方
 
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説するウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
Glibc malloc internal
Glibc malloc internalGlibc malloc internal
Glibc malloc internal
 
XSS再入門
XSS再入門XSS再入門
XSS再入門
 
徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ徳丸本に載っていないWebアプリケーションセキュリティ
徳丸本に載っていないWebアプリケーションセキュリティ
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
Amazon SageMaker 推論エンドポイントを利用したアプリケーション開発
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
Format string Attack
Format string AttackFormat string Attack
Format string Attack
 
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
 
なぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのかなぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのか
 

Similar to CMSでのXSS to RCEを触ってみた

ざっくり学ぼうあぶないWebアプリの脆弱性
ざっくり学ぼうあぶないWebアプリの脆弱性ざっくり学ぼうあぶないWebアプリの脆弱性
ざっくり学ぼうあぶないWebアプリの脆弱性shuna roo
 
情報セキュリティCAS 第三十六回放送用スライド
情報セキュリティCAS 第三十六回放送用スライド情報セキュリティCAS 第三十六回放送用スライド
情報セキュリティCAS 第三十六回放送用スライドKumasan, LLC.
 
SECCON CTFの取り組み
SECCON CTFの取り組みSECCON CTFの取り組み
SECCON CTFの取り組みKensuke_Nezu
 
chatGPTの驚くべき対話能力.pdf
chatGPTの驚くべき対話能力.pdfchatGPTの驚くべき対話能力.pdf
chatGPTの驚くべき対話能力.pdfYamashitaKatsushi
 
セキュリティ対策は攻撃者視点で考えよう
セキュリティ対策は攻撃者視点で考えようセキュリティ対策は攻撃者視点で考えよう
セキュリティ対策は攻撃者視点で考えようshuna roo
 
保守性の高いアプリケーション設計について
保守性の高いアプリケーション設計について保守性の高いアプリケーション設計について
保守性の高いアプリケーション設計についてTomomitsuKusaba
 
WCAN 2010 Summer Session-1: IA
WCAN 2010 Summer Session-1: IAWCAN 2010 Summer Session-1: IA
WCAN 2010 Summer Session-1: IADaishiro KAGAWA
 

Similar to CMSでのXSS to RCEを触ってみた (7)

ざっくり学ぼうあぶないWebアプリの脆弱性
ざっくり学ぼうあぶないWebアプリの脆弱性ざっくり学ぼうあぶないWebアプリの脆弱性
ざっくり学ぼうあぶないWebアプリの脆弱性
 
情報セキュリティCAS 第三十六回放送用スライド
情報セキュリティCAS 第三十六回放送用スライド情報セキュリティCAS 第三十六回放送用スライド
情報セキュリティCAS 第三十六回放送用スライド
 
SECCON CTFの取り組み
SECCON CTFの取り組みSECCON CTFの取り組み
SECCON CTFの取り組み
 
chatGPTの驚くべき対話能力.pdf
chatGPTの驚くべき対話能力.pdfchatGPTの驚くべき対話能力.pdf
chatGPTの驚くべき対話能力.pdf
 
セキュリティ対策は攻撃者視点で考えよう
セキュリティ対策は攻撃者視点で考えようセキュリティ対策は攻撃者視点で考えよう
セキュリティ対策は攻撃者視点で考えよう
 
保守性の高いアプリケーション設計について
保守性の高いアプリケーション設計について保守性の高いアプリケーション設計について
保守性の高いアプリケーション設計について
 
WCAN 2010 Summer Session-1: IA
WCAN 2010 Summer Session-1: IAWCAN 2010 Summer Session-1: IA
WCAN 2010 Summer Session-1: IA
 

Recently uploaded

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Recently uploaded (9)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

CMSでのXSS to RCEを触ってみた