Libinjection : SQL / SQLI Tokenizer Parser Analyzer

Libinjection is a SQL / SQLI tokenizer parser analyzer. For

Simple example

#include
#include
#include
#include “libinjection.h”
#include “libinjection_sqli.h”
int main(int argc, const char* argv[])
{
struct libinjection_sqli_state state;
int issqli;
const char* input = argv[1];
size_t slen = strlen(input);
/* in real-world, you would url-decode the input, etc */
libinjection_sqli_init(&state, input, slen, FLAG_NONE);
issqli = libinjection_is_sqli(&state);
if (issqli) {
fprintf(stderr, “sqli detected with fingerprint of ‘%s’\n”, state.fingerprint);
}
return issqli;
}

$ gcc -Wall -Wextra examples.c libinjection_sqli.c
$ ./a.out “-1′ and 1=1 union/* foo */select load_file(‘/etc/passwd’)–“
sqli detected with fingerprint of ‘s&1UE’

More advanced samples:

VERSION INFORMATION

Versions are listed as “major.minor.point”

Major are significant changes to the API and/or fingerprint format. Applications will need recompiling and/or refactoring.

Minor are C code changes. These may include

  • logical change to detect or suppress
  • optimization changes
  • code refactoring

Point releases are purely data changes. These may be safely applied.

QUALITY AND DIAGNOSITICS

The continuous integration results at https://travis-ci.org/client9/libinjection tests the following:

R K

Recent Posts

file Command in Linux: Identify File Types Without Extensions

The file command inspects the actual contents of a file and reports its type — regardless of…

12 hours ago

chattr Command in Linux: Set File Attributes with lsattr

chattr sets and removes special file attributes that operate at the filesystem level, separate from standard…

12 hours ago

env Command in Linux: Show and Set Environment Variables

env prints the current environment, sets or removes variables for a single command, and can start…

12 hours ago

nmap Command in Linux: Port Scanning and Host Discovery Guide

nmap (Network Mapper) discovers live hosts, identifies open ports, and detects which service is running…

13 hours ago

id Command in Linux: Display User and Group Information

The id command prints user and group identity for any account on the system. It shows the…

2 days ago

sed Delete Lines: Remove Lines by Number, Pattern, or Range

sed processes input line by line, applies your commands, and writes the result to standard output.…

2 days ago