0

私は、IM の開発者がセキュリティと問題をテストするのを手伝っています。彼らは、サーバーで報告された tcp リセットの脆弱性の例を求めていました。コンパイルに問題があります。誰か助けてもらえますか? エラーログ: http://pastie.org/4212921

C ファイル: http://www.exploit-db.com/download/291

4

2 に答える 2

2

ほとんどの場合、最初に報告されたエラーから始めることをお勧めします。

あなたの場合、最初に報告されたエラーは次のとおりです。

reset-tcp.c:51: error: ‘u_char’ undeclared (first use in this function)

u_char標準のCタイプではありません。おそらくのtypedefですunsigned char

ソースファイルには次の#includeディレクティブがあります。

#include <libnet.h>
#include <stdio.h>

<stdio.h>を定義できないためu_char、-で定義する必要があります。<libnet.h>具体的には、ソースファイルのバージョンが<libnet.h>依存している場合に限ります。

reset-tcp.cこれは非標準のヘッダーです(私のシステムにはインストールされていません)。したがって、動作するように設計されたものとは異なるバージョンのlibnetを使用していると推測されます。

私はそれがあなたの問題を解決しないことを知っています、しかしそれはあなたに良い出発点を与えるはずです。

編集 :

Ubuntu 12.04システム(のバージョン1.1.4-2.1)に、、、およびパッケージをlibnet1インストールlibnet1-devしました。これで、ソースファイルがコンパイルされ(74行目と75行目を結合した後)、いくつかの警告が表示されます。タイプはで定義され、間接的に。に含まれます。libnet1-doclibnet1u_char/usr/include/i386-linux-gnu/sys/types.hlibnet.h

私はいくつかの警告を受け取ります:

291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 3 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 4 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 5 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 6 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 7 has type ‘u_char *’ [-Wformat]
291.c:95:1: warning: format ‘%X’ expects argument of type ‘unsigned int *’, but argument 8 has type ‘u_char *’ [-Wformat]
291.c:116:1: warning: format ‘%i’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat]

間違いなく注意を払う必要があります。コードは現在、 ()オブジェクトintに値を格納しようとしています。u_charunsigned char

提案:

  1. 使用しているオペレーティングシステムとバージョンを教えてくださいlibnet。この情報があれば、誰かがより良いアドバイスを提供できるかもしれません。

  2. そのソースコードがどこから来たのかを教えてください。そして、libnetそれがどのバージョンで動作するのかを知ることができるかどうかを確認してください。

于 2012-07-07T02:22:12.410 に答える
0

libnetとその開発パッケージをインストールする必要があります。

Debian では、パッケージlibnet1libnet-dev.

于 2012-07-07T11:03:34.753 に答える