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
版本
-
LuaJIT FFI libinjection 绑定 2017-02-22 18:57:44
-
LuaJIT FFI libinjection 绑定 2016-09-30 16:51:07