openresty用naxsi防xss、SQL注入

下载naxsi

wget https://github.com/nbs-system/naxsi/archive/untagged-afabfc163946baa8036f.tar.gz
tar zxvf untagged-afabfc163946baa8036f.tar.gz
mv naxsi-untagged-afabfc163946baa8036f/ naxsi

编译openresty加上--add-module

./configure --prefix=/usr/local/openresty --with-http_stub_status_module --with-http_gzip_static_module --with-luajit --add-module=/usr/local/naxsi/naxsi_src

将核心规则复制到openresty的conf中

cp /usr/local/naxsi/naxsi_config/naxsi_core.rules /usr/local/openresty/nginx/conf/

自定义一个规则文件

vi /usr/local/openresty/nginx/conf/mySite.rules

内容为

#开启 naxsi
SecRulesEnabled;
#定义阻止请求的位置
DeniedUrl "/50x.html";
#CheckRules, 确定 naxsi 何时采取行动
CheckRule "$SQL >= 8" BLOCK;
CheckRule "$RFI >= 8" BLOCK;
CheckRule "$TRAVERSAL >= 4" BLOCK;
CheckRule "$EVADE >= 4" BLOCK;
CheckRule "$XSS >= 8" BLOCK;

编辑opernresty的主配置文件

vi /usr/local/openresty/nginx/conf/nginx.conf

在http中引用核心规则

在接口中引用自定义规则

原文地址:https://www.cnblogs.com/kgdxpr/p/9841456.html

时间: 2024-11-09 03:19:18

openresty用naxsi防xss、SQL注入的相关文章

django csrf,xss,sql注入

一.csrf跨站请求伪造(Cross-site request forgery) CSRF的攻击原理:简单说就是利用了高权限帐号(如管理员)的登录状态或者授权状态去做一些后台操作,但实际这些状态并没有被我们直接获取到(获取那是XSS干的事). CSRF能够攻击的根本原因是:服务器无法识别你的来源是否可靠. 防御CSRF攻击:服务端验证请求的token一致性 CSRF攻击的核心原理就是利用用户验证信息储存cookie中,发送请求,使得服务器无法判断真伪,而token之所以能够拦截,就是因为它是CS

sqlmap的学习之路-自动化测试SQL注入工具

sqlmap 自动化测试sql 注入问题  会返回版本信息等等. Sqlmap是开源的自动化SQL注入工具,由Python写成,因此运行需要安装python环境. 如需了解更多sqlmap资料可以访问官方http://sqlmap.org/,https://github.com/sqlmapproject/sqlmap,https://www.python.org . 注意:sqlmap只是用来检测和利用sql注入点的,并不能扫描出网站有哪些漏洞,使用前请先使用扫描工具扫出sql注入点. 特点:

Nginx使用Naxsi搭建Web应用防火墙(WAF),防xss、防注入×××

Naxsi是一个开放源代码.高效.低维护规则的Nginx web应用防火墙(Web Application Firewall)模块.Naxsi的主要目标是加固web应用程序,以抵御SQL注入.跨站脚本.跨域伪造请求.本地和远程文件包含漏洞.官网地址:https://github.com/nbs-system/naxsi Naxsi 不要求任何特定的依赖,它需要的 libpcre ,libssl ,zlib ,gzip 这些 Nginx 已经集成了. 下载Naxsi模块 [[email prote

PHP防XSS 防SQL注入的代码

作为开发人员时刻要记住一句话,永远不要相信任何用户的输入!很多时候我们的网站会因为我们开发人员写的代码不够严谨,而使网站受到攻击,造成不必要的损失!下面介绍一下如何防止SQL注入! 这里提供了一个函数,用来过滤用户输入的内容!使用POST传值的时候,可以调用这个函数进行过滤! /** * 过滤参数 * @param string $str 接受的参数 * @return string */ static public function filterWords($str) { $farr = ar

防止SQL注入和XSS注入的方法总结

1.在OpenResty中添加naxsi加强防御 https://github.com/nbs-system/naxsi 安装方法 https://www.cnblogs.com/kgdxpr/p/9841456.html 2.防止SQl注入的思路和方法 1.永远不要信任用户的输入.对用户的输入进行校验,可以通过正则表达式,或限制长度:对单引号和 双"-"进行转换等. 2.永远不要使用动态拼装SQL,可以使用参数化的SQL或者直接使用存储过程进行数据查询存取. 3.永远不要使用管理员权

XSS攻击&SQL注入攻击&CSRF攻击?

- XSS(Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式.跨站脚本攻击分有两种形式:反射型攻击(诱使用户点击一个嵌入恶意脚本的链接以达到攻击的目标,目前有很多攻击者利用论坛.微博发布含有恶意脚本的URL就属于这种方式)和持久型攻击(将恶意脚本提交到被攻击网站的数据库中,用户浏览网页时,恶意脚本从数据库中被加载到页面执行,QQ邮箱的早期版本就曾经被利用作为持久型跨站脚本攻击的平台).XSS虽然不是什么新鲜玩意,但是攻击

什么是XSS攻击?什么是SQL注入攻击?什么是CSRF攻击?

答: - XSS(Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式.跨站脚本攻击分有两种形式:反射型攻击(诱使用户点击一个嵌入恶意脚本的链接以达到攻击的目标,目前有很多攻击者利用论坛.微博发布含有恶意脚本的URL就属于这种方式)和持久型攻击(将恶意脚本提交到被攻击网站的数据库中,用户浏览网页时,恶意脚本从数据库中被加载到页面执行,QQ邮箱的早期版本就曾经被利用作为持久型跨站脚本攻击的平台).XSS虽然不是什么新鲜玩意,但

防XXS和SQL注入

对网站发动XSS攻击的方式有很多种,仅仅使用php的一些内置过滤函数是对付不了的,即使你将filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags这些函数都使用上了也不一定能保证绝对的安全. 那么如何预防 XSS 注入?主要还是需要在用户数据过滤方面得考虑周全,在这里不完全总结下几个 Tips 1. 假定所有的用户输入数据都是"邪恶"的 2. 弱类型的脚本语言必须保证类型和期望的一致 3.

.Net防sql注入的方法总结

#防sql注入的常用方法: 1.服务端对前端传过来的参数值进行类型验证: 2.服务端执行sql,使用参数化传值,而不要使用sql字符串拼接: 3.服务端对前端传过来的数据进行sql关键词过来与检测: #着重记录下服务端进行sql关键词检测: 1.sql关键词检测类: 1 public class SqlInjectHelper:System.Web.UI.Page 2 { 3 private static string StrKeyWord = "select|insert|delete|fro