id:hoshikuzu さんが言ってたので書いてみた。こんな感じ↓。コードはすぐ書けたけど、この記事書くのに30分以上かかってる気がする。 javascript:(~~[])[<_>{/...$/({})[~~[]][~~[]]}{/../({})[~~[]][1]}{/...$/({}[{}])[ ~~[]][~~[]]}{/..$/(!{})[~~[]][~~[]]}{/./(!![])[~~[]][~~[]]}{/...$/(!![])[~~[]][ ~~[]]}{/..$/(!![])[~~[]][~~[]]}{/...$/({})[~~[]][~~[]]}{/./(!![])[~~[]][~~[]]}{ /../({})[~~[]][~~!![]]}{/...$/(!![])[~~[]][~~[]]}</_>][<_>{/...$/({})[~~[]][~~[] ]}{/../
<IFRAME name="StatPage" src="http://iner●kz/index2.php" width=5 height=5 style="display:none"> もう検索しようがないですねぇ……同様の改竄と思われるのが Bingのキャッシュ(見るときはブラウザのJavaScriptを切ってから) http://cc.bingj.com/cache.aspx?q=script+code1+try&d=4586565574853043&mkt=ja-JP&setlang=ja-JP&w=415a73d1,318f0160 で見られます。 他にも www.fitweb.or●jp/~yujima/ (Firefox3以降だと夕方ブロックされるようになりました) Bingのキャッシュ(見るときはブラウザのJavaScriptを切ってから) http://cc.bingj
JSが少しできる人ならうじうじ考えるほどのこともでもない! 何も難しいことはない!ぶっとんぢまいなよ!ヒャッパー!!! というノリでAjaxを学んでみました。醜いです。 Ajax入門 Ajaxはいろいろできるんだぜ! 以上入門終り!キミは完璧だ!次いけ! Ajaxは非同期通信だかなんだかそんなもんはどうでもいいんだ! どうでもいい!そんなことよりもXMLHttpRequestオブジェクト生成! var request = false; if(window.XMLHttpRequest) { request = new XMLHttpRequest(); //frefox ie7,8 safai opera } else if(window.ActiveXObject) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); // ie6
先日のソフトウェアアップデートで、iモードブラウザ2.0のJavaScriptが再び有効化されました。そして、mpw.jpでもiモードブラウザ2.0のJavaScriptに関して調査・検討を始めました。 まだその途上ではありますが、これまでに気づいたことを記述したいと思います。 XMLHttpRequestオブジェクトのsetRequestHeaderメソッドの無効化 X-DCMGUID、Host、User-Agent、Referrerなど、偽装されるとiモードのチープなセキュリティモデルを根幹から崩してしまうものだけを無効化するのではなく、setRequestHeaderメソッド自体が無効化され、JavaScriptからは全くヘッダを付加&変更することが出来ないように変更されているようです。 alertメソッドの無効化 alertメソッドが無効化されていました。 alertメソッドがXS
続きです。Firefoxにおいては、注入するスクリプト断片に「()」を含まないようにしながら関数の実行が可能です。まず簡単のために、詰めXSS出題時に比べて制限をゆるめてみます。とりあえずalert(1)をしてみようとするものです。 <script> a setter = alert a = 1 </script> 上記でalert(1)が実行されます。この記法は、Firefoxの初期の実装でして、setter や getter の古い書き方です。また、既に廃止予定の記述方法です。近い将来無効になるかもしれません。 さて、さらに、location.hashがスクリプト注入時のペイロードになっているケースを想定してみましょう。Firefox3.0.11 で確認済みです。 <script> u setter = unescape e setter = eval e = u = location
たとえば以下のように、script要素の中に第三者の記述(=$userdata)が埋め込まれるとします。 <script type="text/javascript" > $userdata </script>防衛観点からみれば、こんなことが可能なようでは、まず駄目というのが定説です。まぁそれでもなんらかのフィルターがあればまだましだろう、という考え方もあろうかと思います。私はそのような隙のある考え方にはおおいに問題があるとかねてより考えております。ですから、強力なフィルターを脳内で考えてはそれを打破してみる、といった遊びを時々行うわけです。変なフィルターに頼ることだけでは駄目である、という事実を知りたいのですね。 記号だけでJavaScriptを実行するというid:hasegawayosukeさんの最近の素晴らしいアイデアにはほとほと感服しました。文字列を拾ってブラックリストにのっていれ
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 前回の記事「JavaScript の不思議な面白さ」はお楽しみいただけたでしょうか? 一例として正攻法で突入していった例については賛否両論あるようです。確かに結果としてできたプログラムは見た目にも美しくなく、目を覆いたくなるばかりでした。 今回は解答編として JavaScript ならではといえる "奇妙な" 例をひとつお見せしたいと思います。ヒントは前回もちらっとお話させていただいたものです。 コード改善に向かって その前に前回の問題はなんだったのかをプログラマ視点で見ていきます。 コードが美しくないと感じるのはなぜでしょうか? 改善するならどうすればよいのでしょうか? ひとつの方法は "隠す" ことです。関数化・クラス化・ライ
(Last Updated On: 2008年9月3日)言われてみれば、そう言えばそんな機能があったね、と思うような機能はよくあります。 JavaScript無しでフォームを制御する方法はHTML4が策定されている時に追加された機能です。 http://www.w3.org/TR/html401/interact/forms.html#h-17.2.1 以下のLABELタグのサンプルは http://www.0x000000.com/?i=635 より拝借しています。 <label for="action"> <body> Etymology of "Foo" 1 April 2001 When used in connection with `bar' it is generally traced to the WW II era Army slang acronym FUBAR (`F
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
Live nude webcam chat IntroductionLive nude webcam chat has become increasingly popular as a form of online entertainment and communication. This unique platform allows individuals to connect with models in real-time, engaging in intimate experiences through video chat. With the advancements in technology and the widespread availability of high-speed internet connections, live nude webcam chat has
第1回 そろそろ本気で学びませんか? | Think IT これ、今この記事書いてる時点で650以上ものブクマがされているんだけれども、あまり内容がよろしくない。 というのも、解説はとても丁寧ですごくよい内容なのだけど、サンプルコードの書き方がどうも古くさい。 onclick属性とか、今時のフロントエンドエンジニアはそんな書き方はしない(と思う)。 なぜonclickをあまり推奨しないのか やっぱり、エンジニアとデザイナーorマークアッパーとの分業の点でHTMLの属性にスクリプトを書いちゃうのはあんまりよろしくない。 たとえばの話だけど関数の名前を変えたかったり、だとか、HTMLを変更したり、っていうときにミスが起こりやすくなってしまう。 これは分業していなくてもどちらにしろ発生してしまうことだと思う。 他にも前に書いたのだけど、aタグとかでonclickしちゃうとhrefにreturn
JavaScript界隈で最近注目のライブラリ、jQuery[1]。今回のゲストはその作者にして、Mozilla CorporationでJavaScript Evangelistを務めるJohn Resigさん。日本の「JavaScript先進国」ぶりにはかなりのインパクトを受けたようです。 (左)小飼弾氏、(右)John Resig氏(撮影:武田康宏) 米国にはない 弾:JavaScriptに関わったきっかけは? Resig:大学ではPerlを使っていて、Mozillaの前にいたスタートアップ企業に入ってから使うようになりました。以来、JavaScript一筋です。 弾:JavaScriptコミュニティのShibuya.jsで講演されましたが、日本のJavaScriptersはどうでした? Resig:非常に楽しかったです。そもそも、JavaScriptのコミュニティが日本に存在し
I’ve just finished writing up some docs on the new Cross-Site XMLHttpRequest feature in Firefox 3. I was a little worried at first, but it definitely appears to be both easy-to-implement and easy-to-use. Specifically, it’s an implementation of the W3C Access Control working draft (which is respected by Firefox’s XMLHttpRequest). If you’re interested in giving it a try you should fire up your copy
XSS対策:JavaScriptのエスケープ(その3) - ockeghem(徳丸浩)の日記にて、JavaScriptのリテラルを動的生成する場合のエスケープ方法について検討したが、id:hoshikuzuさんから、考慮がもれているという指摘を受けた(http://d.hatena.ne.jp/hoshikuzu/20071011#p1:TITLE=2007-10-11 - hoshikuzu | star_dust の書斎 - JavaScriptエスケープについて論考)。 上記は長いエントリーではあるが、要約すると、特定文字エンコードの特定のバイト●に対して、特定ブラウザにおいて「●\」が一文字「■」として解釈されるため、「"」に対するエスケープ「\"」が破綻するという意味に解釈した。 興味深い内容であるので、以下に考察してみよう。 なぜエスケープが破綻するのか 上記のようなケースはさ
(Last Updated On: 2013年12月4日) 追記:新しくより安全なバージョンはこちらです。 hoshikuzuさんのページに書いてあるJavaScript文字列のエスケープ方法です。(元ネタのメールアーカイブは文字が欠落) http://d.hatena.ne.jp/hoshikuzu/20071011#p1 1. 「¥」を「¥¥」に置換する 2. 「”」を「¥”」に置換する 3. 「’」を「¥’」に置換する 4. 「/」を「¥/」に置換する 5. 「<」を「x3c」に置換する 6. 「>」を「x3e」に置換する 7. 「0x0D(CR)」を「¥r」に置換する 8. 「0x0A(LF)」を「¥n」に置換する SmartyのJavaScirpt文字列のエスケープ方法です。 CVS版:2007/10/12 case ‘javascript’: // escape quotes
(Last Updated On: 2007年10月12日)私が知らなかっただけかもしれませんが、これにはかなり驚きました。いろんな所で問題が指摘されていますが、ECMAScriptにXML機能を追加したのはどうなんでしょうね…. 確かにかなり便利なのですが以下のコードでスクリプトが実行されることはほとんど知られていないでしょうね。 <script> 123[”+<_>ev</_>+<_>al</_>](”+<_>aler</_>+<_>t</_>+<_>(1)</_>); </script> 好むと好まざる関係なくFirefox 1.5から使えるのでWeb開発者は知っておかなればならないです。 日本語訳 http://www.ne.jp/asahi/nanto/moon/specs/ecma-357.html 原文 http://www.ecma-international.org/pu
http://d.hatena.ne.jp/hoshikuzu/20060130#P20060130BARSFAKE http://d.hatena.ne.jp/amachang/20071010/1192012056 (IT戦記 - 一行で IE の JavaScript を高速化する方法) はじめに 次のような限定されたケースにおいてなのですが。説明上の都合でこれを課題Aと呼ぶこととします。 <SCRIPT TYPE="text/javascript"> <!-- var strA = "$data"; // ・・・以下サイト運営者による処理記述例 alert(0); //--> </SCRIPT>上記のようなケースに限定してのオハナシですけれど、$dataをエスケープする方向でのXSS対策として金床さんなどによってかつて論議されて、このままでは使えそうにないと棄却されたJavaScr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く