
SQL / SQLI 토크나이저 파서 분석기
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);
/* 실제 환경에서는 입력을 URL 디코딩하는 등의 처리가 필요합니다 */
libinjection_sqli_init(&state, input, slen, FLAG_NONE);
issqli = libinjection_is_sqli(&state);
if (issqli) {
fprintf(stderr, "'%s' 지문으로 SQLi 감지됨\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을 참조하세요.
버전은 "주.부.점" 형식으로 표시됩니다.
주 버전(Major)은 API 또는 지문 형식의 주요 변경 사항입니다. 애플리케이션을 다시 컴파일하거나 리팩토링해야 할 수 있습니다.
부 버전(Minor)은 C 코드 변경 사항입니다. 여기에는 다음이 포함될 수 있습니다:
점 버전(Point)은 순수 데이터 변경 사항입니다. 안전하게 적용할 수 있습니다.
연속 통합 결과는 다음에서 확인할 수 있습니다: https://travis-ci.org/client9/libinjection. 다음 항목을 테스트합니다.
Copyright (c) 2012-2016 Nick Galbreath
표준 BSD 3-Clause 오픈 소스 라이선스에 따라 사용 허가됨. 자세한 내용은 COPYING을 참조하세요.
src 디렉토리에 모든 내용이 포함되어 있지만, 다음 파일만 소스 트리에 복사하면 됩니다: