ksnctf #3 Crawling Chaos
前回に引き続きCTFの問題を解いていきます。
問題 100pt
適当に入力すると以下のようにでます。
解き方 ソースコードを見てみる。
Chromeのデベロッパーモードでソースコードを見てみると、headのscript内に謎のコードを発見。
console.logを見てもエラーが発生していないので、正しく認識されている。
これを解析する必要がある。
node.jsで開いてみる。 デベロッパーツールのままでは調査しづらいので、 「(ᒧᆞωᆞ).ᒧうーー=(〳ᆞωᆞ).〳にゃーー」のスクリプトを別ファイルに切り出してnode unya.jsとして実行してみた。
すると
undefined:2 $(function(){$("form").submit(function(){var t=$('input[type="text"]').val();var p=Array(70,152,195,284,475,612,791,896,810,850,737,1332,1469,1120,1470,832,1785,2196,1520,1480,1449);var f=false;if(p.length==t.length){f=true;for(var i=0;i<p.length;i++)if(t.charCodeAt(i)*(i+1)!=p[i])f=false;if(f)alert("(」・ω・)」うー!(/・ω・)/にゃー!");}if(!f)alert("No");return false;});}); ^ ReferenceError: $ is not defined at eval (eval at <anonymous> (/Users/takanori/Desktop/jquerry/u.js:1:17299), <anonymous>:2:1) at Object.<anonymous> (/Users/takanori/Desktop/jquerry/u.js:1:17333) at Module._compile (module.js:569:30) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3) at Function.Module.runMain (module.js:605:10) at startup (bootstrap_node.js:158:16) at bootstrap_node.js:575:3 と表示された。
$ is not definedについてはJQueryを読み込んでいないのでエラーが出たが、 それ以外の部分はソースがデコードされた内容で表示された。
ソースを解析する 上記でデコードされた内容を見やすく改行すると以下のようになった。
$(function () { $("form").