問題タブ [ctf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
48 参照

php - ctf の php のコードラインの説明

私はctfを解決することを学んでいて、phpでこの行を見ました

${"result$i"} = $db->query("SELECT * FROM {$tables[$i]} " . ($order != '' ? "ORDER BY ".$db->escape_string($order)." " : ""));

これは、インクリメンタとして $i を使用した for ループ内にあります。したがって、何が起こっているのか理解できませんでした。

  1. これはどういう意味ですか: ${"result$i"}
  2. $tables[$i]{ } の中に入れる
  3. 誰かがこのビットを説明できますか:($order != '' ? "ORDER BY ".$db->escape_string($order)." " : "")
0 投票する
0 に答える
480 参照

ubuntu - 64ビットマシン(Ubuntu 20.04)でバイナリを実行するときに別のlibc(32)を使用する

32 ビット バイナリを実行し、カスタム libc を使用しようとしています。そのため、環境変数を使用LD_PRELOADしてパスを設定しました。

この後、単純lsにこのエラーが表示されます-

現在、Ubuntu 20.04 64 ビット マシンでこれを試していますが、このエラーが発生します。この手法は、Ubuntu 18.04 と同じマシンで正常に機能していました。この問題が発生するのはなぜですか? また、回避策はありますか?

コンテキスト: 私は CTF チャレンジを試みていLD_PRELOADますが、チャレンジがカスタムlibc. このアプローチを使用するスクリプトを実行しようとしましたが、以前は Ubuntu 18.04 で正常に動作していましたが、同じエラーがスローされます。

編集:
コマンドlsは正常に動作しますが、エラー メッセージも出力されます。実行されたコマンドはすべて正しく機能し、このエラーも表示されます。主な問題は、これが Ubuntu 20.04 では機能しないのに、18 では完全に機能することです。

0 投票する
1 に答える
97 参照

assembly - buf のアドレスが 10 ではなく 0x12 になっているのはなぜですか?

私のコードは次のとおりです。

コードをコンパイルし、ida pro を使用してバイナリ ファイルを開きました (gcc バージョンは 5.4.0、OS は ubuntu 16.04、コンパイル コマンドは「gcc -m32 -no-pie -fno-stack-protector stack_overflow.c - o stack_overflow ")、逆アセンブルされたコードは、バッファ s のアドレスが ebp - 12h であることを示していることがわかりました。どうして ebp - 10 ではないのでしょうか?

myread() の逆アセンブル コードは次のとおりです。

myread() のスタックは以下の通り、スタック保護機構とは関係ないようです