当前位置: 首页 > news >正文

上海工作网站保洁公司网站模板

上海工作网站,保洁公司网站模板,设计师人才网,太湖网站建设推荐秒搜科技随着互联网的迅速发展#xff0c;网络安全问题变得日益复杂#xff0c;而文件解析及上传漏洞成为攻击者们频繁攻击的热点之一。本文将深入研究文件解析及上传漏洞#xff0c;通过对文件上传、Web容器IIS、命令执行、Nginx文件解析漏洞以及公猫任意文件上传等方面的细致分析网络安全问题变得日益复杂而文件解析及上传漏洞成为攻击者们频繁攻击的热点之一。本文将深入研究文件解析及上传漏洞通过对文件上传、Web容器IIS、命令执行、Nginx文件解析漏洞以及公猫任意文件上传等方面的细致分析揭示这些漏洞背后的本质和攻击方式。        文件上传漏洞一直是攻击者们渗透系统的首选方式。通过构造巧妙的上传文件攻击者能够实施多种恶意行为如上传包含恶意脚本的文件从而实现远程代码执行。本文将深入探讨文件上传漏洞的工作原理、攻击场景并通过实际案例为读者提供更直观的理解帮助其更好地认识这一类型漏洞的威胁性。        在网络攻击的舞台上Web容器扮演着至关重要的角色。特别是在Windows操作系统下IIS作为最为常见的Web服务器存在着多种可能的文件解析和上传漏洞。本文将详细探讨这些潜在的漏洞揭示攻击者如何善用这些漏洞渗透系统以帮助读者更全面地了解并防范这一类威胁。 三、IIS命令执行及apache文件解析漏洞 1、IIS6.0命令执行漏洞 1、漏洞介绍 IIS6.0命令执行漏洞编号是CVE-2017-7269在开启WebDav服务的情况下存在可远程执行漏洞。 漏洞原理是在IIS6.0处理PROPFIND指令的时候由于对url的长度没有进行有效的长度控制和检查导致执行memcpy对虚拟路径进行构造的时候引发栈溢出该漏洞可以导致远程代码执行。 2、关于栈溢出 3、关于栈溢出 栈溢出是缓冲区溢出中的一种缓冲区溢出就好比一个杯子倒太多的水洒出来这叫溢出。 有一些函数对用户的输入不作任何检查分配的内存空间是有限的如果输入超长的字符串必然会导致溢出。 缓冲区溢出中最为危险的是堆栈溢出因为入侵者可以利用堆栈溢出在函数返回时改变返回程序的地址让其跳转到任意地址带来的危害一种是程序崩溃导致拒绝服务另外一种就是跳转并且执行一段恶意代码比如得到系统权限然后为所欲为。 IIS6.0命令执行的简单原理就是这样 4、环境 IIS6.0漏洞触发的前提条件是WebDav开启 如果默认情况下是不开启的需要使用以下方法开启 5、攻击方法 Github上的一个开源exp: GitHub - zcgonvh/cve-2017-7269: fixed msf module for cve-2017-7269 将exp中的ip地址改为虚拟机 (目标) 的IP地址 6、攻击结果 这个exp的结果是弹出计算器验证漏洞可以执行代码。 ScStoragePathFromUrl函数存在缓存区溢出漏洞攻击者通过一个以“If:http://”开始的较长header头的PROPFIND请求执行任意代码: 2、Apache 文件解析介绍 1、环境简介 Apache文件解析漏洞与用户的配置有密切关系严格来说属于用户配置问题这里要讲解配置出错的原因以及修复方法所以需要自备环境。 使用ubuntu的docker。然后运行以下命令即可 apt-get install apache2 apt-get install php7.0 apt-get install libapache2-mod-php7.0 2、Apache和php三种结合方法 CGI: 通常翻译为共同网关接口是HTTP服务器与机器上的其他程序进行通信的一个接口让Web服务器必要时启动额外的程序处理动态内容。FastCGI: CGI解释器的更快实现可以提供良好的性能、伸缩性、Fail-Over特性等等。 Module: 把php编译为apache的模块也是用的最多的一种方法我们这里要讲的这个Apache文件解析漏洞就发生在Module结合方法上也就是我们之前配置apt-get install libapache2-mod-php7.0 查看Apache和php的结合方法: 3、Apache解析文件的方法 一个重要文件/etc/mime.types 这里记录了大量的文件后缀和mime类型,当客户端请求一个文件时,如果后缀在这个列表里,那么apache就返回对应的content-type给浏览器.如果不在列表,apache不会返回content-type给浏览器,而直接文件内容,由浏览器自动外理。 4、Apache解析php的方法 ①、Cat /etc/mime.types  grep php 这里关于php的全部都被注释掉了 ②、etc/apache2/mods-enabled/php7.2.conf 意思是如果请求的文件名匹配正则:. .ph(p[3457]?ltltml)$也就是说 (phplphp3lphp4lphp5lphp7lphtlphtml) 是文件的最后一个后缀则把文件交给php处理器 (php_module) 来处理,处理完之后结果返回给apache,再由apache发送给浏览器。 3、Apache 文件解析漏洞 1、漏洞原理 ①、Apache文件解析漏洞涉及到一个解析文件的特性:Apache默认一个文件可以有多个以点分隔的后缀,当右边的后缀无法识别不在mime.types内),则继续向左识别. 当我们请求这样一个文件:shell.php.xxx.yyy yyy - 无法识别,向左 xxx - 无法识别,向左 php - 发现后缀是php交给php处理这个文件 在web目录下创建一个1.php.aaa然后访问该文件 ②、可以看到并没有解析成PHP那为什么呢?其实,apache本身根本不存在所谓的解析漏洞我们回顾一下请求的过程: 当我们请求这样一个文件:shell.php.xxx.yyy yyy - 无法识别,向左 xxx - 无法识别,向左 SEO网线 php - 发现后缀是php交给php处理这个文件 最后一步虽然交给了php来处理这个文件但是php也不认识.aaa的后缀啊所以就直接输出了。 ③、其实解析漏洞的产生,是由于运维人员在配置服务器时为了使apache服务器能解析php而自己添加一个handler例如:AddHandler application/x-httpd-php .php 它的作用也是为了让apache把php文件交给php_module解析,但是注意到它与SetHandler:它的后缀不是用正则去匹配的。所以,在文件名的任何位置匹配到php后缀,它都会让php_module解析。 ④、现在访问1.php.xxx.yyy之后解析的流程是这样的 yyy - 无法识别,向左 xxx - 无法识别,向左 php - 激活php处理器,执行PHP代码 解析漏洞就产生了 现在访问1.php.aaa可以看到解析成功 2、修复方法 不要使用AddHandler,改用SetHandler,写好正则,就不会有解析问题 FilesMatch. .php$ SetHandler application/x-httpd-php /FilesMatch 禁止.php.这样的文件执行 FilesMatch . .ph(p[3457]?ltltml)\. Require all denied /FilesMatch 四、Nginx文件解析漏洞 1、Nginx配置 1、平台 操作平台: ubuntu14 docker pull ubuntu:14.04.5 2、配置方法 ①、使用docker run -d -it -p 本机端口:80 ubuntu:14.04.5 启动镜像 使用docker exec -it [容器ID] /bin/bash 进入容器 然后使用以下语句安装相关环境: apt-get update # 更新源 apt-get install vim # 安装vim apt-get install nginx # 安装nginx service nginx start # 启动nginx服务 apt-get install php5-fpm # 安装php5-fpm ②、刚安装好的Nginx是不能解析php的:需要修改配置文件 etc/nginx/sites-available/default ③、Nginx的两种启动方式第五行如果打开就是使用tcp方式启动,php-fpm将会本地监听9000端口如果倒数第三行打开则是使用套接字方式启动 ④、现在使用/etc/init.d/php5-fpm start启动web服务。 然后到web目录中写一个测试的php文件重启nginx服务 尝试访问如果可以解析则环境配置成功 3、相关目录 usr/share/nginx/html # 默认web目录 /etc/nginx/# 配置文件目录 etc/php5/fpm # php配置文件目录 var/log/nginx/access.log # 访问日志 var/log/nginx/error.log # 错误日志 2、Nginx目录遍历 1、原理 Nginx的目录遍历与apache的一样属于配置方面的问题错误的配置可能导致目录遍历与源码泄露。构造一个的目录来模拟器的web目录 2、修改配置文件 ①、Nginx默认是不会开启目录遍历的这里我们需要修改配置文件vim /etc/nginx/sites-available/default 在location这里加上autoindexon; 重启nginx ②、访问目录就可以看到这样的效果 apache是否也存在这样的问题? 3、Nginx文件解析漏洞 1、原理 ①、(1)、对任意文件名在后面添加/任意文件名.php的解析漏洞比如原本文件名是test.jpg可以添加为test.jpg/x.php 进行解析攻击。(2)、对低版本的Nginx 可以在任意文件名后面添加%00.php 进行解析攻击。 ②、Nginx下,请求文件/shell.gif时在后面加个*.php,即/shell.gif/1.php,可能会被当作PHP代码执行 和Apache一样Nginx也是通过mime.types识别文件文件 在/etc/nginx/mime.types ③、创建一个1.jpg然后访问1.jpg/1.php显示:“Access denied.原因 Nginx拿到文件路径/1.jpg/1.php后一看后缀是.php便认为该文件是php文件转交给php去处理。php一看/1.jpg/1.php不存在便删去最后的/1.php又看/1.jpg存在便把/1.jpg当成要执行的文件了又因为后缀为.jpgphp认为这不是php文件于是返回“Access denied.” ④、cgi.fix_pathinfo该值默认为1表示开启。 用途:对文件路径进行“修理 当php遇到文件路径“/aaa.xxx/bbb.yyy/ccc.zzz”时若“/aaa.xxxbbb.yyy/ccc.zzz”不存在则会去掉最后的“/ccc.zzz”然后判断“aaa.xxx/bbb.yyy”是否存在若存在则把“/aaa.xxx/bbb.yyy”当做文件“/aaa.xxx/bbb.yyy/ccc.zzz”若“/aaa.xxx/bbb.yyy”仍不存在则继续去掉“/bbb.yyy”以此类推 2、配置 ①、cgi.fix_pathinfo这个配置在php.ini 中可以修改默认是开启的/etc/php5/fpm/php.ini 默认是1不需要修改 ②、配置/etc/php5/fpm/pool.d/www.conf中security.limit_extensions允许解析其他格式文件为PHP 3、测试 再次访问1.jpg/1.php 4、目录遍历修复方法 将/etc/nginx/sites-available/default配置文件修改: autoindex on修改成autoindex off 5、文件解析漏洞修复方法 ①、将php.ini文件中的cgi.fix_pathinfo的值设为0。这样php在解析1.jpg/1.php这样的目录时只要1.php不存在就会显示404. ②、将/etc/php5/fpm/pool.d/www.conf中security.limit_extensions后面的值设为.php。
http://www.dnsts.com.cn/news/213184.html

相关文章:

  • 大连专业模板网站制作公司贵阳有哪些可以制作网站的公司吗
  • o2o网站开发方案网站项目报价
  • 有哪些做网站好的公司山西建设网站
  • 商城网站建设合同网站建设的相关问题
  • 珠海市网站建设企业南昌seo快速排名
  • 如何用dw8做网站视频水土保持生态建设网站
  • 中国建设银行网站色彩自媒体运营小程序开发网站建设
  • 网站的网络推广策略有哪些wordpress同步到
  • 手机排行榜网站网站301重定向怎么做
  • 一个网站需要多少钱深圳做男装什么网站容易找工
  • 开发做网站公司小城镇建设 网站官方
  • 网站推广朋友圈文案西安市建设工程信息网工程交易平台
  • 网站服务器速度对seo有什么影响做网站什么一级导航二级导航
  • 好网站滕州做网站
  • 佛山自助建站系统热点网站建设
  • 不建网站网络营销怎么做烟台食品公司中企动力提供网站建设
  • 网站标题怎么写建网站网站
  • 完全网络营销网站jsp开源网站
  • 直接用ip访问网站网站建设的优势
  • 长沙建网站一般要多少钱企业网站开发平台
  • 做视频网站都需要什么软件自己注册公司流程和费用多少
  • 炫酷个人网站云相册网站怎么做的
  • 网站上的用户注册怎么做的网站怎么注销主体
  • 做招聘网站多少钱网站qq在线状态
  • 域名到期换个公司做网站沧州制作网站
  • yy头像在线制作网站网站开发的经济可行性
  • django网站开发实例韩城建设公司网站
  • 票务网站做酒店推荐的目的个人建站什么网站好
  • 北京网站优化对策网站开发培训排名
  • 帮别人设计网站的网站深圳住房与城乡建设部网站