質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

Q&A

解決済

3回答

1936閲覧

他サイトの画像をimgタグで表示することの脆弱性

rwef

総合スコア4

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

0グッド

2クリップ

投稿2021/05/27 09:48

編集2021/05/27 09:49

他サイトの画像を直接自サイトにIMGタグで読み込み表示する事に脆弱性はありますでしょうか?
こちらのサーバー情報がバレる等や、画像ファイルをすり替えられた場合によるファイル読込における危険性等あれば教えてください

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/05/27 09:57

「相手に迷惑かける」という観点はないのでしょうか。
rwef

2021/05/27 10:14

そのような野暮な難癖はお控え下さい
maisumakun

2021/05/27 10:39

> そのような野暮な難癖はお控え下さい 「著作権侵害でふっかけられて、もしくは訴えられてもいい」覚悟はありますか?
rwef

2021/05/27 10:41

私の言う野暮な難癖というのは 「そんなことはわかってるんですけどね」という意味です
rwef

2021/05/27 10:42

本件に追記するべきだったかもしれませんね サムネイル画像 og:imageの部分です サイトのアイコンであれば、普通にサイトの宣伝にもなると思いますけどね 訴えられることもありうるでしょうけど
m.ts10806

2021/05/27 10:44 編集

>「そんなことはわかってるんですけどね」という意味です 質問内容になければ誰もそんなことは分かりません。 読むのは赤の他人です。 それにコメント見てたら分かってるように思えません。 「いいじゃん別に」というのが見え隠れしてます。 それで訴えられても自分が損するだけです。
m.ts10806

2021/05/27 10:44

質問編集して追記すればいいのでは? >サイトのアイコンであれば、普通にサイトの宣伝にもなると思いますけどね それはあなたの勝手な解釈では?
rwef

2021/05/27 10:44

まぁ、仮に訴えられたとしたらしたで対処するだけの話です
rwef

2021/05/27 10:46

もし著作権うんぬんでアウトであるならば、 Twitterがサムネイル画像を自サーバーに保存して加工してるのもアウトですな
m.ts10806

2021/05/27 10:46

かなーり甘いですね。こんな質問してしまうのも納得です。
rwef

2021/05/27 10:47

何がいいたいんでしょう 難癖つけたいんでしょうか
m.ts10806

2021/05/27 10:52

不正行為に近しいことを世界に発信している意識がないのなら 「自分のことを棚に上げている」と指摘しておきます。
rwef

2021/05/27 10:52

Twitterも不正行為ですか?
m.ts10806

2021/05/27 11:24

勝算と確証があるなら試しに訴えてみては?
rwef

2021/05/27 11:24

はい?Twitterが不正なのか答えてください
m.ts10806

2021/05/27 11:25

「Twitterみたいな大手がやってるんだから俺も近いことやっていい」というなら大間違いです。個人なら尚更。裏側でどうなってるかまで知ってるわけじゃないのに手を出すのは危険です。 そうですね。危険性があるのはあなたの考え方そのものです。
rwef

2021/05/27 11:26

tmsw氏はTwitterはサムネイル画像を自サーバーに保存して加工したのち公開しているとおっしゃってますよ これは著作権違反じゃないと?
rwef

2021/05/27 11:27

いやいや、大手がやってることは見て見ぬフリですか? 個人の私に口を出すなら猛抗議でもしたらどうですか? あなたは正義感強いんですわな?
maisumakun

2021/05/27 11:30 編集

わざわざ上げる or ページ作成者が意図してOGPとして設定した画像を設定者の意図に沿って利用するのと、勝手な画像を直リンクするのでは、全く話が違ってきます。
rwef

2021/05/27 11:30

はっきり仰ってください、それによってどこの馬の骨かもわからん人間の評価が下がるも糞もないでしょう Twitterは不正サイトですか 答えて下さい
rwef

2021/05/27 11:31

>わざわざ上げる or ページ作成者が意図してOGPとして設定した画像を設定者の意図に沿って利用するのと、勝手な画像を直リンクするのでは、全く話が違ってきます。 私の書き込みを見たあとも、批判してたじゃないっすか
maisumakun

2021/05/27 11:32

すみません、「他人のサイトの画像を自分のOGPに使う」と読んでいました。
guest

回答3

0

ベストアンサー

提示された条件で、画像を参照しているページに対して「どこまで悪いことができるか」はウェブセキュリティの良い練習問題になると思います。
実は、ブラウザの種類とバージョンで「できること」が変わりますが、ここではIE11ではできると想定して説明します。他のブラウザではできないことも含まれます。
画像は下記の形で表示され、example.comに悪意がある想定です。

<img src="https://example.com/foo.png">

このタグが置かれているページは下記のURLであるとします。

http://example.jp/bar.html?pid=834920483920

(1) ユーザートラッキング
foo.pngが実はPHPなどのスクリプトである場合、クッキーを出力してユーザートラッキングができます。ユーザーの氏名など個人情報までは分かりません(*1)が、匿名のユーザーAが当該のページをいつ、何回訪問したなどを取得することができます。複数ページでこの画像を表示している場合は、どの順序で訪問しているかもわかります。
ブラウザ側でサードパーティクッキーが禁止されている場合、クッキーによるトラッキングはできませんが、IPアドレスは必ず取得できるので、IPアドレスによるトラッキングは可能です。

注(*1) 同じユーザーがhttps://example.com/ のユーザーで、そちらで個人情報を入力していれば、両サイトのアクセスが紐付けされて、サイト閲覧したユーザーの氏名などがexample.com側で判明する場合はありえます。

(2)RefererヘッダによるURL漏洩
IEの場合、Refererヘッダを通じて http://example.jp/bar.html?pid=834920483920 というURLがexample.comに漏洩します。pidが変化する場合は、アクセス時のpidが漏洩します。ただし、IE以外のモダンなブラウザの最新版を使っている場合は、デフォルト設定では http://example.jp/ のみが漏洩します。これはプライバシーに配慮してブラウザのデフォルト設定が最近かわったためです。

(3)ブラウザの脆弱性をつく攻撃
imgタグでは画像の表示のみができますが、ファイルの拡張子がpngであっても、ブラウザが表示可能な範囲で他の画像形式、例えばJPEG、GIF、WebP、JPEG 2000、JPEG-XRなども表示可能です。これらの画像形式をブラウザで処理する箇所に脆弱性があれば、その脆弱性を悪用する画像を配置することができます。画像表示の脆弱性はあまりないことですが、将来発見される可能性はあり、マイナーな画像形式であれば可能性は少し高くなると思います。

後は、権利上の問題や画像の差し替えなどは既に指摘されているとおりです。

投稿2021/05/27 11:33

編集2021/05/27 11:37
ockeghem

総合スコア11705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rwef

2021/05/27 11:49

拡張子が画像形式であるのにも関わらず、プログラム的なものが実行できるのは、拡張子偽装してるということですか? .jpgだと仮定した場合にブラウザからアクセスしてプログラムを動かせる穴は未だに存在してるんですか?
rwef

2021/05/27 11:51

最近知りましたがIMGタグにreferrerpolicy="no-referrer"というプロパティを与えれば参照元の照会は回避できるとみていいですか?
rwef

2021/05/27 12:00

なんにせよ画像ファイルを読み込んだつもりが意図しないプログラムを読むことになってる場合以外は問題ないということでよろしいでしょうか 現代のセキュリティで、ありうるのか、一昔前の話なのかは謎ですが
rwef

2021/05/27 12:00

ないとはいえないといわれたら 正直困りますよね 他サイトの画像を直リンできなくなります
ockeghem

2021/05/27 12:00

拡張子がpngなのにPHPスクリプトとして実行されるようにするには設定で可能です。PHPの公式にもその方法が紹介されています。「拡張子偽装」という感じではありませんね。 https://www.php.net/manual/ja/security.hiding.php
rwef

2021/05/27 12:01

直リンという考え方は誤りだと認識すればよろしいでしょうか 自サーバーに保存してから が全てですか?
ockeghem

2021/05/27 12:02

こういう脅威があるということであって、それが問題になるかはサイト次第です。 それと、あくまでテクニカルな話であって、直リンクをしてよいかどうかはまた別の問題です。
ockeghem

2021/05/27 12:03

IE11では起こると明記していますので、一応現役の問題です。クッキーによる問題はFirefox等でも可能です。
rwef

2021/05/27 12:07

>拡張子がpngなのにPHPスクリプトとして実行されるようにするには設定で可能です。PHPの公式にもその方法が紹介されています。「拡張子偽装」という感じではありませんね。 しかし別ドメインだった場合、致命的な問題は発生しないと考えていいですか?
ockeghem

2021/05/27 12:09

「起こり得ること」は既に書きましたので、それが「致命的」かどうかはご自身で判断してください。
rwef

2021/05/27 12:13

了解です クッキーやら、IPやらは取得はできても サーバーへの直接的なダメージは与えられないとみました(作りがへぼかったら終わるという認識です) どうもありがとうございました
ockeghem

2021/05/27 12:15

一言でいうと、あなたのウェブサーバーが被害にあうことはありません(あくまで「サーバー」ですが)が、あなたのサイトの利用者が被害にあうことはあり得る、ということです。
rwef

2021/05/27 12:21

バックドアとか仕組まれたりしなければ、いいです 上記の問題でバックドアが仕組まれることはありませんよね?
rwef

2021/05/27 12:22

ある意味でバックドアなのか?かもしれませんが
rwef

2021/05/27 12:26

回答は出てました すみません これにて解決とさせていただきます
asm

2021/05/27 12:29

gzip bombによるブラウザクラッシュも可能かもしれません。 gzip + pngの2重inflateなども
ockeghem

2021/05/27 12:36

はい、確かにそうですね。
guest

0

こちらのサーバー情報がバレる等や、画像ファイルをすり替えられた場合によるファイル読込における危険性等あれば教えてください

外部サイトからのアクセスの場合だけ、画像を全く別なものに差し替えることも可能です

投稿2021/05/27 10:30

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/05/27 10:35 編集

う○この画像とか、「無断転載していますよ」という告知画像が表示されれば、(内容にもよりますが)サイトの信用は失墜することでしょう。
rwef

2021/05/27 10:37

私はサムネイルをURLから抽出して画像ファイルとして出力するのが目的でした この場合サーバーに1度保存をかけて出力という流れになりますか
rwef

2021/05/27 10:39

サーバーに保存をかけると容量食うので他のサイトはどうしてるのかと考えたところです 直リンが安全であればそれが楽でいいのです
maisumakun

2021/05/27 10:46

> 直リンが安全であればそれが楽でいいのです この回答すら読んでいないのですか?
rwef

2021/05/27 10:48

あなたの回答は、安全かどうかではなく 画像の差し替えで恥かきますよって話ですよね? それでしたら許容範囲です
maisumakun

2021/05/27 10:49

まっとうなサイトを作っていないということがわかりましたので、これ以上コメントすることはありません。
maisumakun

2021/05/27 10:51 編集

> 安全かどうかではなく画像の差し替えで恥かきますよって話ですよね? ビジネスで行っているサイトでは、信用を失墜すれば致命的な結果になりかねません。じゅうぶん「リスク」たりうるものです。
rwef

2021/05/27 10:51

誰もビジネスでやってるなんていってませんのでご安心下さいませ
maisumakun

2021/05/27 10:53

> あなたからこんな低レベルな回答があると思いませんでした まさか、直リンクで差し替えられるのすら許容できるほどの低レベルなサイトを作っているとは思わなかったので、このような回答となりました。
guest

0

過去に悪意のあるコードを埋め込ませていたという事例がいくらでもありますから、
意図しない動作を自分だけでなくユーザーにまでさせてしまう恐れは十分にあると考えます。

ただ、それ以前に直リンされてるサーバが普通に迷惑だと思いますので、やってやろうなんて思わないようにしてくださいね。

投稿2021/05/27 10:05

編集2021/05/27 10:06
tmsw

総合スコア97

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rwef

2021/05/27 10:08

例えばツイッターなんかですとURLを張るとサムネイル画像とサイト情報が出てくると思うのですが、 これは安全なのですか?
rwef

2021/05/27 10:09

サムネイル画像は一度サーバーに保存してから、出力してるんでしょうか
tmsw

2021/05/27 10:16 編集

つい最近話題になってましたが完全に安全とは言い切れないです。 が、データの容量に上限があり、それを超えるとTwitterの写真は自動に変換され、その容量が低いために悪意のあるコードが埋め込まれていたなどと言う報告は現時点では上がってないはずです。 https://github.com/DavidBuchanan314/tweetable-polyglot-png サムネイルについては心配ありません。 画像を一度トリミングしてる時点でコードが埋め込まれたとしても壊れてます。
tmsw

2021/05/27 10:18

>サムネイル画像は一度サーバーに保存してから、出力してるんでしょうか 保存しないと何もできません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問