-
上传服务器高级别漏洞:任意文件上传导致服务器可被操控漏洞
2014-05-19 21:28:381.可以上传任意脚本文件,且上传的文件能够被Web服务器解析执行,具体来说就是存放上传文件的目录要有执行脚本的权限。 2.用户能够通过Web访问这个文件。如果文件上传后,不能通过Web访问,那么也不能成功实施攻击...攻击者要想成功实施文件上传攻击,必须要满足以下三个条件:
1.可以上传任意脚本文件,且上传的文件能够被Web服务器解析执行,具体来说就是存放上传文件的目录要有执行脚本的权限。
2.用户能够通过Web访问这个文件。如果文件上传后,不能通过Web访问,那么也不能成功实施攻击。
3.要知道文件上传到服务器后的存放路径和文件名称,因为许多Web应用都会修改上传文件的文件名称,那么这时就需要结合其他漏洞去获取到这些信息。如果不知道上传文件的存放路径和文件名称,即使你上传了也无法访问。
因此,针对此漏洞制定以下方案:
(1) 设置files文件夹下文件不可执行
(2) 设置后缀白名单,只允许规定后缀的文件上传(需确认都有哪些后缀)
参考文献:http://www.rising.com.cn/newsletter/news/2012-07-19/11966.html
-
CentOS给予port端口权限(搭建web…
2017-04-21 10:49:29这回第一次接触CentOS这款Linux系统,安全级别上了一个层次,代价就是各种通常方法安装的程序不能...apache命令搭建的web服务器改到自己的目录不能运行,用chmod加上777的权限以后还跟我说forbidden访问,给跪在那儿这回第一次接触CentOS这款Linux系统,安全级别上了一个层次,代价就是各种通常方法安装的程序不能直接使用。首先遇到的问题就是装了Netbeans这款用来编写Java的IDE后,编译的Socket程序只能本机互联,连本地互联都不行。其次是用yum install apache命令搭建的web服务器改到自己的目录不能运行,用chmod加上777的权限以后还跟我说forbidden访问,给跪在那儿了。
最后莫名其妙地解决了,大致回忆下思路。首先是web服务器,网上各种教程搭配,说起来对于centos有这么几点有用:
首先这个鬼配置文件etc/httpd/conf/httpd.conf,蓝色部分我直接全部注释掉了。找的教程说得不明不白,都不懂是注释一部分还是哪几个。干脆全部干掉
DocumentRoot "/var/www/html"
#
# Relax access to content within /var/www.
#
AllowOverride None
# Allow open access:
Require all granted
# Further relax access to the default document root:
#
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
#Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
#AllowOverride None
#
# Controls who can get stuff from this server.
#
#Require all granted
#Order deny,allow
#Deny from all
#其次是这个文件etc/httpd/conf/welcome.conf,同样蓝色部分也全部注释掉。省的每次开网站都只转跳到没有index主页的目录上。为了让根域名http://localhost直接显示主页,主页一定要命名为index.html而不是index.htm,一定是html而不是htm。
#
# This configuration file enables the default "Welcome" page if there
# is no default index page present for the root URL. To disable the
# Welcome page, comment out all the lines below.
#
# NOTE: if this file is removed, it will be restored on upgrades.
#
#
# Options -Indexes
# ErrorDocument 403 /.noindex.html
#
#
# AllowOverride None
# Require all granted
#
#Alias /.noindex.html /usr/share/httpd/noindex/index.html
#Alias /noindex/css/bootstrap.min.css /usr/share/httpd/noindex/css/bootstrap.min.css
#Alias /noindex/css/open-sans.css /usr/share/httpd/noindex/css/open-sans.css
#Alias /images/apache_pb.gif /usr/share/httpd/noindex/images/apache_pb.gif
#Alias /images/poweredby.png /usr/share/httpd/noindex/images/poweredby.png由于被CentOS的安全机制搞蒙了,所以直接用原配目录/var/www/html
建立主页文件index.html(注意不能用index.htm)
其次是自己搭建的服务器外网老是连不上,原因是防火墙并没有给开端口。例如java写的程序里面,打开端口4999,那么相应的在CentOS的Firewall程序里面,就得在public下添加4999端口:
-
关于WEB-INF的访问
2020-10-21 15:30:40WEB-INF里内容只能由服务器级别才能访问,客户端级别不能访问。 服务器级别的例子就是请求转发,转发是由服务器自己处理,跟客户端(浏览器)无关,所以浏览器上的地址栏也就不会改变。 客户端级别的例子就是重定向...先上图
说明
WEB-INF里内容只能由服务器级别才能访问,客户端级别不能访问。
服务器级别的例子就是
请求转发
,转发是由服务器自己处理,跟客户端(浏览器)无关,所以浏览器上的地址栏也就不会改变。
客户端级别的例子就是重定向
,两次请求,两次响应。所以地址栏会改变。为什么设置这种权限
为了安全。比如图中success.jsp在WEB-INF目录下,在页面中用超链接a标签或者js的location.href去直接转向它,会找不到。因为这种是客户端请求,设置这种权限就能保证一些文件的安全。
怎么让客户端级别可以访问
放在webapp下。
代码演示一波
- 看图可知,login.jsp文件在wepapp目录下,也就是项目名下。
login.jsp
<form method="post" action="${pageContext.request.contextPath}/login3.action"> 用户名:<input type="text" name="username"><br> 密 码:<input type="password" name="password"><br> <input type="submit" value="登录"> </form>
- 输入数据,提交到映射的处理器
UserController
@RequestMapping("login3.action") public void login3(User user, HttpSession session, HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { if ("jack".equals(user.getUsername())&&"1234".equals(user.getPassword())){ request.getRequestDispatcher("WEB-INF/jsp/success.jsp").forward(request,response); }else { response.sendRedirect("WEB-INF/jsp/fail.jsp"); } }
- 数据匹配正确,会请求转发。
注意,success.jsp页面在WEB-INF目录下,所以请求转发的路径参数要加上WEB-INF/jsp。 - 数据匹配不正确,会重定向。
注意,fail.jsp在WEB-INF目录下,所以该路径没写错。但是重定向的原理是让客户端再次访问,而WEB-INF目录下的文件不能被客户端访问,所以会报404-未找到。
有一些标签,可以访问到WEB-INF目录中的文件
如果符合要求的情况下也可以在jsp中使用,(原理也都是请求转发)如:
<a href="javascript:<jsp:forward page='WEB-INF/xxxx.jsp'/>"></a> <jsp:forward page = "/WEB-INF/jsp/test/test.jsp" /> <jsp:include page="WEB-INF/xxx.jsp">
-
Java Web过滤器(Filter)
2019-12-06 19:39:45Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能...1.Filter简介
Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。
Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter。通过Filter技术,开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截。
2.简单实现
- 步骤:
1. 定义一个类,实现接口Filter
2. 复写方法
3. 配置拦截路径- web.xml
- 注解
- 代码:
@WebFilter("/*")//访问所有资源之前,都会执行该过滤器 public class FilterDemo1 implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("filterDemo1被执行了...."); //放行 filterChain.doFilter(servletRequest,servletResponse); } @Override public void destroy() { } }
3. 过滤器细节
- web.xml配置
<filter> <filter-name>demo1</filter-name> <filter-class>cn.itcast.web.filter.FilterDemo1</filter-class> </filter> <filter-mapping> <filter-name>demo1</filter-name> <!-- 拦截路径 --> <url-pattern>/*</url-pattern> </filter-mapping>
- 过滤器执行流程
1. 执行过滤器
2. 执行放行后的资源
3. 回来执行过滤器放行代码下边的代码 - 过滤器生命周期方法
1. init:在服务器启动后,会创建Filter对象,然后调用init方法。只执行一次。用于加载资源
2. doFilter:每一次请求被拦截资源时,会执行。执行多次
3. destroy:在服务器关闭后,Filter对象被销毁。如果服务器是正常关闭,则会执行destroy方法。只执行一次。用于释放资源 - 过滤器配置详解
拦截路径配置: 1. 具体资源路径: /index.jsp 只有访问index.jsp资源时,过滤器才会被执行 2. 拦截目录: /user/ 访问/user下的所有资源时,过滤器都会被执行 3. 后缀名拦截: *.jsp 访问所有后缀名为jsp资源时,过滤器都会被执行 4. 拦截所有资源:/ 访问所有资源时,过滤器都会被执行 拦截方式配置:资源被访问的方式 * 注解配置: * 设置dispatcherTypes属性 1. REQUEST:默认值。浏览器直接请求资源 2. FORWARD:转发访问资源 3. INCLUDE:包含访问资源 4. ERROR:错误跳转资源 5. ASYNC:异步访问资源 * web.xml配置 * 设置<dispatcher></dispatcher>标签即可
- 过滤器链(配置多个过滤器)
执行顺序:如果有两个过滤器:过滤器1和过滤器2 1. 过滤器1 2. 过滤器2 3. 资源执行 4. 过滤器2 5. 过滤器1 过滤器先后顺序问题: 1. 注解配置:按照类名的字符串比较规则比较,值小的先执行 * 如: AFilter 和 BFilter,AFilter就先执行了。 2. web.xml配置: <filter-mapping>谁定义在上边,谁先执行
- 步骤:
-
IIS7 设置读取、脚本和可执行文件的执行权限的步骤
2021-01-11 05:34:20对IIS服务器,通过配置功能权限可以设置访问策略,访问...在IIS 5及IIS 6中,我们可以通过配置网站的属性来对网站的权限级别设置成以下几种情况:读取、写入、脚本资源访问、目录浏览、记录访问、纯脚本、脚本和可执 -
SSO-WebDemo
2013-08-12 20:25:57如下图所示,当浏览器访问了页面1时,web服务器设置了一个cookie,并将这个cookie和页面1一起返回给浏览器,浏览器接到cookie之后,就会保存起来,在它访问页面2的时候会把这个cookie也带上,Web服务器接到请求时也... -
施耐德能源PowerLogic能源管理系统产品目录.pdf
2019-09-22 07:02:42通过本地服务器接口、Web浏览客户端或其它有安全级别的终端服务器,将数据呈现给不同级别 权限的用户并进行控制访问。 信息和报警可以传输到手机、PDA或其他设备。 2、功能模块 (在主服务器或工作站) Management ... -
PHP和MySQL Web开发第4版pdf以及源码
2015-10-13 09:10:589.5.3 权限的类型和级别 9.5.4 REVOKE命令 9.5.5 使用GRANT和REVOKE的例子 9.6 创建一个Web用户 9.7 使用正确的数据库 9.8 创建数据库表 9.8.1 理解其他关键字的意思 9.8.2 理解列的类型 9.8.3 用SHOW和... -
IIS7 如何设置读取、脚本和可执行文件的执行权限
2012-08-10 13:44:00对IIS服务器,通过配置功能权限可以设置访问策略,访问策略指定 IIS 中 Web 服务器、站点、应用程序、目录或文件级别的所有处理程序可以具有的权限类型。 可以在访问策略中启用或禁用的功能权限包括读取、脚本和执行... -
windows server 2008 R2 之部署活动目录
2013-12-09 21:40:30安装域控制器的条件具有管理员权限拥有足够的磁盘空间有相应的DNS服务器支持有TCP/IP设置IP地址、子网掩码等本地磁盘至少有一个分区是NTFS文件系统操作系统版本必须满足条件(windows server 2008除web版本都满足)1... -
ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1
2013-08-19 05:43:51因权限只能到60MB,分卷压缩了,共3个压缩包,需下载完3个一起解压, ============================== ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了... -
php代码审计中常见的ini配置
2020-05-23 20:32:52文章目录PHP的配置文件php.ini.user.iniPHP相关语法相关变量配置启用全局变量短标签安全模式安全模式下执行程序主目录禁用类/函数上传文件及目录权限设置上传及最大上传文件大小:文件上传临时目录:用户访问目录限制:... -
JavaWeb——Filter过滤器和session监听器的实现
2021-02-27 21:55:28通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能... -
Java过滤器Filter讲解(Java基础)
2020-06-06 19:48:59Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理 的所有web资源:例如Jsp, Servlet, 静态图片文件或静态html文件等进行拦截,从而实现一些特殊的功能。... -
16.集成过滤器Filter
2020-07-10 13:51:04通过Filter可实现URL级别的权限访问控制、敏感词汇过滤以及响应信息压缩等一些高级功能。 2.全局访问过滤器开发 复制一份“集成MyBatis”的项目代码,修改项目名称为filter。然后在项目目录“/src/main/java/... -
Cerberus FTP Server v10.0.13.0.zip
2019-07-17 11:11:46程序支持多网卡环境,支持与系统用户帐号集成以及活动目录,支持续传,用户权限控制,连接数限制,超时设置,IP 地址自动阻止和黑名单等多种功能,另外提供了自动获取公网 IP 地址的功能,方便内网用户发布服务器。... -
缺少功能级的访问控制
2019-11-24 10:58:35大多数Web应用程序的功能在UI页面显示之前,会验证功能级别的访问权限。但是,应用程序需要在每个功能被访问时在服务器端执行相同的访问控制检查。如果请求没有被验证,攻击者能够伪造请求从而在未经适当授权时访问功能... -
asp.net 开发中配置开发环境导致的问题集,winxp sp2,iis5.1,vs2005,c# 2.0
2008-10-17 10:05:00刚开始学习c#,asp net 2.0的web开发.我先安装的vs2005 ,然后安装sql2005,再安装的iis5.1服务器....基于所提供的凭据,您没有权限查看此目录或网页。3.访问 IIS 元数据库失败4.在应用程序级别之外使用注册为 allo -
杰奇小说连载系统 v1.7.zip
2019-07-06 07:27:51在后台的系统管理里面,指的是将用户分成几个级别,每个级别直接与权限挂钩。一般在网站开放前设置好,以后如果再进行修改,则权限设置也需要修改。 4、权限设置 这是针对上面的用户组来区分权限的,系统和每个... -
Turbolinux 学习入门宝典
2011-04-08 20:14:104.6.5 Web 服务器, 特别是CGI 问题 69 4.6.6 Turbolinux 中不包括的个别程序问题 70 4.6.7 Linux 以外的特定系统中的问题 70 4.6.8 其它的问题 71 4.7 PC 中特有的问题 72 4.8 其它的安全性问题 72 4.9 补充充: 遇到... -
Serv-U最新注册版
2009-03-19 00:21:09当在用户、群组、域或服务器级别启用 "允许根('/')为未锁定用户列出驱动器" 时,未登录根目录的用户也可以充分利用该功能。 + 更改了 FEAT 命令,使其仅列出已启用的特殊命令。 + 更改了 "OPTS MLST" 命令,从而对... -
EngineerCMS ————工程师知识管理系统 Demo ——基于engineercms的设代资料管理...用户——角色——权限设置,树状目录权限,区分附件扩展名,基于casbin froala富文本编辑器支持word图片自动上传,视频和附件
-
citrix 中文管理操作手册
2009-11-04 12:05:31目录 XenApp 1 欢迎使用 XenApp 5 for Windows Server 2008 24 1. Citrix XenApp 管理 25 欢迎使用 Citrix XenApp 管理 25 管理控制台和其他工具 25 1.2.1. Access Management Console 概述 25 1.2.2. XenApp ... -
入门学习Linux常用必会60个命令实例详解doc/txt
2011-06-09 00:08:45Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux... -
小说系统连载(杰奇小说破解版)
2009-02-16 08:49:51在后台的系统管理里面,指的是将用户分成几个级别,每个级别直接与权限挂钩。一般在网站开放前设置好,以后如果再进行修改,则权限设置也需要修改。 4、权限设置 这是针对上面的用户组来区分权限的,系统和每个... -
windowsnt 技术内幕
2014-04-09 20:47:17利用Windows NT的安全性保护Internet 和Intranet站点 发布多虚拟Web服务器 锁定个Windows NT工作站 使用Windows NT许可协议管理器 设置许可协议复制 添加和删除客户访问许可协议(CALS) 建立许可协议组 网络客户管理... -
VB.NET 入门经典 (第三版)
2009-07-29 16:56:2618.1.1 创建MessageBox Web服务器控件 557 18.1.2 创建测试应用程序 558 18.1.3 完成Render方法 559 18.1.4 改变Visible属性的默认行为 559 18.1.5 给控件的可见性添加客户端脚本 561 18.2 小结 567 18.3 练习 567 ...