Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit9a630ee

Browse files
committed
Merge pull requestmicrosoft#141 from client9/remotes/trunk
libinjection sync to v3.6.0
2 parentsf8d441c +1121720 commit9a630ee

File tree

3 files changed

+608
-831
lines changed

3 files changed

+608
-831
lines changed

‎apache2/libinjection/libinjection.h‎

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ extern "C" {
1919
* See python's normalized version
2020
* http://www.python.org/dev/peps/pep-0386/#normalizedversion
2121
*/
22-
#defineLIBINJECTION_VERSION "3.5.3"
22+
#defineLIBINJECTION_VERSION "3.6.0"
2323

2424
/**
2525
* Libinjection's sqli module makes a "normalized"
@@ -59,7 +59,7 @@ enum lookup_type {
5959
LOOKUP_FINGERPRINT
6060
};
6161

62-
typedefstruct {
62+
structlibinjection_sqli_token {
6363
#ifdefSWIG
6464
%immutable;
6565
#endif
@@ -81,8 +81,9 @@ typedef struct {
8181
intcount;
8282

8383
charval[LIBINJECTION_SQLI_TOKEN_SIZE];
84-
}stoken_t;
84+
};
8585

86+
typedefstructlibinjection_sqli_tokenstoken_t;
8687

8788
/**
8889
* Pointer to function, takes cstr input,
@@ -91,7 +92,7 @@ typedef struct {
9192
structlibinjection_sqli_state;
9293
typedefchar (*ptr_lookup_fn)(structlibinjection_sqli_state*,intlookuptype,constchar*word,size_tlen);
9394

94-
typedefstructlibinjection_sqli_state {
95+
structlibinjection_sqli_state {
9596
#ifdefSWIG
9697
%immutable;
9798
#endif
@@ -123,15 +124,19 @@ typedef struct libinjection_sqli_state {
123124
*/
124125
size_tpos;
125126

127+
#ifndefSWIG
128+
/* for SWIG.. don't use this.. use functional API instead */
129+
126130
/* MAX TOKENS + 1 since we use one extra token
127131
* to determine the type of the previous token
128132
*/
129-
stoken_ttokenvec[LIBINJECTION_SQLI_BUFFER_SZ];
133+
structlibinjection_sqli_tokentokenvec[LIBINJECTION_SQLI_BUFFER_SZ];
134+
#endif
130135

131136
/*
132137
* Pointer to token position in tokenvec, above
133138
*/
134-
stoken_t*current;
139+
structlibinjection_sqli_token*current;
135140

136141
/*
137142
* fingerprint pattern c-string
@@ -189,12 +194,18 @@ typedef struct libinjection_sqli_state {
189194
*/
190195
intstats_tokens;
191196

192-
}sfilter;
197+
};
198+
199+
structlibinjection_sqli_token*libinjection_sqli_get_token(
200+
structlibinjection_sqli_state*sqlistate,inti);
201+
202+
203+
typedefstructlibinjection_sqli_statesfilter;
193204

194205
/**
195206
*
196207
*/
197-
voidlibinjection_sqli_init(sfilter*sql_state,
208+
voidlibinjection_sqli_init(structlibinjection_sqli_state*sql_state,
198209
constchar*s,size_tslen,
199210
intflags);
200211

@@ -212,18 +223,21 @@ void libinjection_sqli_init(sfilter* sql_state,
212223
*
213224
* \return 1 (true) if SQLi, 0 (false) if benign
214225
*/
215-
intlibinjection_is_sqli(sfilter*sql_state);
226+
intlibinjection_is_sqli(structlibinjection_sqli_state*sql_state);
216227

217228
/* FOR H@CKERS ONLY
218229
*
219230
*/
220-
voidlibinjection_sqli_callback(sfilter*sql_state,ptr_lookup_fnfn,void*userdata);
231+
voidlibinjection_sqli_callback(structlibinjection_sqli_state*sql_state,
232+
ptr_lookup_fnfn,
233+
void*userdata);
221234

222235

223236
/*
224237
* Resets state, but keeps initial string and callbacks
225238
*/
226-
voidlibinjection_sqli_reset(sfilter*sql_state,intflags);
239+
voidlibinjection_sqli_reset(structlibinjection_sqli_state*sql_state,
240+
intflags);
227241

228242
/**
229243
*
@@ -239,14 +253,17 @@ void libinjection_sqli_reset(sfilter* sql_state, int flags);
239253
* do not free!
240254
*
241255
*/
242-
constchar*libinjection_sqli_fingerprint(sfilter*sql_state,intflags);
256+
constchar*libinjection_sqli_fingerprint(structlibinjection_sqli_state*sql_state,
257+
intflags);
243258

244259
/**
245260
* The default "word" to token-type or fingerprint function. This
246261
* uses a ASCII case-insensitive binary tree.
247262
*/
248-
charlibinjection_sqli_lookup_word(sfilter*sql_state,intlookup_type,
249-
constchar*s,size_tslen);
263+
charlibinjection_sqli_lookup_word(structlibinjection_sqli_state*sql_state,
264+
intlookup_type,
265+
constchar*s,
266+
size_tslen);
250267

251268
/* Streaming tokenization interface.
252269
*
@@ -255,13 +272,13 @@ char libinjection_sqli_lookup_word(sfilter *sql_state, int lookup_type,
255272
* \returns 1, has a token, keep going, or 0 no tokens
256273
*
257274
*/
258-
intlibinjection_sqli_tokenize(sfilter*sql_state);
275+
intlibinjection_sqli_tokenize(structlibinjection_sqli_state*sql_state);
259276

260277
/**
261278
* parses and folds input, up to 5 tokens
262279
*
263280
*/
264-
intlibinjection_sqli_fold(sfilter*sql_state);
281+
intlibinjection_sqli_fold(structlibinjection_sqli_state*sql_state);
265282

266283
/** The built-in default function to match fingerprints
267284
* and do false negative/positive analysis. This calls the following
@@ -272,20 +289,20 @@ int libinjection_sqli_fold(sfilter * sql_state);
272289
*
273290
* \param sql_state should be filled out after libinjection_sqli_fingerprint is called
274291
*/
275-
intlibinjection_sqli_check_fingerprint(sfilter*sql_state);
292+
intlibinjection_sqli_check_fingerprint(structlibinjection_sqli_state*sql_state);
276293

277294
/* Given a pattern determine if it's a SQLi pattern.
278295
*
279296
* \return TRUE if sqli, false otherwise
280297
*/
281-
intlibinjection_sqli_blacklist(sfilter*sql_state);
298+
intlibinjection_sqli_blacklist(structlibinjection_sqli_state*sql_state);
282299

283300
/* Given a positive match for a pattern (i.e. pattern is SQLi), this function
284301
* does additional analysis to reduce false positives.
285302
*
286303
* \return TRUE if sqli, false otherwise
287304
*/
288-
intlibinjection_sqli_not_whitelist(sfilter*sql_state);
305+
intlibinjection_sqli_not_whitelist(structlibinjection_sqli_state*sql_state);
289306

290307
#ifdef__cplusplus
291308
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp