Search Result: javascript

今年読まれた人気記事トップ10+10

…バンク端末60機種のJavaScriptを検証したか ページビュー数では、1.の「Apache killerは危険〜Apache killerを評価する上での注意〜」がぶっちぎりでした。Apache Killerへの関心の高さが伺われますね。 2位の、PHP5.3.7のcrypt関数バグも大きな話題となりました。この問題への態度を観察していると、PHPerよりも他のクラスタの方が騒いでいる印象を受けました。なんというか、「真のPHPerはこの程度の問題では動じないのだ」という…

PHPのイタい入門書を読んでAjaxのXSSについて検討した(3)〜JSON等の想定外読み出しによる攻撃〜

…、JSONに仕込んだJavaScript等を表示・実行させることによるクロスサイト・スクリプティング(XSS)です。 この攻撃が成立するにはいくつかの条件があります。 ブラウザからの直接リクエストを受け付けること レスポンスがブラウザによりtext/htmlと解釈されること レスポンス中にJavaScript等で攻撃文字列を書き込めること 前回のエントリで私が *勝手に* 手直したrevxmasjson.phpはこれらの性質を満足します。以下に、主要部分を再掲します。 $ro…

PHPのイタい入門書を読んでAjaxのXSSについて検討した(2)〜evalインジェクション〜

…返します。ブラウザ側JavaScriptでは、データ形式をデコードして、さまざまな処理の後、HTMLとして表示します。以下に、Ajaxのリクエストがサーバーに届いた後の処理の流れを説明します。 サーバー側でデータを作成、取得 データ伝送用の形式(XML、JSON、タブ区切り文字列等)にエンコード HTTPレスポンスとして返す(5) ブラウザ側で、受け取ったデータをデコードして変数に代入する ブラウザ側処理 HTMLレンダリングして表示 前回は、FのHTMLレンダリングの際のX…

PHPのイタい入門書を読んでAjaxのXSSについて検討した(1)

…(1)でHTML5とJavaScriptによる画面がブラウザに表示されます。画面からは、XMLHttpRequest(jQeuryによる実装)によりPHP記述のAPIを呼び出し(2)、MySQLのクエリー(3, 4)の結果を返します(5)。受け取った結果は、DOMを用いて表示されます(jQueryによる実装)。基本的なAjaxアプリケーションの構成を押さえたものであり、意欲的な構成ですね。 今回は、まず基本的な画面表示のXSSを紹介します。 画面表示箇所(DOM)のXSS対策…

私はいかにしてソフトバンク端末60機種のJavaScriptを検証したか

…ソフトバンクの非公式JavaScript対応の調査結果 | 徳丸浩の日記で報告したように、昨年5月に、ソフトバンク60機種の検証を行い、JavaScript対応の状況などを調査しました。当時はまだ公式なJavaScript対応機種はない状態でしたが、既にほとんどの端末が *非公式に* JavaScriptに対応していました。 このエントリでは、検証の様子を報告します。 なぜJavaScript対応状況を調査したか http://www.hash-c.co.jp/info/20…

EZwebの2011年秋冬モデル以降の変更内容とセキュリティ上の注意点

…ケータイブラウザにはJavaScript機能が搭載されており、DNSリバインディングによる成りすましなどのリスクが生じていました。一方、KDDIの端末のみはJavaScript機能が提供されておらず、結果的にセキュリティ上のリスクも低い状態でした。 2011年秋冬モデルでもEZブラウザにJavaScript機能が搭載される予定はないようですが、JavaScript機能があるPCサイトビューアのIPアドレスが統一されることで、結果として、事業者ゲートウェイを経由する端末の中に、…

iモードブラウザ2.0のJavaScriptではiframe内のコンテンツを読み出せない

…me内のコンテンツがJavaScriptにより読み出せないよう制限が掛かっていることを確認しましたので報告します。 【追記】元の内容には、重大な事実誤認がありました。正確には、同一ドメイン・同一ディレクトリであれば読み出せます。詳しくは追記2をご覧ください。 きっかけ ケータイtwitter(twtr.jp)においてDNS Rebinding攻撃に対する脆弱性を発見・通報し、即座に修正された - 徳丸浩の日記(2010-02-22)にて既に紹介したように、twitter.co…

オレ標準JavaScript勉強会発表資料

Loading...での発表に用いた資料です。 お役に立つかどうかは心許ないのですが、ドキュメントの一部を希望されていた方もおられましたので、slideshareで公開します。ガラケーで楽しむオレJSの勧めView more presentations from Hiroshi Tokumaru.

携帯電話事業者に学ぶ「XSS対策」

…わゆるガラケー)にてJavaScriptの対応を始めています。JavaScriptに対応すると、クロスサイト・スクリプティング(XSS)脆弱性の懸念が高まりますが、両社は独自の手法によりXSS対策をしている(しようとしている)挙動が観測されましたので報告します。この内容は、オレ標準JavaScript勉強会でネタとして使ったものです。NTTドコモに学ぶ「XSS対策」まず、サンプルとして以下のようなXSS脆弱なスクリプトを用意します。 <?php session_start()…

本を書くことになりました&レビュアー募集のお知らせ

…C#/VB.NET、JavaScript、SQL)のエキスパートとしての指摘 その他、説明や構成に対するアドバイスなど 当方からの謝礼としては以下を予定しています 本の中での謝辞(本名またはハンドル) 献本 打ち上げへのご招待(費用は当方が負担します) 以下の条件を承諾していただけることが前提です。 いただいた指摘やアドバイスは真剣に検討致しますが、採用するとは限りません ご意見を採用する・しない、採用後の表現は、最終的には徳丸が決定します 具体的な修正案を盛り込んだ場合、著…

“完璧なWAF”に学ぶWAFの防御戦略

…<IMG SRC="javascript:alert('XSS');"><IMG SRC=javascript:alert('XSS')><IMG SRC=JaVaScRiPt:alert('XSS')><IMG SRC=javascript:alert(&quot;XSS&quot;)><IMG SRC=`javascript:alert("RSnake says, 'XSS'")`><IMG """><SCRIPT>alert("XSS")</SCRIPT>"><IMG …

新党のホームページを見てメールアドレスのチェック方法について考えた

…ドレスのチェック用のJavaScriptが気になった。以下に引用する。 if (!node.match(/^[A-Za-z0-9]+[\w-]+@[\w\.-]+\.\w{2,}$/)){ alert("e-mailアドレスをご確認ください。"); return false; } https://www.tachiagare.jp/mail.php メールアドレスをチェックするための正規表現は、ネット上でたびたび問題視される定番ネタだか、その論点は、RFC(RFC2822やR…

P-07AでもJavaScriptが再開され、あらたな制限がみつかった

…ードブラウザ2.0のJavaScript機能が5/28に停止されていたが、本日ケータイアップデートが準備されたので、深夜3時まで待たずに即座にアップデートを実行した。そして、JavaScriptが復活していることを確認した。 iモードブラウザ2.0のJavaScript « mpw.jp管理人のBlogで報告されているように、alert関数や、setRequestHeaderメソッドが無効化されていることを確認した。関数自体は削除されていないのだが、実行しても何もおこらない状…

ケータイWebセキュリティとWAFのセミナーにて講演します

…リティの検討: 携帯JavaScriptとXSSの組み合わせによる「かんたんログイン」なりすましの可能性 - 徳丸浩の日記(2009-08-05)にてケータイJavaScriptの危険性を報告しましたが、そんな中、いよいよiモードブラウザ2.0のJavaScript機能が再公開されるとの発表がありました(NTTドコモの報道発表資料)。一方で、はてなブックマークのモバイル版で発生したセキュリティ事件・事故にみられるように、ケータイWebサイトのセキュリティ事件・事故も増加の兆し…

i-mode2.0は前途多難

…様が大幅に拡張され、JavaScript、Cookie、Refererに対応するようになった。これら仕様変更はセキュリティの面からも影響が大きいため、私は夏モデルの中から、P-07Aを発売開始日(5月22日)に購入した。そして、リリースどおりJavaScript、Cookie、Refererが動作することを、実機にて確認した。 ところが、P-07Aと同日に発売開始されたN-06Aは、その日のうちに一時販売停止のお知らせが出る。 この度、弊社の携帯電話「N-06A」において、i…

Google様がやってくださいました

オブジェクト指向プログラム言語としてのJavaScriptのログからたまたま見かけました。 本物はこちら うわぁ、なんかすごく立派なコンテンツみたいだけど、古いだけがとりえのサイトなんですぅ。ごめんなさい。ごめんなさい。 分かりやすいという感想を持っていただける方もおられるので残していますが、情報古いので、まぁ、参考程度に見ていただければと。

書籍『Ajaxセキュリティ』に関する残念なお知らせ

…はHTML/XML/JavaScript(JSON)/SQLなどのエスケープが説明されていないようだ。これでは,そもそも特殊記号を含む文字列の正しい処理ができない。 また,「解決策は,ホワイトリストパターンの改良を続けることです」という説明もおかしい。ホワイトリストの許容範囲を広げていくと,現実にはホワイトリストではなく,どんどん「グレーリスト」になってしまうのだ。その典型が,「使用が許されるアポストロフィの個数を制限する」という説明だ。SQLインジェクションはアポストロフィ…

「なぜPHPアプリにセキュリティホールが多いのか?」のセキュリティホール

…修正がなされていた。 alert("1234表\" + "さんは" + "悪意のあるデータ …… しかし、この「悪意のあるデータ」は実行されない。「表」の後の「\"」がダブルクォートをエスケープしたものとなるが、その後の「"」で文字列リテラルが終端され、「さんは」以降がJavaScriptの式として認識されるが、このような構文はないので、JavaScriptのシンタックスエラーになるからだ。「せめてチェックしてから公開しましょう」という忠告は、聞いてもらえてないようで残念だ。

SQLインジェクションにより改ざんされたがXSS対策はとられていた

…RIPT要素を埋め込まれたものの、XSS対策がとられていたので、JavaScriptの実行はされない状態で表示されているのだと思います。 第5回 クロスサイト・スクリプティング対策も忘れずに | 日経 xTECH(クロステック)で書いたように、SQLインジェクションによるマルウェア埋め込み対策として、XSS対策も怠らないようにと書いたばかりですが、(たまたまでしょうが)それを実証するような画面を見かけましたので報告します。 なお、改ざんされたサイトはIPA経由で届け出ました。

ページビューランキングTOP10(2008年6月)

…・」は古い記事だが根強く需要があるらしい。これについては「携帯 セッション」のようなGoogle検索からこのコンテンツに到着しているようだ。 6位の「ループやswitch以外の・・・」はネタ的な内容だが多くのアクセスを頂いている。こちらは、「JavaScript break」というキーワードでGoogleの3位になっていることが理由のようだ。なんか申し訳ない気持ちがしてくる。tokumaru.orgはJavaScriptのコンテンツが多いので、SEO的に有利なのかもしれない。

Making PL/0(その1)

…(徳丸浩)の日記で、JavaScript記述のPL/0を紹介したが、その開発過程を少し紹介してみたいと思う。 私の開発スタイルはどういうネーミングをしたらよいのか分からないが、ここ20年くらい、以下のような泥縄的なプロセスでやっている。つまり必要なものから作っていくということだ。開発の途中経過を残していなかったので、記憶や、ゴミ箱から回収したファイルを元に再現したものを示そう*1。JavaScriptでPL/0を作ろうと思い立って、最初に作ったものはおおよそ以下のような字句読…

わーい \(^o^)/ PL/0を JS で書いたよー!

最近、JavaScriptで小さな処理系を書くのが流行っているらしい。 45歳を過ぎた私もやってみたいと思い、昔とった杵柄で、PL/0の処理系をJavaScriptで書いてみた。こちらをどうぞ。amachangみたいに4時間というわけにはいかなくて、動き出すには6時間くらい(何日かに小分けにしたので)かかったと思う。PL/0については、Wikipediaの解説が詳しい。この実装の特徴としては、 教科書的な降下型パーサ(1トークン先読み) 簡単なPコードインタプリタでの実行(こ…

画像XSSの原理と対策をまとめました

…類を判別する際に、レスポンスヘッダ内のContent-Typeだけでなく、コンテンツの内容も判断基準にしている。このため、Content-Typeが例えばimage/gif(GIF画像)となっていても、中身がHTMLであればHTMLと解釈して表示する。このため、JavaScriptが埋め込まれていたら、JavaScriptを実行することになる。 続きはこちら(徳丸浩の日記 - イメージファイトのまとめ - 画像ファイルによるクロスサイト・スクリプティング(XSS)傾向と対策)

クイズ:XSSとCSRFはどこにありますか?

…ように、表示画面上でJavaScriptを表示するように、外部から「攻撃用JavaScript」を含むパラメータを送り込んでやる。確認画面がGETメソッドを許容している場合は、単にURL上にJavaScriptを挿入してやればよいが、POSTのみ許容する場合は、図のようにワナのページを用意してそこかJavaScriptでPOSTしてやる必要がある。といっても、この部分は見えないIFRAMEにすることなどで、閲覧者に気づかれないように仕組むことは容易だ。典型的なケースでは、「攻…

XSSはブラウザ上でスクリプトが動き、CSRFはサーバー上でスクリプトが動く

…悪いことは、すなわちJavaScriptでできることであって、攻撃対象のCookieを盗み出すことが典型例となる。一方、CSRFでできる悪いことは、サーバー上でスクリプトを動かすことである。サーバー上のスクリプトはあらかじめサイトに用意されたものであるので、実際には任意のスクリプトが動かせるわけではなく、パラメータによって「悪いこと」を実現する。実行結果を攻撃者書が見ることは出来ない。 これだけでは少々分かりにくい。具体例を提示しよう。 ここに架空の人物、danとhamach…

XSS対策:JavaScriptのエスケープ(その4)

XSS対策:JavaScriptのエスケープ(その3) - ockeghem(徳丸浩)の日記にて、JavaScriptのリテラルを動的生成する場合のエスケープ方法について検討したが、id:hoshikuzuさんから、考慮がもれているという指摘を受けた(http://d.hatena.ne.jp/hoshikuzu/20071011#p1:TITLE=2007-10-11 - hoshikuzu | star_dust の書斎 - JavaScriptエスケープについて論考)。…

E4X、連想配列とプロパティ、Object.evalメソッド

… まず目につくのは、JavaScript(ECMAScript)のスクリプト中にXML形式でオブジェクト・リテラルを記述できるE4X(ECMAScript for XML)という機能です(FireFox1.5以降で対応)。これは、例えば以下のように使います。 var order = <order> <name>Webアプリケーションのセキュリティ完全対策</name> <author>徳丸浩他</author> <price>3990</price> <ISBN>482222…

[セキュリティ]MS07-057によりPNG画像のXSS問題は回避されたようです

はせがわさん id:hasegawayosuke 経由 詳しくは、JavaScriptを埋め込んだ画像を作ってみました | 徳丸浩の日記(追記)を参照ください。

SKUF勉強会で講師を担当することになりました

…twitter.com/ockeghem) (^O^) などでお寄せください。ただし、リクエストに応じられるとは限りません(能力、守秘義務などで)ので予めご承知置きください(_ _) ケータイの話というのは告知済みですので、JavaScriptとかは駄目だと思います:-) 日付:2007年9月29日(土) 時間:13時30分〜16時45分(受付開始:13時00分〜) 場所:新橋区民会館 http://skuf.s-lines.net/hiki/?SKUF+Meeting#l0

SANS:いよいよ明日(今日)にせまってまいりました

…しなければと思っております。昨日までは、Ajax/JSON/JSONPの話でもしようかと思っていたのですが、なんか出来心でアップしたJavaScriptを埋め込んだ画像を作ってみましたの関心が高いようですので、XSS対策のマニアックネタにしましょうかね。「PNG画像に対するJavaScriptの効率的な埋め込み方」とか \(^O^)/・・・でも主題は対策の話です。それではまた明日。PS. 45分では対策の各論までは十分説明できませんので、あらかじめご承知おきください(_ _)