IIS6.0,Apache低版本,PHP CGI 解析漏洞

IIS6.0解析漏洞

在IIS6.0下存在这样的文件“名字.asp;名字.jpg

代表了jpg文件可以以asp脚本类型的文件执行。

根据这个解析漏洞我们可以上传这种名字类型的图片,比如
1397720-20180728134323128-249816585.png

1.asp;xxx.jpg 他会忽略;后边的内容,所以文件相当于1.asp

asp一句话木马

<%eval request ("pass")%>  

1397720-20180728134357818-1485724192.png

找到上传的路径后,可以直接用菜刀连接。如果对文件内容检测,就得使用图片马了。
1397720-20180728134434728-608132163.png

有时候他会把这个上传文件的目录设置为不可执行,那样就完了

iis6.0还存在一个解析漏洞,在以“名字.asp”的文件夹里面,里面的文件会以asp脚本运行。管理员不会蠢到建立这么一个文件夹,所以你得能建立并且把马传到这个很蠢的文件夹上边。
至今(2018年7月28日11:38:03),这两个漏洞还没有补丁。

PHP CGI漏洞

访问ip/web目录/1.jpg/1.php(1.php实际不存在,只存在1.jpg)会导致1.jpg以php文件形式执行。
新建个jpg,编辑文档的方式写入php代码,然后访问
1397720-20180728134741860-492431517.png

1397720-20180728134749552-869545558.png

一切都是因为这个配置,在php.ini里面:cgi.fix_pathinfo=1

等于1即是开启,当访问上边的目录是,Nginx看到最后的/1.php并不会先判断1.php是否存在,会直接交给php处理,php中的cgi.fix_pathinfo的原因,会把1.jpg当做名字叫做1.jpg/1.php这样一个php文件。

这个不是Nginx的漏洞,是php的毛病,解析文件时,IIS7.0也是如此。

解决办法:在php配置文件里,只允许php文件执行。不过在较高版本的php-fpm.confsecurity.limit_extensions设置只执行php php3 php4 phtml。我在windows安装的phpstudy上死活没找到这个配置文件,于是到linux上截了个图。1397720-20180728134507539-1304995302.png

Apache1.x/2.x解析漏洞

Apache从右向左解析文件,如果不认识就向左挪,比如

1.php.abc是个的文件, abc类型的apache不认识,因此就会被解析为php文件,相当于1.php

Apache认识的文件类型在conf目录下的mime.types文件中
1397720-20180728160558765-828471531.png

转载于:https://www.cnblogs.com/zaqzzz/p/9381799.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UVA 3485 Bridge

题目大意 你的任务是修建一座大桥。桥上等距地摆放着若干个塔&#xff0c;塔高为H&#xff0c;宽度忽略不计。相邻两座塔之间的距离不能超过D。塔之间的绳索形成全等的对称抛物线。桥长度为B&#xff0c;绳索总长为L&#xff0c;如下图所示求建最少的塔时绳索的最下端离地的高度…

javascript --- XMLHttp2级、CORS(跨域资源共享)

FormData: // 为序列化表单以及创建与表单格式相同的数据提供了便利 var data new FromData(); data.append("name", "Nicholas");// 使用FormData标准化数据后,发送到服务器 var xhr createXHR(); xhr.onreadystatechange function () {if ( xhr.read…

ES5-拓展 this指向的总结

每个函数在执行时都有自己的this指向 1. 默认绑定规则&#xff1a; 全局中&#xff0c;this指向window this window函数的独立调用&#xff0c;this默认指向window &#xff08;不要把独立调用理解成window调用&#xff09; // 函数在全局中调用&#xff0c;也就是被window调…

Applet

Applets用于为Web应用程序提供交互功能&#xff0c;这些功能无法单独由HTML提供。它们可以捕获鼠标输入&#xff0c;并且还具有按钮或复选框等控件。响应于用户动作&#xff0c;小应用程序可以改变提供的图形内容。这使得小程序非常适合演示&#xff0c;可视化和教学。 一个app…

国内初创企业选择云计算服务器价格对比

假设我们是一家初创企业&#xff0c;现在要选择第一台服务器。业务还未确定&#xff0c;只知道是互联网业务 要求&#xff1a; 至少2核&#xff0c;否则多线程的软件都跑不了至少4G内存&#xff0c;这样可以运行数据库或者elasticsearch这种比较吃内存的东西。或者说&#xff0…

javascript --- 几个其他的跨域技术(图像Ping、JSONP、Comet)

在CORS(Cross-Origin Resource Sharing,跨域资源共享)出现以前,要实现跨域Ajax通信是很难的. 可以利用DOM中能够执行跨域请求的功能,来实现跨域通信: 浏览器到服务器的单向通信: 此项技术称为图像Ping,利用的是img.src的跨域事件 img.src只能通过侦听load和error事件来确定浏览…

ES5-拓展 箭头函数的this、this的优先级

让内部函数的this指向和父函数的this&#xff0c;可以显示改变this指向&#xff0c;也可以使用箭头函数 箭头代替了function关键字 箭头函数内部没有this指向&#xff0c;箭头函数的this是稳定引用父作用域的。因为它的存在就是要稳定this指向。 适用于普通函数的所有绑定规则…

java 实现压缩单个文件

先来实现一个简单的单文件压缩&#xff0c;主要是为了解一下压缩需要使用到的流。。 效果&#xff1a; 说明&#xff1a;压缩实现使用ZipOutputStream 代码&#xff1a; package com.gx.compress;import java.io.BufferedInputStream; import java.io.BufferedOutputStream; im…

jekins构建触发器详解

jenkins版本&#xff1a;2.89.2 1、触发远程构建 (例如,使用脚本)&#xff1a;通过一个网址的访问来触发构建&#xff0c;这样就不需要登录jenkins系统也能触发构建了。 示例地址&#xff1a; http://localhost:8848/job/FlashRegistration/build??token口令&cause书写构…

http --- 前端的缓存

前端的缓存分为: http缓存 和 浏览器缓存 http缓存: // 当客户端向服务器请求资源时,会先抵达浏览器缓存,如果浏览器有"要请求资源"的副本 // 就会从浏览器缓存中提取而不是从原始服务器中提取这个资源// 常见的http缓存,只能缓存get请求响应的资源,对于其他类型的响…

ES5-拓展 隐式数据类型转换

Boolean转换原则&#xff1a;非假即真 6种虚值 原始值转换为原始值 对象转换为原始值 Date()和new Date() new Date可以不写括号(new方式返回的一定是对象)&#xff0c;返回Date对象Date()返回函数执行&#xff0c;返回时间字符串 引用值转原始值 先找valueOf方法(一般…

Swagger的简单入门【转载】

一、Swagger简介 上一篇文章中我们介绍了Spring Boot对Restful的支持&#xff0c;这篇文章我们继续讨论这个话题&#xff0c;不过&#xff0c;我们这里不再讨论Restful API如何实现&#xff0c;而是讨论Restful API文档的维护问题。 在日常的工作中&#xff0c;我们往往需要给前…

visual studio code搭建本地服务器(node.js+express)

一、安装node.js&#xff08;常规软件安装流程&#xff0c;比较简单&#xff0c;不用赘述&#xff09; 二、安装express框架 1. 打开Windows命令提示符&#xff0c;输入&#xff1a; npm install express -g&#xff0c;等待&#xff0c;安装好如下所示&#xff1a; npm instal…

es6 --- 手写一个promise

一个promise实例: var getJSON function(url) {var promise new Promise(function(resolve, reject) {// XHR对象发现ajax请求var client new XMLHttpReqeust();client.open("GET", url);client.onreadystatechange handler;client.responseType "json&qu…

最大流模版 EK

EK算法基于增广路的思想,易于理解,但由于低效并不被经常使用 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> #include <queue> using namespace std; const int MAXN10005,MAXM100005…

Restrictions查询用法

Restrictions查询用法 HQL运算符 QBC运算符 含义 Restrictions.eq() 等于equal <> Restrictions.ne() 不等于not equal > Restrictions.gt() 大于greater than > Restrictions.ge() 大于等于greater than or equal < Restrictions.lt() 小…

chrome调试

技术拓展直播课8 按chrome的官方文档 长按刷新 清除缓存&#xff08;不一定好使&#xff09; Ctrl f 查找类 console控制台见b站 bilibili source面板直接打断点 效果和debugger一样 单步调试 进入到函数的下一步 网速 no throttling 是否需要过滤 domcontentloaded d…

es6 --- promise和async/await的区别

首先需要了解async函数: async是Generator函数的语法糖: // 使用Generator依次读取两个文件 var fs require(fs); var readFile function (fileName) {return new Promise(function (resolve, reject) {fs.readFile(filename, function(error, data) {if (error) return re…

Ueditor百度编辑器中的 setContent()方法的使用

百度编辑器Ueditor所提供的setContent()方法作用是&#xff1a;设置或者改变编辑器里面的文字内容或html内容 函数说明&#xff1a;setContent(string,boolean); 参数string 是需要设置到编辑器里面的内容&#xff0c;可以含有HTML代码&#xff0c;最后插入到编辑器中的内容是经…

小程序UI

从input组件说起 <input maxlength"10" placeholder"最大输入长度10" /> <div id"wrapper" disabled$"{{disabled}}">\n <p id"placeholder" class$"{{_getPlaceholderClass(placeholderClass)}}"…