Submit Search
Upload
Wordpress 権限昇格の脆弱性について
•
3 likes
•
3,251 views
Yu Iwama
Follow
今年2月(2017年)頃に公開され、国内でも被害例を受けたWordpress 4.7.0/4.7.1の脆弱性の検証を行った資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 26
Download now
Download to read offline
Recommended
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
Kentaro Yoshida
Burp Suite 2.0触ってみた
Burp Suite 2.0触ってみた
Yu Iwama
[AWSマイスターシリーズ] Amazon ElastiCache
[AWSマイスターシリーズ] Amazon ElastiCache
Amazon Web Services Japan
jqで極めるシェル芸の話
jqで極めるシェル芸の話
Yoichi Toyota
[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門
Burp Suite Japan User Group
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
Kazuki Takai
XSS再入門
XSS再入門
Hiroshi Tokumaru
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
Recommended
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
Kentaro Yoshida
Burp Suite 2.0触ってみた
Burp Suite 2.0触ってみた
Yu Iwama
[AWSマイスターシリーズ] Amazon ElastiCache
[AWSマイスターシリーズ] Amazon ElastiCache
Amazon Web Services Japan
jqで極めるシェル芸の話
jqで極めるシェル芸の話
Yoichi Toyota
[BurpSuiteJapan]HTTP基礎入門
[BurpSuiteJapan]HTTP基礎入門
Burp Suite Japan User Group
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
Kazuki Takai
XSS再入門
XSS再入門
Hiroshi Tokumaru
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
Amazon Web Services Japan
【GOJAS Meetup-10】Splunk:SmartStoreを使ってみた
【GOJAS Meetup-10】Splunk:SmartStoreを使ってみた
tokita-r
GitLabで始めるDevOps入門
GitLabで始めるDevOps入門
富士通クラウドテクノロジーズ株式会社
Nmapの真実(続)
Nmapの真実(続)
abend_cve_9999_0001
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
JustSystems Corporation
你一定不能不知道的 Markdown 寫作技巧
你一定不能不知道的 Markdown 寫作技巧
Will Huang
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット
Akihiro Suda
Best Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWS
Amazon Web Services Japan
ELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
ELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
Amazon Web Services Japan
WPSCanによるWordPressの脆弱性スキャン
WPSCanによるWordPressの脆弱性スキャン
OWASP Nagoya
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
Kodai Terashima
AWS Black Belt Techシリーズ Amazon EBS
AWS Black Belt Techシリーズ Amazon EBS
Amazon Web Services Japan
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
Shinya Sugiyama
[BurpSuiteJapan]Burp Suite回答編
[BurpSuiteJapan]Burp Suite回答編
Burp Suite Japan User Group
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
Toru Makabe
Serverless時代のJavaについて
Serverless時代のJavaについて
Amazon Web Services Japan
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
NTT DATA Technology & Innovation
AWSからのメール送信
AWSからのメール送信
Amazon Web Services Japan
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP Nagoya
OWASP Nagoya_WordPress_Handson_2
OWASP Nagoya_WordPress_Handson_2
OWASP Nagoya
More Related Content
What's hot
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
Amazon Web Services Japan
【GOJAS Meetup-10】Splunk:SmartStoreを使ってみた
【GOJAS Meetup-10】Splunk:SmartStoreを使ってみた
tokita-r
GitLabで始めるDevOps入門
GitLabで始めるDevOps入門
富士通クラウドテクノロジーズ株式会社
Nmapの真実(続)
Nmapの真実(続)
abend_cve_9999_0001
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
JustSystems Corporation
你一定不能不知道的 Markdown 寫作技巧
你一定不能不知道的 Markdown 寫作技巧
Will Huang
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット
Akihiro Suda
Best Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWS
Amazon Web Services Japan
ELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
ELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
Amazon Web Services Japan
WPSCanによるWordPressの脆弱性スキャン
WPSCanによるWordPressの脆弱性スキャン
OWASP Nagoya
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
Kodai Terashima
AWS Black Belt Techシリーズ Amazon EBS
AWS Black Belt Techシリーズ Amazon EBS
Amazon Web Services Japan
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
Shinya Sugiyama
[BurpSuiteJapan]Burp Suite回答編
[BurpSuiteJapan]Burp Suite回答編
Burp Suite Japan User Group
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
Toru Makabe
Serverless時代のJavaについて
Serverless時代のJavaについて
Amazon Web Services Japan
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
NTT DATA Technology & Innovation
AWSからのメール送信
AWSからのメール送信
Amazon Web Services Japan
What's hot
(20)
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
【GOJAS Meetup-10】Splunk:SmartStoreを使ってみた
【GOJAS Meetup-10】Splunk:SmartStoreを使ってみた
GitLabで始めるDevOps入門
GitLabで始めるDevOps入門
Nmapの真実(続)
Nmapの真実(続)
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
你一定不能不知道的 Markdown 寫作技巧
你一定不能不知道的 Markdown 寫作技巧
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット
Best Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWS
ELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
ELB & CloudWatch & AutoScaling - AWSマイスターシリーズ
WPSCanによるWordPressの脆弱性スキャン
WPSCanによるWordPressの脆弱性スキャン
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
AWS Black Belt Techシリーズ Amazon EBS
AWS Black Belt Techシリーズ Amazon EBS
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
[BurpSuiteJapan]Burp Suite回答編
[BurpSuiteJapan]Burp Suite回答編
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
Serverless時代のJavaについて
Serverless時代のJavaについて
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
Managed Service Provider(MSP)によるマルチOrganizations管理の裏側(Security JAWS 第24回 発表資料)
AWSからのメール送信
AWSからのメール送信
Similar to Wordpress 権限昇格の脆弱性について
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP Nagoya
OWASP Nagoya_WordPress_Handson_2
OWASP Nagoya_WordPress_Handson_2
OWASP Nagoya
Security Learning Vol2 話題の脆弱性をコードで紐解く!
Security Learning Vol2 話題の脆弱性をコードで紐解く!
YOJI WATANABE
20090328
20090328
小野 修司
Wordbench fukuoka
Wordbench fukuoka
Junji Manno
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
Takahiro Kujirai
Robotium を使った UI テスト
Robotium を使った UI テスト
健一 辰濱
20151114 _html5無料セミナー(OSC2015徳島)
20151114 _html5無料セミナー(OSC2015徳島)
Takahiro Kujirai
高速レポート アプリケーション開発
高速レポート アプリケーション開発
Daizen Ikehara
JSer Class #2
JSer Class #2
mizuky fujitani
Development tools for WordPress
Development tools for WordPress
BREN
Similar to Wordpress 権限昇格の脆弱性について
(11)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP Nagoya_WordPress_Handson_2
OWASP Nagoya_WordPress_Handson_2
Security Learning Vol2 話題の脆弱性をコードで紐解く!
Security Learning Vol2 話題の脆弱性をコードで紐解く!
20090328
20090328
Wordbench fukuoka
Wordbench fukuoka
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
Robotium を使った UI テスト
Robotium を使った UI テスト
20151114 _html5無料セミナー(OSC2015徳島)
20151114 _html5無料セミナー(OSC2015徳島)
高速レポート アプリケーション開発
高速レポート アプリケーション開発
JSer Class #2
JSer Class #2
Development tools for WordPress
Development tools for WordPress
More from Yu Iwama
GraphQL入門+診断観点
GraphQL入門+診断観点
Yu Iwama
DVGA writeup
DVGA writeup
Yu Iwama
SSRF基礎
SSRF基礎
Yu Iwama
PHP Object Injection入門
PHP Object Injection入門
Yu Iwama
Docker導入手順
Docker導入手順
Yu Iwama
CVE-2015-8562の脆弱性について
CVE-2015-8562の脆弱性について
Yu Iwama
More from Yu Iwama
(6)
GraphQL入門+診断観点
GraphQL入門+診断観点
DVGA writeup
DVGA writeup
SSRF基礎
SSRF基礎
PHP Object Injection入門
PHP Object Injection入門
Docker導入手順
Docker導入手順
CVE-2015-8562の脆弱性について
CVE-2015-8562の脆弱性について
Recently uploaded
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Recently uploaded
(14)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Wordpress 権限昇格の脆弱性について
1.
WORDPRESS 4.7.0/4.7.1に含まれる 権限昇格の脆弱性検証 資料作成 :
2017/2/7 外部公開 : 2017/7/2 yiwama
2.
はじめに • 今回説明する脆弱性はWordpress4.7.0/4.7.1のみに存在する脆弱 性です。 • 本資料は、作成者の勉強の一環として調査・検証したものになります。 間違った解釈をしている場合は、ご指摘いただければ幸いです。 2
3.
概要 • Wordpressの4.7.0/4.7.1には、REST APIに重大なコンテンツイン ジェクション(権限昇格)の脆弱性が存在します。 •
この脆弱性により、認証されていないユーザがWordpressサイト内 の投稿やページ内容を自由に変更する事が出来ます。 • すでに本脆弱性を悪用する実証コード(PoC)が公開されています。 • JPCERT/CCの報告では、すでに国内の複数のサイトが改ざん被害を 受けています。また、本脆弱性を悪用した改ざん事例も確認されてい ます。
4.
対象と対策 • 対象となるWordpress • この脆弱性はREST
APIが有効になっている4.7.0と4.7.1が対象となりま す。 • REST APIはデフォルトで有効になっているため、変更されていない場合 で上記のバージョンをインストールしている場合は、本脆弱性の対象とな ります。 • 対策 • WordPress を最新のバージョン(4.7.2)に更新してください。
5.
脆弱性の原因 • 今回の権限昇格の脆弱性は、Wordpress 4.7.0から追加され、標準 で有効のREST
API機能が影響しております。 • REST Endpointsは、APIを介してアクセスを許可し、投稿の表示、編 集、削除、作成を行います。 • 本脆弱性は、認証を回避してAPIを操作できてしまう実装ミスに起因 するものです。
6.
脆弱性の原因 • Wordpressの設計では、登録されたルートはIDのパラメータに数字 を入力するようになっています。 • 例)
/wp-json/wp/v2/posts/1234 を送信したい場合は、IDに1234を設 定する。 • また、ルートの値よりも$_GETや$_POSTの値のほうが優先度が高い 管理方法になっています。これにより、攻撃者は以下のようなパラ メータを送る事が考えられます。 • /wp-json/wp/v2/posts/1234?id=12345helloworld
7.
脆弱性の原因 • Wordpressの設計では、ルートはIDのパラメータに数字を入力する ようになっています。 • 例)
ID 1234を送信したい場合は、 /wp-json/wp/v2/posts/1234 を送信する。 利用者 Wordpress 投稿ID 1234の情報ください /wp-json/wp/v2/1234 どぞー。(Json形式) {“id”:1234,”title”:”hello world!”,...} ルートを見て処理
8.
脆弱性の原因 • ただし、getやpostでリクエストで送った場合、ルート情報ではなくGETや POSTで送られたID情報で処理を行います。 そのため$_GETや$_POSTの値の処理のほうが優先度が高くなっている実装 になっています。 利用者 Wordpress 投稿ID
1234の情報ください /wp-json/wp/v2/1234?ID=456 どぞー。(Json形式) {“id”:456,”title”:”I have a pen”,...} ID値を見て処理 ルート情報は無視される
9.
脆弱性の原因 • 送られてきた情報は、update_item_permissions_checkメソッドで、 送られた投稿IDが、実際に存在する投稿なのか、ユーザがこの投稿を編 集する権限を持っているか、どうかチェックします。 利用者 Wordpress 攻撃者 ・指定された投稿ページは編集可能なのか? →可能でない場合は、エラー! ・リクエストしたユーザは編集権限を持っているか? →権限をもっていない場合は、エラー! などをチェック! update_item_permissions_check 投稿ID 123を 編集したい! OK! 投稿ID
123を 編集したい! NOOOOO!!!!! 認証済 未認証
10.
脆弱性の原因 • しかしupdate_item_permissions_checkメソッドは、存在しないコンテ ンツが送られた場合、trueが返されます! • Trueのあとは、update_itemメソッドに処理が移ります。 Wordpress 攻撃者 update_item_permissions_check 投稿ID
123A を編集したい! 投稿ID 123A !? そんなのないよ!!でも処理は通すね。 次の処理の update_itemメソッドへ
11.
脆弱性の原因 • 実際のupdate_item_permissions_checkメソッド 存在しない投稿IDの場合はTrueになってしまう
12.
脆弱性の原因 • 本来であれば、update_itemメソッドに移っても存在しない投稿IDの ため、編集できる投稿がないので処理を終了します。 Wordpress 攻撃者 Update_item 投稿ID 123A
を編集シタイ! 投稿ID 123A・・・? 存在しないから、編集しようがないよ。 Postされた情報を基に、投稿内容を書き換える処 理を行う ソンナ投稿IDノ投稿ページハ アリマセーン!!!
13.
脆弱性の原因 • しかし実際の処理ではUpdate_itemメソッドは、渡されたIDをint型で キャスト(型変換)しています。 • PHPでは型変換の問題により123ABCなどをint型にキャストすると、 int型の123として判定されるため次のget_postに処理が移ってしま い、投稿ID123が書き換わってしまいます。 Wordpress 攻撃者 Update_item 投稿ID
123A を編集シタイ! Postされた情報を基に、投稿内容を書き換える処 理を行う 投稿IDはint型にキャスト 更新シマシタ! (文字列)123A (整数)123 型変換 投稿ID 123を更新します!
14.
脆弱性の原因 • 実際のupdate_itemメソッド Int型に変換している
15.
投稿ID 1abcは存在しないため、認証をスルー 脆弱性の原因 • まとめ •
認証チェックは、存在しない投稿IDを送ることで回避。 • 登録処理では、PHPの型変換を悪用して存在しない投稿IDから存在 する投稿IDに誤認識させて改ざんを行う。 Wordpress 攻撃者 Update_item POST /wp-json/wp/v2/1/?id=1abc Int型にキャストし、1abcは投稿ID1として判定 投稿ID 1を更新 更新シマシタ! update_item_permissions_check ルートは設定されているが、POSTリクエストのため、 POSTで処理
16.
実証検証 • 4.7.1のWordpressを設置し、標準で用意されているページを確認し ます。
17.
実証検証
18.
実証検証 • このサイトに対して、以下のリクエストを送信します。
19.
実証検証 • もう一度、標準ページを確認します。
20.
実証検証
21.
実証検証 • 本文が改ざんされている事が確認できました。 • この脆弱性を悪用すると本文だけでなく、タイトルなども変更すること が可能です。
22.
実証検証 実証コードによる検証 • 実証コードは、Web上で複数公開されております。 •
プログラムに 悪用するサイトのURLを指定します。
23.
実証検証 実証コードによる検証 • 対象サイトでREST
APIが動作している場合、動作しているURLを表示 します。 • 次に改ざん可能な投稿がある場合、投稿ID(Post ID)とタイトル、URL を表示します。
24.
実証検証 実証コードによる検証 • プログラムに
悪用するサイトのURLと改ざんしたい投稿ID(Post ID)、 改ざん内容を引数に渡して実行します。
25.
実証検証 実証コードによる検証 • 改ざんが成功すると
Update complete!と表示され、プログラムは終 了します。
26.
参考情報 • WordPress WordPress
4.7.2 Security Release • https://wordpress.org/news/2017/01/wordpress-4-7-2-security-release/ • Sucuri Content Injection Vulnerability in WordPress • https://blog.sucuri.net/2017/02/content-injection-vulnerability-wordpress-rest-api.html • 独立行政法人情報処理推進機構 (IPA) WordPress の脆弱性対策につ いて • https://www.ipa.go.jp/security/ciadr/vul/20170206-wordpress.html
Download now