目录
(1) 该版本默认会将*.asp;.jpg 此种格式的文件名,当成Asp解析,原理是服务器默认不解析;号及其后面的内容,相当于截断。
(2)该版本默认会将*.asp/目录下的所有文件当成Asp解析。
修复:微软认为这不是一个漏洞,所以要自己修复。
(3)llS6.x除了会将扩展名为.asp的文件解析为asp之外,还默认会将扩展名为.asa,.cdx,.cer解析为asp,
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4sbKYX9S-1660731137895)(C:\Users\25764\AppData\Roaming\Typora\typora-user-images\image-20220817095101981.png)]
(1)在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。
上传phpinfo的文件,命名为test.png,正常情况下不解析。但在后面加 /.php ,就可以以php格式运行。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QTnxxUxU-1660731137896)(C:\Users\25764\AppData\Roaming\Typora\typora-user-images\image-20220817095919146.png)]
但有的时候会显示404,原因是先提条件需关闭phpStudy_FastCGI中的请求限制。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rJ10Yj6m-1660731137896)(C:\Users\25764\AppData\Roaming\Typora\typora-user-images\image-20220817100649586.png)]
修复建议:
配置cgi.fix_pathinfo(php.ini中)为0(默认情况下值为1)并重启php-cgi程序。
漏洞概述
1.读取内存
2.dos攻击
远程执行代码漏洞存在于 HTTP 协议堆栈 HTTP.sys中,Http.sys是Microsoft Windows处理HTTP请求的内核驱动程序。当 HTTP.sys 错误解析经特殊构造的 HTTP 请求时会导致此漏洞。
成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码,可以远程读取IIS服务器的内存数据,或使服务器系统蓝屏崩溃。此漏洞并不是针对IIS的,而是针对Windows操作系统的,主要影响了包括Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2在内的主流服务器操作系统。
MS15-034漏洞指纹
通过在数据包的请求头上添加一串数据
Range: bytes=0-18446744073709551615
1)浏览器测试
在火狐浏览器中,按如下图片进行操作,将上述数据添加进请求头中,重发


返回状态码为416,Requested Range Not Satisfiable,表示存在HTTP.SYS远程代码执行漏洞

2)Kali上使用curl测试
使用下面的curl指令,添加请求头数据进行数据请求
curl http://192.168.31.84 -H "Host: 192.168.31.84" -H "Range: bytes=0-18446744073709551615"

返回Requested Range Not Satisfiable,且状态码为416,表示存在该漏洞
执行攻击操作
内存读取、dos攻击
1)读取服务器内存数据
使用msf的auxiliary/scanner/http/ms15_034_http_sys_memory_dump模块

设置相关信息,执行exploit,成功得到内存数据

2)进行ddos攻击
使用msf的auxiliary/dos/http/ms15_034_ulonglongadd模块,序号为0

设置相关信息,exploite执行

查看IIS服务器,发现已经蓝屏了,说明攻击成功。

漏洞描述:
IIS在网站拓展服务中开启了WebDAV,配合写入权限,存在PUT任意文件写入漏洞
测试环境:
WinSrv2003 IIS6.0
漏洞要求:
1.开启WebDAV,设置为允许

2.网站配置写入权限

测试:
使用BP进行抓包,将GET请求修改为OPTIONS进行发送,返回了WebDAV所支持的多种请求

修改为PUT请求,创建一个2.txt文件,并写入内容

成功创建写入文件
修复建议:
关闭WebDAV拓展
禁止网站写入权限
IIS 的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。
然后根据猜解的短文件名。继续通过其他方法猜文件名全名。
总结
该漏洞的意义:
1、 猜解后台地址
2、 猜解敏感文件,例如备份的rar、zip、.bak、.sql文件等。
3、 在某些情形下,甚至可以通过短文件名web直接下载对应的文件。
该漏洞的局限性:
1、 只能猜解前六位,以及扩展名的前三位。
2、 名称较短的文件是没有相应的短文件名的。
3、 不支持中文文件名
4、 如果文件名前6位带空格,8.3格式的短文件名会补进,和真实文件名不匹配
5、 需要IIS和.net两个条件都满足。
目录1.漏洞简介2、AJP13协议介绍Tomcat主要有两大功能:3.Tomcat远程文件包含漏洞分析4.漏洞复现 5、漏洞分析6.RCE实现的原理1.漏洞简介2020年2月20日,公开CNVD的漏洞公告中发现ApacheTomcat文件包含漏洞(CVE-2020-1938)。ApacheTomcat是Apache开源组织开发的用于处理HTTP服务的项目。ApacheTomcat服务器中被发现存在文件包含漏洞,攻击者可利用该漏洞读取或包含Tomcat上所有webapp目录下的任意文件。该漏洞是一个单独的文件包含漏洞,依赖于Tomcat的AJP(定向包协议)。AJP自身存在一定缺陷,导致存在可控
文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g
我正在构建一个应用程序,想知道是否将未使用的对象设置为nil是生产级编码中的常见做法。我知道这只是垃圾收集器的提示,并不总是处理对象。 最佳答案 根据这个thread如果您使用完一个成员对象,将其设置为nil将引发被引用对象被垃圾回收。如果它是局部变量,方法exit将做同样的事情。也就是说,如果您要求将成员显式设置为nil,我会质疑您的设计。 关于ruby-将对象设置为nil是否很常见?,我们在StackOverflow上找到一个类似的问题: https://
我最近与一位同事讨论了以下Ruby语法:value=ifa==0"foo"elsifa>42"bar"else"fizz"end我个人并没有看到太多这种逻辑,但我的同事指出,这实际上是一种相当普遍的Rubyism。我试着用谷歌搜索这个主题,但没有找到任何文章、页面或SO问题来讨论它,这让我相信这可能是一种非常实际的技术。然而,另一位同事发现语法令人困惑,而是将上面的逻辑写成这样:ifa==0value="foo"elsifa>42value="bar"elsevalue="fizz"end缺点是value=的重复声明和隐式elsenil的丢失,如果我们想使用它的话。这也感觉它与Ruby
什么是0day漏洞?0day漏洞,是指已经被发现,但是还未被公开,同时官方还没有相关补丁的漏洞;通俗的讲,就是除了黑客,没人知道他的存在,其往往具有很大的突发性、破坏性、致命性。0day漏洞之所以称为0day,正是因为其补丁永远晚于攻击。所以攻击者利用0day漏洞攻击的成功率极高,往往可以达到目的并全身而退,而防守方却一无所知,只有在漏洞公布之后,才后知后觉,却为时已晚。“后知后觉、反应迟钝”就是当前安全防护面对0day攻击的真实写照!为了方便大家理解,中科三方为大家梳理当前安全防护模式下,一个漏洞从发现到解决的三个时间节点:T0:此时漏洞即0day漏洞,是已经被发现,还未被公开,官方还没有相
安全产品安全网关类防火墙Firewall防火墙防火墙主要用于边界安全防护的权限控制和安全域的划分。防火墙•信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙是一个由软件和硬件设备组合而成,在内外网之间、专网与公网之间的界面上构成的保护屏障。下一代防火墙•下一代防火墙,NextGenerationFirewall,简称NGFirewall,是一款可以全面应对应用层威胁的高性能防火墙,提供网络层应用层一体化安全防护。生产厂家•联想网御、CheckPoint、深信服、网康、天融信、华为、H3C等防火墙部署部署于内、外网编辑额,用于权限访问控制和安全域划分。UTM统一威胁管理(Un
目录一.大致如下常见问题:(1)找不到程序所依赖的Qt库version`Qt_5'notfound(requiredby(2)CouldnotLoadtheQtplatformplugin"xcb"in""eventhoughitwasfound(3)打包到在不同的linux系统下,或者打包到高版本的相同系统下,运行程序时,直接提示段错误即segmentationfault,或者Illegalinstruction(coredumped)非法指令(4)ldd应用程序或者库,查看运行所依赖的库时,直接报段错误二.问题逐个分析,得出解决方法:(1)找不到程序所依赖的Qt库version`Qt_5'
我有一个Ruby数组[1,4]。我想在中间插入另一个数组[2,3],这样它就变成了[1,2,3,4]。我可以使用[1,4].insert(1,[2,3]).flatten实现这一点,但是有更好的方法吗? 最佳答案 您可以通过以下方式进行。[1,4].insert(1,*[2,3])insert()方法处理多个参数。因此,您可以使用splat运算符*将数组转换为参数。 关于ruby-如何在数组中间插入一个数组?,我们在StackOverflow上找到一个类似的问题:
在rails开发环境中,cache_classes是关闭的,所以你可以修改app/下的代码,不用重启服务器就可以看到变化。不过,在所有环境中,中间件只会创建一次。所以如果我有这样的中间件:classMyMiddlewaredefinitialize(app)@app=appenddefcall(env)env['model']=MyModel.firstendend我在config/environments/development.rb中执行此操作:config.cache_classes=false#thedefaultfordevelopmentconfig.middleware.
如果有人有兴趣将PDF文件保存在PDFKit中间件gem显示的文件系统中,那么这里是...重写middleware.rb文件的call方法。在覆盖中只需替换这一行:body=PDFKit.new(translate_paths(body,env),@options).to_pdf与pdf=PDFKit.new(translate_paths(body,env),@options)file=pdf.to_file('Your/file/name/path')Mymodel.my_method()#Youcanwriteyourmethodheretousethatfilebody=pdf