lua-ffi-libinjection

LuaJIT FFI libinjection 绑定

$ opm get p0pr0ck5/lua-ffi-libinjection

名称

lua-resty-libinjection - LuaJIT FFI libinjection 绑定

状态

该库处于活跃开发阶段,并且已准备好投入生产环境。

描述

该库提供了对 libinjection 的 FFI 绑定,libinjection 是一个 SQL/SQLi 和 XSS 分词器和分析器。

安装

像安装其他 OpenResty lua 模块一样安装此库。需要将 libinjection 共享对象文件放在您的 lua_package_cpath 中,因此您应该将 .so 文件符号链接或复制到相应的位置。

概要

      access_by_lua_block {
        local libinjection = require "resty.libinjection"
    
        -- simple SQLi API
        local issqli, fingerprint = libinjection.sqli(string)
    
        -- context-specific bindings are also provided
        issqli, fingerprint = libinjection.sqli_noquote(string)
        issqli, fingerprint = libinjection.sqli_singlequote(string)
        issqli, fingerprint = libinjection.sqli_doublequote(string)
    
        --simple XSS API
        local isxss = libinjection.xss(string)
    
        -- context-specific bindings
        isxss = libinjection.xss_data_state(string)
        isxss = libinjection.xss_noquote(string)
        isxss = libinjection.xss_singlequote(string)
        isxss = libinjection.xss_doublequote(string)
        isxss = libinjection.xss_backquote(string)
      }

用法

libinjection.sqli

语法: issqli, fingerprint = libinjection.sqli(string)

给定一个字符串,返回一个布尔值 issqli 表示是否检测到 SQLi,以及一个字符串 fingerprint 表示检测到的 libinjection 指纹。在大多数情况下,这是首选选项;下面提到的二级 API 绑定在特定上下文中可能效率更高。

libinjection.sqli_noquote

语法: issqli, fingerprint = libinjection.sqli_noquote(string)

类似于 libinjection.sqli,在“按原样”字符串的特定上下文中。

libinjection.sqli_singlequote

语法: issqli, fingerprint = libinjection.sqli_singlequote(string)

类似于 libinjection.sqli,在单引号 (') 字符串的特定上下文中。

libinjection.sqli_doublequote

语法: issqli, fingerprint = libinjection.sqli_doublelequote(string)

类似于 libinjection.sqli,在双引号 (") 字符串的特定上下文中。

libinjection.xss

语法: isxss = libinjection.xss(string)

XSS 检测器的 ALPHA 版本。给定一个字符串,返回一个布尔值 isxss 表示是否检测到 XSS。在大多数情况下,这是首选选项;下面提到的二级 API 绑定在特定上下文中可能效率更高。

libinjection.xss_data_state

语法: isxss = libinjection.xss_data_state(string)

类似于 libinjection.xss,但仅使用 DATA_STATE 标志运行。

libinjection.xss_noquote

语法: isxss = libinjection.xss_noquote(string)

类似于 libinjection.xss,但仅使用 VALUE_NO_QUOTE 标志运行。

libinjection.xss_singlequote

语法: isxss = libinjection.xss_singlequote(string)

类似于 libinjection.xss,但仅使用 VALUE_SINGLE_QUOTE 标志运行。

libinjection.xss_doublequote

语法: isxss = libinjection.xss_doublequote(string)

类似于 libinjection.xss,但仅使用 VALUE_DOUBLE_QUOTE 标志运行。

libinjection.xss_backquote

语法: isxss = libinjection.xss_backquote(string)

类似于 libinjection.xss,但仅使用 VALUE_BACK_QUOTE 标志运行。

许可证

此程序是自由软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它,无论是许可证版本 3 还是(根据您的选择)任何更高版本。

此程序按“原样”分发,没有任何保证;甚至没有关于适销性或适合特定用途的隐含保证。有关更多详细信息,请参阅 GNU 通用公共许可证。

您应该已收到此程序附带的 GNU 通用公共许可证副本。如果没有,请参见 https://gnu.ac.cn/licenses/

错误

请通过在 GitHub 问题跟踪器中创建工单来报告错误。

作者

Robert Paprocki (p0pr0ck5)

许可证

3bsd

版本