[サイバーハッカー.kr]解答No.14
11030 ワード
[webhack.krのWebサイトでの質問の回答]
前の質問で6番の解答に問題が出てきたので、まずは14番からアップします.
[回答]
まず問題画面を見てみましょう.平淡無奇.
どんな値でもボタンを押すだけでエラーのメッセージが表示されます.
答えに合った値を入力してこそ、問題を解決できるかもしれません.
まず開発者ツールを開き、分析コードを分析します.
コンソールでの関数の実行
この問題のコード構造はかなり簡単だ.
<html>
<head>
<title>Challenge 14</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
</style>
</head>
<body>
<br><br>
<form name=pw>
<input type=text name=input_pwd>
<input type=button value="check" onclick=ck()>
</form>
<script>
function ck(){
var ul=document.URL;
ul=ul.indexOf(".kr");
ul=ul*30;
if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; }
else { alert("Wrong"); }
}
</script>
</body>
</html>
まずhtmlコードはformのコードにすぎません.onclick、すなわちクリック時に下部jsコードのch()関数を実行します.
function ck(){
var ul=document.URL;
ul=ul.indexOf(".kr");
ul=ul*30;
if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; }
else { alert("Wrong"); }
}
このコードを簡単に分析してください.(1)
ul
を定義すると、現在のページのアドレスが取得される.(2)
ul
ul
中.krのインデックス値を取得します.(3)
ul
の値に30を乗じた値を指定します.(4)フォームに入力された値を
ul
と比較し、正しい場合は?ul*pw.input_pwd.value
に移動する.これらのコードを考慮する必要はなく、consoleウィンドウに移動してコードを変換するだけで
ul*pw.input_pwd.value
の値を得ることができます.ここで,コードを簡潔にするために,
ul*pw.input_pwd.value
の値は最終的にul
とpw.input_pwd.value
の値が等しいときに算出されるので,ul의 제곱값
を求めることができる.function ck(){
var ul=document.URL;
ul=ul.indexOf(".kr");
ul=ul*30;
console.log(ul**2);
}
ck();
コンソールに入れて実行し、結果値は291600
です.そのページのアドレスを以下のように修正すれば、問題は解決します.
终わりの时..。
この問題は比較的難しくない難易度に属する.今書いている文章はすべて5~10点の問題で、解決するのは難しくありません.
次の問題は15番です.15日も面白い質問で楽しみです.
Reference
この問題について([サイバーハッカー.kr]解答No.14), 我々は、より多くの情報をここで見つけました https://velog.io/@kingsparkdev/webhacking.kr-문제풀이-No.14テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol