私はコンピュータのセキュリティについて学び、コマンドについて質問します。 telnetコマンドを使ってバッファオーバーフローを悪用し、次にスーパーロングURLでhttpを送信することで脆弱なWebサーバーを持っています。 URLがバッファをオーバーフローします。私は確かにその作品を知っています。しかし今、私はプロセスを自動化するためにnetcatを使いたいと思っています。これまでのところ私は持っていますHTTPリクエストをファイルに送信するにはどうすればよいですか?
netcat localhost 8080 < payload1
私は同じコンピュータ上でサーバと攻撃を実行しているため、ローカルホストに送信します。 Payload1は現在、不正な形式のHTTP Getステートメントです。しかし、HTTP Getステートメントを見るためにファイルを開くことができないため、サーバーはこれを理解できません。したがって、私の質問は:どのように私はHTTP Getステートメントを実行可能にすることができますか、またはHTTP取得をファイル内で認識するようにサーバーを取得できますか?
ありがとうございます!
編集: uriを保持するreq、とりわけ0です。少なくとも、GDBで確認しています。これは私に問題を与えているコードの行です:
if (req->uri == NULL || req->method == NULL ||
req->headers == NULL || req->version == NULL) {
return 0;
}
GDBは、ここではif文でそのセグメンテーションフォールトを言います。
私は、サーバーのコードの残りの部分が存在しないため、あまり意味がないことは知っています。しかし、netcatを文が送信ファイルには、次のとおりです。
get /aaaaaaaaaaaaAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa http/1.1
私はそれを送信するためにTelnetを使用した場合、サーバがクラッシュしないので、私はnetcatをしてその問題を知っています。 payload1はCRLFの終了行を持つDOS形式でなければならないという声明がありました。これをチェックするために、ファイルをWindowsマシンに転送しましたが、これは正しく表示されましたが、これを確認する別の方法があるかどうか疑問に思っていましたか?
ありがとう、上記の編集を参照 – tpar44
あなたの編集内容に基づいて回答を更新してください。 – jman
はい、このコマンドは、telnetを使って使ったのとまったく同じgetコマンドです。それがそれをとても奇妙なものにしています。 – tpar44