为什么经过nginx反向代理后 反而出来了很多xss漏洞
试试腾讯电脑管家,杀毒+管理2合1,还可以自动修复漏洞:第一时间发现并修复系统存在的高危漏洞,在不打扰您的情况下自动为系统打上漏洞补丁,轻轻松松将病毒木马拒之门外。自动修复漏洞 电脑管家可以在发现高危漏洞(仅包括高危漏洞,不包括其它漏洞)时,第一时间自动进行修复,无需用户参与,最大程度保证用户电脑安全。尤其适合老人、小孩或计算机初级水平用户使用
linux服务器中木马怎么处理
以下从几个方面在说明Linux系统环境安排配置防范和木马后门查杀的方法:
一、Web Server(以Nginx为例)
1、为防止跨站感染,将虚拟主机目录隔离(可以直接利用fpm建立多个程序池达到隔离效果)
2、上传目录、include类的库文件目录要禁止代码执行(Nginx正则过滤)
3、path_info漏洞修正:
在nginx配置文件中增加:
if ($request_filename ~* (.*)\.php) {
set $php_url $1;
}
if (!-e $php_url.php) {
return 404;
}
4、重新编译Web Server,隐藏Server信息
5、打开相关级别的日志,追踪可疑请求,请求者IP等相关信息。
二.改变目录和文件属性,禁止写入
find -type f -name \*.php -exec chmod 444 {} \;
find -type d -exec chmod 555 {} \;
注:当然要排除上传目录、缓存目录等;
同时最好禁止chmod函数,攻击者可通过chmod来修改文件只读属性再修改文件!
三.PHP配置
修改php.ini配置文件,禁用危险函数:
disable_funcions = dl,eval,exec,passthru,system,popen,shell_exec,proc_open,proc_terminate,curl_exec,curl_multi_exec,show_source,touch,escapeshellcmd,escapeshellarg
四.MySQL数据库账号安全:
禁止mysql用户外部链接,程序不要使用root账号,最好单独建立一个有限权限的账号专门用于Web程序。
五.查杀木马、后门
grep -r –include=*.php ‘[^a-z]eval($_POST’ . grep.txt
grep -r –include=*.php ‘file_put_contents(.*$_POST\[.*\]);’ . grep.txt
把搜索结果写入文件,下载下来慢慢分析,其他特征木马、后门类似。有必要的话可对全站所有文件来一次特征查找,上传图片肯定有也捆绑的,来次大清洗。
查找近2天被修改过的文件:
find -mtime -2 -type f -name \*.php
注意:攻击者可能会通过touch函数来修改文件时间属性来避过这种查找,所以touch必须禁止
六.及时给Linux系统和Web程序打补丁,堵上漏洞
nginx可以防止sql注入吗
防御原理:
1. 通过以上配置过滤基本的url中的注入关键字;
2. 当然,数据库中的用户密码得加密存放 ;
3. php程序进行二次过滤,过滤GET和POST变量中的关键字;
4. 生产环境关闭PHP和MySQL的错误信息。
SQL注入攻击一般问号后面的请求参数,在nginx用$query_string表示
nginx被劫持 如何处置
一台服务器,centos 6,安装了nginx,并且做了一定的安全防范,防止木马和非法解析
近期其中一个网站因为安全问题,被人上传了木马,木马名称是js.php,通过日志查看,黑客将木马复制到了其他的网站目录
网站被黑的现象是,访问网站的时候,输入网站域名,网站内的链接全部变为这个服务器的ip地址开头或者其他解析到这个服务器但没有使用的域名开头。重启了nginx服务后就恢复正常了。
现在问题是,我不知道木马和这个现象是否是有关联性,这个木马的作用就是浏览目录上传文件提取等。
另外我还想知道他是如何实现域名的劫持的,可以随意让所有页面输出同样的文字和内容,或者转向到其他域名或本机地址,原理怎样的,应如何解决?急求大虾相助。。。
电脑突然出现多个nginx.exe进程,总进程最后有三百多个,大部分是nginx.exe进程。请
可以想想近期对系统做过的人为改动,比如驱动更新,系统设置变化,软件有变化等等。
如果此进程出现后,系统操作出现异常,比如卡慢现象等,就需要注意,也许为病毒。
可以使用类似 冰刃 等软件查看系统各个端口以及进程的状态,实时监控。试试看吧
nginx防止sql注入
防止sql注入最好的办法是对于提交后台的所有数据都进行过滤转义。
对于简单的情况,比如包含单引号'
,
分号;,
,
,
等字符可通过rewrite直接重订向到404页面来避免。
用rewrite有个前提需要知道,一般用rewrite进行正则匹配只能匹配到网页的URI,也就是url中?前部分,?以后部分是请求参数。
问号后面的请求参数,在nginx用$query_string表
示,不能在rewrite中匹配到,需要用if判断
例如,对于参数中带有单引号的'进行匹配然后定向到错误页面,
/plus/list.php?tid=19mid=1124'
rewrite
^.*([;']).*
/error.html
break;
直接写这样的一条重写肯定不会正确匹配,因为rewrite参数只会匹配请求的uri,也就是/plus/list.php部分。
需要使用$query_string
借助if进行判断,如果查询串种包含特殊字符,返回404。
if
(
$query_string
~*
".*[;'].*"
){
return
404;
}