問題タブ [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.
c - ret2libc 攻撃の Segfault ですが、ハードコーディングされたシステム コールではありません
次の原始星の挑戦があります
そして、それを64ビットとしてコンパイルしています
私はエクスプロイトを作成するために pwntools を使用しています。ここに私のエクスプロイト.pyファイルがあります
これにより、セグメンテーション違反が発生します。ペイロードを txt ファイルに保存し、gdb で実行した後、segfault が内部で発生することがわかりましたdo_system
紛らわしいのはsystem("/bin/sh");
、C コードに呼び出しを追加すると、呼び出しが機能し、シェルがポップされますが、ret2libc 攻撃を介してシステムを呼び出すと、segfault が発生することです。
c - Cの関数ポインタにシェルコードを挿入するには?
私はシェルコードの初心者で、いくつかの CTF を開始しました。しかし、私は最も基本的な演習で立ち往生しています。
プログラムがあるとしましょう。このプログラムは、execve のポインター アドレスを示します: 0x8048450 char 配列 "\bin\sh" があり、そのアドレスも 0x80486a5 であるとします。
脆弱なコードは次のとおりです。
問題は、バイナリを持っていないため、対象となるアーキテクチャに関する情報があまりないことですが、32 ビットだと思います。
これが私のコードです:
次に実行します:
と
どちらが与える
私は実行します
しかし、何もありません。バイト配列を満たすために NOP スレッドを配置する必要がありますか?
私を読んでくれてありがとう!