問題タブ [shellcode]
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 - segfault を与える Stack Smashing の試み
私はCで楽しみと利益のためにスタックを破壊するの例を実行しようとしていますが、コードは次のとおりです(私はUbuntu 64ビットの64ビットマシンを持っています):
上記のコードは正常に動作し、返されたx=1
行は実行されませんが、背後にあるロジックを理解できません。つまり、バッファーに 8 バイト、スタックに保存されたベース ポインターに 8 バイトでret = buffer + 17;
ある必要があります。ret = buffer + 16;
第二に、私の理解では、char buffer[1]
(64 ビット アーキテクチャにより) 8 バイトを使用しており、このバッファを増やしてbuffer[2]
.
よろしく、ヌマン
exploit - シェルコードは\x20で切り捨てられます
\x20
シェルコードが文字列によってコピーされて2番目の脆弱なプログラムにスタックされるときに、シェルコードがオペコードの後に切り捨てられるのはなぜですか?
c - 誰も私にこのコードを説明できますか?
警告: これはエクスプロイトです。このコードを実行しないでください。
誰かが私にもっと良い説明を与えることができますか?
c - 私はこのコードを持っています....倫理的ハッキング
Ethical Hacking に関するこの EBook をフォローしていて、Linux Exploit の章に到達しました。これは、Aleph の 1 コードを含むコードです。
これにスーパーユーザー権限を与えます。
スーパーユーザーとして、通常のユーザーに戻ります
しかし、実行するとき./shellcode
はルートユーザーになる必要がありますが、代わりにまだnormal_userなので、何か助けはありますか?? ところで、私はBT4-Finalに取り組んでおり、ASLRをオフにして、VMWareでBT4を実行しています...
c - シェルコードのテスト
シェルコードをテストするためのこのコードがありますが、理解できないので、誰か説明してもらえますか?
アセンブリ シェルコードのことは忘れて、理解したいのは C コードです。
つまり何もかも、空()
とは何か、初心者に説明するように説明してください。
security - 単純なスタックオーバーフローのシェルコード:シェルを使用した悪用されたプログラムは、execve( "/ bin / sh")の直後に終了します。
Linux(amd64)でバッファオーバーフローを試してみて、単純なプログラムを悪用しようとしましたが、失敗しました。セキュリティ機能を無効にしました(sysctl -w kernel.randomize_va_space = 0およびBIOSのnxビットを使用したアドレス空間配置のランダム化)。スタックにジャンプしてシェルコードを実行しますが、シェルは起動しません。execve syscallは成功しますが、その後は終了します。何が問題なのか分かりますか?シェルコードをスタンドアロンで実行すると、問題なく動作します。
ボーナスの質問:printfを呼び出す前にraxをゼロに設定する必要があるのはなぜですか?(コードのコメントを参照してください)
脆弱なファイルbuffer.s:
shellcode.s
explore.py
コンパイル済み:
で始まった:
gdbを使用したデバッグ:
c - 本とシェルコードの例
私は「搾取の芸術」と「灰色の帽子のハッカー」を読みました.x86システム用に書かれたこれらの本の例.私はcentrinoラップトップとamd64 pcを持っています.スタックベースのオーバーフローの作業例を作成できません.
c - シェルコードとフォーマット文字列の脆弱性?
ここでの私の仕事では、RH 9、RH Enterprise 3、およびいくつかの古いLinuxテイストを実行している多くのマシンがあります。「フォーマット文字列の脆弱性」と「シェルコード」について読んだときに、そのLinuxがこれらの種類の攻撃に対して(攻撃自体を実行せずに)脆弱であるかどうかを確認する方法を知りたいです...
手伝ってくれてありがとう!
buffer - 意図的なバッファオーバーフローエクスプロイトプログラム
私は自分の計算機科学クラスの1つでこの問題を理解しようとしています。私はすべてのリソースを利用しましたが、まだ問題があります。誰かが洞察を提供してくれれば、私はそれを大いに感謝します。
この「ターゲット」があり、バッファオーバーフローエクスプロイトを使用してexecve( "/ bin / sh")を実行する必要があります。buf [128]のオーバーフローでは、安全でないコマンドstrcpyを実行すると、システムがリターンアドレスを見つけることを期待している場所にバッファに戻るポインタが表示されます。
target.c
explore.c
shellcode.h
argv [1]を128バイト以上で埋める必要があることを理解しています。128バイトを超えるバイトはリターンアドレスであり、バッファ内で/ bin/shを実行するためにバッファを指す必要があります。これまでのところ正しいですか?誰かが次のステップを提供できますか?
助けてくれてありがとう。