問題タブ [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.
security - ルートとして実行されるバッファ オーバーフロー (またはその他の) エクスプロイトのペイロードとしてのシェルコード?
ここで提供されている*ようなシェルコードを脆弱なプログラムへのペイロードとして使用する場合、シェルはルートとしてどのように実行されますか? 特権がルートに昇格する方法について質問していますか? setuid
シェルコードは、ユーザーを変更するための呼び出しや何かをしていないようです。
* http://www.tenouk.com/Bufferoverflowc/Bufferoverflow5.html
c - このプログラムは何をしているのですか?
それらは何ですか?それはプログラムにどのようmemcpy
に影響していますか?memset
execve
proc
bss2 の更新コード
アップデート
問題は、環境変数がどこにあるかに帰結するようです。
assembly - EIP(リターンアドレス)をオペコードまたはメモリアドレスで上書きしますか?
私の知る限り、shellcode[]
シェルを生成するための16進オペコードであり、コードの最後の行はretをオペコードで上書きします。オペコードまたはメモリアドレスをRETに挿入しますか?
php - このコードはエクスプロイトですか? このコードは何ですか?
誰か/何かによって悪用されたサイトを見ています。このサイトのフッターには、医薬品の売り込みへのリンクが多数挿入されており、他に何があるかは誰にもわかりません。フッターの上部にたくさんのリンクがあります。これらは現在、Yahoo インデックスのキャッシュされたページでしか見つけることができません。ただし、Google はまだサイトに満足しておらず、ライブ サイトにはリンクが表示されなくなりました。これはクライアントのためのものです..ですから、私が言われたことと、他に賢明なことを見つけることができることをほとんど知っています.
このコードは、footer.php (OsCommerse サイト) のまさに「ヒント/トップ」にありました。
「悪い」リンクを含むソース キャッシュ ページを表示すると、このコードは、footer.php ソースで見つけた場所にぴったりとはまります。Google で少し調査したところ、同様のコードを使用したエクスプロイトが存在することがわかりました。
自分のサーバーで実行すると、ソースにエコーされたコメントが次のように表示されるだけです。
特に「悪いリンク」がなくなったことをすぐに知る方法がないため、見た目が悪いという理由だけでコードを急いで削除して「あなたの良い」と言いたくありません。ところで、リンクはすべて無効な URL に移動します。
Yahoo でまだキャッシュされている不良ページを確認できます: http://74.6.117.48/search/srpcache?ei=UTF-8&p=http%3A%2F%2Fwww.feedroller.com%2F+medicine&fr=yfp-t-701&u =http://cc.bingj.com/cache.aspx?q=http%3a%2f%2fwww.feedroller.com%2f+medicine&d=4746458759365253&mkt=en-US&setlang=en-US&w=b97b0175,d5f14ae5&icp=1&.intl =us&sig=Ifqk1OuvHXNcZnGgPR9PbA--
c++ - windows.hを含めずにkernel32.dll関数を呼び出す
kernel32.dllがプロセス仮想メモリにロードされることが保証されている場合、windows.hを含めずにSleepなどの関数を呼び出せないのはなぜですか?以下はvividmachine.comからの引用です
5.では、ウィンドウについてはどうでしょうか。必要なDLL関数のアドレスを見つけるにはどうすればよいですか?これらのアドレスは、サービスパックをアップグレードするたびに変更されませんか?
シェルコードで使用する必要のある関数のアドレスを見つける方法はたくさんあります。関数のアドレス指定には2つの方法があります。実行時に目的の機能を見つけるか、ハードコードされたアドレスを使用できます。このチュートリアルでは、主にハードコードされた方法について説明します。シェルコードのアドレス空間にマップされることが保証されている唯一のDLLはkernel32.dllです。このDLLは、エクスプロイトプロセススペースにマップできる関数アドレスを取得するために必要な2つの関数であるLoadLibraryとGetProcAddressを保持します。ただし、この方法には問題があります。アドレスオフセットは、Windowsの新しいリリース(サービスパック、パッチなど)ごとに変更されます。したがって、この方法を使用する場合、シェルコードは特定のバージョンのWindowsでのみ機能します。
python - PythonでのPerlのPack('V')関数?
私は最近、トレーニング コースの準備をするためにいくつかのエクスプロイトの開発に取り組んでおり、チュートリアルで問題に遭遇しました。私は見つけることができるすべてのチュートリアルに従ってきました.Pythonを使用して、チュートリアルが使用した言語とは対照的に、好みから外れています. すべてをクロスコードしようとしていますが、Perl の Pack() 関数をクロスコードする方法がわかりません。
TL;DR: これを python に翻訳しようとしています:
Python の struct.pack() 関数を見つけましたが、使用すると
、プログラムを停止し、動作しません。私は何を間違っていますか?
これは私のソースコード全体です
c - エクスプロイトを作成するための c のスタック オーバーフロー コード
Linux 環境 (BT3) でシェルを起動しようとしていますが、セグ フォールトが発生し続けます。私が使用している方法は、The Shellcoder's HandBookからのものです。これはすべて、テキストからそのままであることに注意してください。
shell - ヌルフリーシェルコード
作成したアセンブリプログラムをnullのないシェルコードに変換しようとしています。
ただし、特定の手順でこれを実行する方法がわかりません。それらのいくつか(Intel構文)には次のものが含まれます。
と
inceaxに1000回の呼び出しを使用することは避けたいです。私は多分xoring値で何か創造的なことを考えていました、そして第二に、多分それがたった8バイトの定数を取るように設定するフラグがあったかどうか。
どんな助けでも大歓迎です。
shell - Null フリー シェルコードの追加
次のコードをシェルコードに入れることができるように、次の命令のヌルなしの代替を見つける必要があります。
null フリーに変換する必要がある最初の命令は次のとおりです。
文字列 str は、私の .data セクションで定義されています。2 つ目は次のとおりです。
ありがとう!
c - 宿題 - bufferoverflow を悪用できない
Backtrack Linux で単純な bufferover フロー手法を活用する方法を学ぼうとしています。
ここに私のCプログラムがあります
これは私が使用しているシェルコードで、単純な/bin/ls
\x31\xc0\x83\xec\x01\x88\x04\x24\x68\x6e\x2f\x6c\x73\x66\x68\x62\x69\x83\xec に対応しています\x01\xc6\x04\x24\x2f\x89\xe6\x50\x56\xb0\x0b\x89\xf3\x89\xe1\x31\xd2\xcd\x80\xb0\x01\x31\xdb\xcd\x80
次のコマンドを使用して、このシェルコードを gdb に挿入します
アプリケーションをステップ実行するとSIG FAULT
、最終的なret
命令が生成されます。その時点EIP
で は正しく に設定されてい0xffffd30c
ます。このアドレスはアドレス指定可能NOP
で、ペイロードに示されているように、一連の の後に私のシェル コードが続きます。
ASLR を無効にしました
sudo echo 0 > /proc/sys/kernel/randomize_va_space
fno-stack-protector
また、オプションを使用してバイナリをコンパイルしました。
SIGSEGV の原因は何ですか?