
SQL / SQLI tokenizer parser analyzer
SQL / SQLI टोकनाइज़र पार्सर विश्लेषक। इसके लिए:
विवरण और प्रस्तुतियों के लिए देखें https://www.client9.com/
सरल उदाहरण:
#include <stdio.h>
#include <strings.h>
#include <errno.h>
#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);
/* real-world में, आप इनपुट का url-डिकोड करेंगे, आदि */
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'
अधिक उन्नत नमूने:
विवरण के लिए CHANGELOG देखें।
संस्करण "प्रमुख.लघु.बिंदु" के रूप में सूचीबद्ध हैं।
प्रमुख: API और/या फ़िंगरप्रिंट प्रारूप में महत्वपूर्ण परिवर्तन। एप्लिकेशन को पुनः संकलन और/या पुनर्रचना की आवश्यकता होगी।
लघु: C कोड परिवर्तन। इनमें शामिल हो सकते हैं:
बिंदु रिलीज़ पूरी तरह से डेटा परिवर्तन हैं। इन्हें सुरक्षित रूप से लागू किया जा सकता है।
निरंतर एकीकरण परिणाम https://travis-ci.org/client9/libinjection निम्नलिखित का परीक्षण करते हैं:
कॉपीराइट (c) 2012-2016 Nick Galbreath
मानक BSD 3-क्लॉज ओपन सोर्स लाइसेंस के तहत लाइसेंस प्राप्त। विवरण के लिए COPYING देखें।
src निर्देशिका में सब कुछ शामिल है, लेकिन आपको केवल निम्नलिखित को अपने स्रोत ट्री में कॉपी करने की आवश्यकता है: