欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

nginx利用lua语言实现软waf的示例代码

时间:2025-12-07 13:30:05|栏目:其它服务器|点击:

首先下载nginx的安装包:

wget http://nginx.org/download/nginx-1.14.0.tar.gz

这里下载的是nginx1.14的包,感觉安装包太老的话可以去官网下载新的版本:

官网地址:http://nginx.org/

但是我这里测试使用的不是nginx的安装包,而是使用的淘宝开发师提供的OpenResty;

其官方网站OpenResty® - Open source我们读起来是非常的方便。OpenResty是一个基于Nginx与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。

用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。所以本身OpenResty内部就已经集成了Nginx和Lua,所以我们使用起来会更加方便。

下载OpenResty:

wget https://openresty.org/download/openresty-1.19.3.2.tar.gz

解压缩:

tar -zxvf openresty-1.19.3.2.tar.gz && cd openresty-1.19.3.2

编译安装:

./configure && make && make install

进入OpenResty的目录,找到nginx:

cd /usr/local/openresty/nginx/

在conf目录下的nginx.conf添加如下内容:

location /lua{
    default_type 'text/html';
    content_by_lua 'ngx.say("

HELLO,world

")'; }

通过浏览器访问测试:

nginx利用lua语言实现软waf的示例代码

测试nginx没问题后,就开始本次实验:

利用XSS检测lua脚本

这里我写了一个简单XSS检测,直接上代码

 
local function has_xss(payload)
    if payload and type(payload) == "string" then
        if string.find(payload, "


发现攻击,已禁止

另外一个就是如果检测到正确就访问index文件:

路径为:/home/gsl/index.html

html代码如下(我这里为了测试找了一个简单的代替):




    
    我的网页



    

这是标题

这是段落。

nginx.conf的配置文件也像上边一样配置完成,那么这时就可以使用Nginx命令来检测一下nginx的语法是否正确,并且重新加载一下配置文件:

我这里是编译安装的nginx,并且也没有将nginx的可执行文件配置在/usr/sbin(已经配置的环境变量)目录下,所以我需要进入:/usr/local/openresty/nginx/sbin下执行命令

./nginx -t

nginx利用lua语言实现软waf的示例代码

nginx -s reload

然后正常访问一下:

nginx利用lua语言实现软waf的示例代码

添加xss参数模拟一下错误:

http://ip:port/?a=%3Cscript%3E

nginx利用lua语言实现软waf的示例代码

已经被检测到;

OK,本次实验结束;

以上就是nginx利用lua语言实现软waf的示例代码的详细内容,更多关于nginx lua实现软waf的资料请关注其它相关文章!

上一篇:查看nginx日志的实现

栏    目:其它服务器

下一篇:nginx查看连接数的几种方法小结

本文标题:nginx利用lua语言实现软waf的示例代码

本文地址:https://zz.feitang.co/server/29156.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号