今日質問をしていて、もっと興味深いものがあることに気づきました(複数のプラットフォームで収集)
コーディング、Web、パスワードの初心者に最適
そこで今日はこの疑問を詳しく解決していきます。
質問をしてくれた攻守の携帯電話プラットフォームとNSCTFに感謝します✌✌
目次
件名アドレス
トピックリンクhttp://61.147.171.105:63454/
問題解決のプロセス
コード文字列への URL を開きます
暗号化された暗号文が与えられたので、フラグを復号してみましょう
監査ウェーブ
逆暗号化アルゴリズムって言われてるから
次に、逆の思考を使用して、このコード文字列を観察します。
$_c=substr($_o,$_0,1); #一度に 1 文字ずつ取り出し、対応する走査文字 i
$__=ord($_c)+1; #対応する 10 進数に変換
$_c = chr($__); # 10 進数を ASCII に変換
$_=$_.$_c; # $_c を蓄積
for ループでは、0 から文字列の長さまで、
o の開始後に
長さ _0 の文字を探し始め、長さ 1 の出力が $_c に与えられます。
まずフラグ文字列を反転し、
次に、各 ASCII コード値 +1、
次に、base64暗号化、
あとは逆の順番で、
次にrot13で暗号化します
暗号化された暗号文を取得します: a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws
そこで他の人の暗号のアイデアに従って逆計算するとフラグが出てきました。
これは私が書いた PHP スクリプトです
<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";
$miwen=base64_decode(strrev(str_rot13($miwen)));
//echo $miwen;
$m=$miwen;
for($i=0;$i<strlen($m);$i++){
$_c=substr($m,$i,1);
$__=ord($_c)-1; # 字符转数字,在减1
$__=chr($__); # 数字转字符
$_=$_.$__; # 拼接字符串
}
echo strrev($_); # 反转字符串
?>
PHPオンライン編集サイト
PHP オンライン編集サイトPHP Hello インスタンス! .. https://c.runoob.com/compile/1/実行してフラグを取得します
概要 トピックは難しくありませんが、基本的なコードの知識が必要なので、特に初心者に適しています