Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yu Iwama
PDF, PPTX
3,326 views
Wordpress 権限昇格の脆弱性について
今年2月(2017年)頃に公開され、国内でも被害例を受けたWordpress 4.7.0/4.7.1の脆弱性の検証を行った資料です。
Technology
◦
Related topics:
Information Security
•
Read more
3
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 26
2
/ 26
3
/ 26
4
/ 26
5
/ 26
6
/ 26
7
/ 26
8
/ 26
9
/ 26
10
/ 26
11
/ 26
12
/ 26
13
/ 26
14
/ 26
15
/ 26
16
/ 26
17
/ 26
18
/ 26
19
/ 26
20
/ 26
21
/ 26
22
/ 26
23
/ 26
24
/ 26
25
/ 26
26
/ 26
More Related Content
PDF
REST API のコツ
by
pospome
PDF
ドメイン駆動設計入門
by
増田 亨
KEY
やはりお前らのMVCは間違っている
by
Koichi Tanaka
PPTX
Helidon 概要
by
オラクルエンジニア通信
PDF
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
PDF
今さら聞けないDiとspring
by
土岐 孝平
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
PDF
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
by
Jun-ichi Sakamoto
REST API のコツ
by
pospome
ドメイン駆動設計入門
by
増田 亨
やはりお前らのMVCは間違っている
by
Koichi Tanaka
Helidon 概要
by
オラクルエンジニア通信
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
今さら聞けないDiとspring
by
土岐 孝平
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
by
Jun-ichi Sakamoto
What's hot
PDF
Springを何となく使ってる人が抑えるべきポイント
by
土岐 孝平
PDF
第三回ありえる社内勉強会 「いわががのLombok」
by
yoshiaki iwanaga
PDF
これから始めるSpringのwebアプリケーション
by
土岐 孝平
PPTX
[BurpSuiteJapan]Burp Suite実践編
by
Burp Suite Japan User Group
PDF
RESTful Web アプリの設計レビューの話
by
Takuto Wada
PDF
こんなに使える!今どきのAPIドキュメンテーションツール
by
dcubeio
PPTX
クエリ通知使ってみよう
by
Oda Shinsuke
PDF
Practical migration from JSP to Thymeleaf
by
Toshiki Iga
PDF
入社1年目のプログラミング初心者がSpringを学ぶための手引き
by
土岐 孝平
PPTX
KeycloakでAPI認可に入門する
by
Hitachi, Ltd. OSS Solution Center.
PPTX
Active directoryと認証・認可
by
Hiroki Kamata
PDF
DDD sample code explained in Java
by
増田 亨
PDF
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
by
Koichiro Matsuoka
PDF
O/Rマッパーによるトラブルを未然に防ぐ
by
kwatch
PDF
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
PPTX
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
by
NTT DATA Technology & Innovation
PDF
なぜ「マイクロサービス“化”」が必要なのか
by
Yusuke Suzuki
PDF
JVMのGCアルゴリズムとチューニング
by
佑哉 廣岡
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
by
Shotaro Suzuki
PDF
これからSpringを使う開発者が知っておくべきこと
by
土岐 孝平
Springを何となく使ってる人が抑えるべきポイント
by
土岐 孝平
第三回ありえる社内勉強会 「いわががのLombok」
by
yoshiaki iwanaga
これから始めるSpringのwebアプリケーション
by
土岐 孝平
[BurpSuiteJapan]Burp Suite実践編
by
Burp Suite Japan User Group
RESTful Web アプリの設計レビューの話
by
Takuto Wada
こんなに使える!今どきのAPIドキュメンテーションツール
by
dcubeio
クエリ通知使ってみよう
by
Oda Shinsuke
Practical migration from JSP to Thymeleaf
by
Toshiki Iga
入社1年目のプログラミング初心者がSpringを学ぶための手引き
by
土岐 孝平
KeycloakでAPI認可に入門する
by
Hitachi, Ltd. OSS Solution Center.
Active directoryと認証・認可
by
Hiroki Kamata
DDD sample code explained in Java
by
増田 亨
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
by
Koichiro Matsuoka
O/Rマッパーによるトラブルを未然に防ぐ
by
kwatch
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
by
NTT DATA Technology & Innovation
なぜ「マイクロサービス“化”」が必要なのか
by
Yusuke Suzuki
JVMのGCアルゴリズムとチューニング
by
佑哉 廣岡
Application development with c#, .net 6, blazor web assembly, asp.net web api...
by
Shotaro Suzuki
これからSpringを使う開発者が知っておくべきこと
by
土岐 孝平
Similar to Wordpress 権限昇格の脆弱性について
PPTX
Security Learning Vol2 話題の脆弱性をコードで紐解く!
by
YOJI WATANABE
PDF
WPSCanによるWordPressの脆弱性スキャン
by
OWASP Nagoya
PPTX
2017/02/18_第5回WordBench山口_LT
by
Takeshi Furusato
PDF
Word benchfukuoka
by
Junji Manno
PPTX
デバッガでWordPress本体やプラグインの脆弱性を追いかけてみよう
by
Hiroshi Tokumaru
PDF
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
by
OWASP Nagoya
PPTX
Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
by
Hiroshi Tokumaru
PPTX
勉強会 wp470の脆弱性について-
by
深澤 俊
PDF
WordPressの権限・承認フロー
by
Yuusuke Yoshida
Security Learning Vol2 話題の脆弱性をコードで紐解く!
by
YOJI WATANABE
WPSCanによるWordPressの脆弱性スキャン
by
OWASP Nagoya
2017/02/18_第5回WordBench山口_LT
by
Takeshi Furusato
Word benchfukuoka
by
Junji Manno
デバッガでWordPress本体やプラグインの脆弱性を追いかけてみよう
by
Hiroshi Tokumaru
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
by
OWASP Nagoya
Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
by
Hiroshi Tokumaru
勉強会 wp470の脆弱性について-
by
深澤 俊
WordPressの権限・承認フロー
by
Yuusuke Yoshida
More from Yu Iwama
PDF
GraphQL入門+診断観点
by
Yu Iwama
PDF
DVGA writeup
by
Yu Iwama
PDF
SSRF基礎
by
Yu Iwama
PPTX
PHP Object Injection入門
by
Yu Iwama
PDF
Docker導入手順
by
Yu Iwama
PDF
Burp Suite 2.0触ってみた
by
Yu Iwama
PDF
CVE-2015-8562の脆弱性について
by
Yu Iwama
GraphQL入門+診断観点
by
Yu Iwama
DVGA writeup
by
Yu Iwama
SSRF基礎
by
Yu Iwama
PHP Object Injection入門
by
Yu Iwama
Docker導入手順
by
Yu Iwama
Burp Suite 2.0触ってみた
by
Yu Iwama
CVE-2015-8562の脆弱性について
by
Yu Iwama
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