`
wangdei
  • 浏览: 378675 次
社区版块
存档分类
最新评论

Hidden型参数变量未过滤导致的上传漏洞利用一则

阅读更多

http://www.lengmo.net/post/1218/

无意中看见一个图形设计网站,网站全部由静态asp构成,做得十分漂亮。感叹它设计精美的同时,不由心里嘀咕,全静态asp页面的确能防止注入漏洞的产生,但WEB漏洞不止注入这一种,我很想看看这个网站在其他漏洞的防范方面做得如何。

在Google上搜索了一阵,翻到了这个网站的一个上传页面,发现它没有做验证,任何人都可以上传图片文件,于是决定从这里入手。

试着上传.asp文件,直接跳出对话框(图1)

Highslide JS

查看源文件,可以看出是用JavaScript在本地做了限制。(图2)

Highslide JS



把源文件中的JavaScript代码全部删除,修改post的地址为绝对网址,之后另存为htm文件。再次上传.asp文件,几秒钟后出现结果如图3

Highslide JS



可以想到虽然程序没有禁止外部提交数据,但是文件在上传到服务器保存时又做了一遍验证,如果要保存的文件名后缀不合法,则拒绝执行。

以下是源代码中的相关部分(图4)

Highslide JS



继续,上传一个正常的图片文件并抓包。(如图5、6)

Highslide JS



Highslide JS



把抓包得到的数据与上传页面的源文件相对照

抓包数据,如图7

Highslide JS



源文件中对应部分如图8

Highslide JS



可以发现有很多隐藏的参数在里面,而这些参数的值默认都是空的。如果我们改变这些参数的值,结果会怎样呢?

把源文件中的“hidden”改为“text”,如图9

Highslide JS



保存后打开,如图10

Highslide JS



现在这些参数的值可以自己构造了

试验着改参数值上传了几次之后,摸到了一点规律。

把参数“mulu”对应的值改为asp.asp,试试上传gif后缀的asp小马

Highslide JS



上传成功

Highslide JS



由抓包的数据中找到上传路径,提交看看,

Highslide JS



出现了可爱的画面。

可以想到这个上传程序的运行方式是,在处理参数“mulu”的值的时候,如果值不为空则创建,于是就在服务器上创建了一个“asp.asp”目录。

以下是源代码中的相关部分

Highslide JS



可以看到对提交的变量只是简单的把“/”转换成了“\” ,其他没有做任何过滤。这里即漏洞所在。

Win2003存在着一个文件解析路径的漏洞,当文件夹名为类似asp.asp的时候(即文件夹名看起来像一个ASP文件的文件名),此时此文件夹下的文本类型的文件都可以在IIS中被当做ASP程序来执行,因此我们上传的xiaoma.gif被作为asp程序执行了。

之后就是写个大点的webshell进去,如图15

Highslide JS



结果出错,无法写入

Highslide JS



换了几个小马都是如此,看来不是小马的问题,可能FSO组件被禁用或者改名了。

直接上传大马不能执行

Highslide JS



Highslide JS



大概是服务器解析目录“asp.asp”的时候把这个目录当作了asp文件,因此出错。

为了看清楚些,把asp探针文件后缀改为gif传了上去。

Highslide JS



Highslide JS



这么看就明白了。

怎么突破呢?可以看到,虽然禁用了FSO组件,但是WScript.Shell组件和Shell.Application组件还在,我们可以用它们来读写文件,只要把用WScript.Shell组件或Shell.Application组件读写文件的webshell写到“asp.asp”以外的web目录里执行就可以了。

这里可以利用的写文件方法很多,如XML写文件,JMail写文件,ASPUpload上传都可以。这里我用ASPUpload上传。

构造两个文件“本地提交用.htm”和“upload.gif”,代码如图21

Highslide JS



upload.gif上传到服务器,本地提交用.htm 用于本地打开提交上传文件。

Highslide JS



Highslide JS



成功上传海洋顶端木马到上一层目录,并可以正常使用。

Highslide JS



服务器的权限设置不严,webshell可以浏览所有文件及目录,同时SERV-U为默认设置且没有设置管理密码,还是system启动服务运行的。(=_=!)

Highslide JS



很容易地利用SERV-U提升权限,并添加管理员用户sai52

Highslide JS



Highslide JS



本次检测到这里就结束了。这个网站安全方面外紧内松,程序员和管理员都有责任,不过我个人认为,主要还是管理员的责任<!---->

分享到:
评论

相关推荐

    PHP程序常见漏洞攻击宝典

    例如,在处理表单提交的数据时,如果未对变量进行适当的验证和过滤,恶意用户可以通过构造特定的输入来触发漏洞或注入恶意代码。 #### HTTP请求方法的滥用 PHP允许通过HTTP请求(如GET和POST)接收数据,并且这些...

    PHP程序的常见漏洞攻击分析.txt

    例如,如果用户提交了恶意数据(如SQL注入或命令执行尝试),而程序未进行适当的验证与过滤,则可能导致严重的后果。 #### 条件绕过攻击 条件绕过攻击是一种常见的漏洞类型,通常发生在开发者没有正确验证用户输入...

    PHP漏洞全解

    文件上传漏洞是指攻击者通过上传恶意文件到服务器,进而利用这些文件进行进一步的攻击行为。 **示例:** 攻击者上传包含恶意脚本的图片文件。 ##### 11. 目录穿越漏洞(Directory Traversal) **定义与原理:** ...

    net学习笔记及其他代码应用

    然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中...

    文化遗产保护:MATLAB点云处理在古建筑形变监测中的实践.pdf

    文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 你是否渴望高效解决复杂的数学计算、数据分析难题?MATLAB 就是你的得力助手!作为一款强大的技术计算软件,MATLAB 集数值分析、矩阵运算、信号处理等多功能于一身,广泛应用于工程、科学研究等众多领域。 其简洁直观的编程环境,让代码编写如同行云流水。丰富的函数库和工具箱,为你节省大量时间和精力。无论是新手入门,还是资深专家,都能借助 MATLAB 挖掘数据背后的价值,创新科技成果。别再犹豫,拥抱 MATLAB,开启你的科技探索之旅!

    敏感图片敏感图片敏感图片敏感图片敏感图片敏感图片11

    敏感图片敏感图片敏感图片敏感图片敏感图片敏感图片11敏感图片敏感图片敏感图片敏感图片敏感图片敏感图片1122

    通信管道统建工程施工合同.docx

    通信管道统建工程施工合同.docx

    挂载网盘到本地工具.zip

    挂载网盘到本地工具.zip

    Spatial intelligence and geography 空间智能和地理.doc

    Spatial intelligence and geography 空间智能和地理.doc

    黑板风格毕业答辩模板25个

    黑板风格毕业答辩模板是一系列富有创意和趣味性的答辩文档模板,专为追求独特表达的大学生设计。这25个模板模拟了传统黑板的效果,结合了手绘风格与现代设计理念,使得内容呈现既生动又具学术感。每个模板都强调清晰的结构和易于理解的布局,适用于各类学科和研究领域,帮助学生有效地展示研究成果和核心观点。 黑板风格不仅带来亲切感,还能唤起人们对课堂学习的回忆,为答辩增添了轻松而专业的氛围。这些模板配备了丰富的图标、示意图和配色,既美观又实用,能够帮助学生在答辩中更好地吸引评审的注意力,增强信息的传达效果。无论是科技、艺术还是人文社科,黑板风格毕业答辩模板都能够为你的演示增添一份独特的魅力,提升你的表现,助力你在毕业答辩中取得成功。

    世邦魏理仕:2021年重庆房地产市场回顾与2022年展望.pdf

    世邦魏理仕:2021年重庆房地产市场回顾与2022年展望

    IMG_20250416_154916.jpg

    IMG_20250416_154916.jpg

    智慧农业大数据平台解决方案PPT(65页).pptx

    智慧农业,作为现代农业的新篇章,正引领着农业生产的革命性变革。本解决方案以物联网、云计算、大数据等先进技术为核心,为农业生产打造了一套全面、智能的管理系统。 想象一下,从温室大棚到广袤田野,智能传感器遍布每个角落,它们能实时感知空气温湿度、土壤水分、光照强度等环境参数,仿佛为农作物装上了“眼睛”和“耳朵”。这些数据通过物联网技术传输到云端,经过大数据分析,为农民提供精准的种植建议,如何时灌溉、施肥、防虫,让农业生产变得更加科学、高效。 更有趣的是,通过智慧农业平台,农民可以远程监控作物生长情况,甚至用手机就能控制温室大棚的遮阳板、通风设备等,实现“指尖上的农业”。此外,方案还包含了农产品可追溯系统,从田间到餐桌,每一步都可追溯,让消费者吃得放心。而智慧农业电商平台,则让农产品销售更加便捷,农民直接对接市场,收益倍增。 总之,这套智慧农业解决方案不仅让农业生产变得更加智能、高效,还提升了农产品的质量和安全,为农民带来了实实在在的收益,开启了农业现代化的新篇章。 对于想要投身智慧农业领域的你来说,这不仅仅是一套解决方案,更是一把开启现代农业大门的钥匙,引领你走向更加辉煌的未来。

    自动承保新员工示例-雇主责任险

    自动承保新员工示例-雇主责任险

    Java编程实现Redis集群连接与操作:含密码配置及异常处理机制设计了文档的主要内容

    内容概要:本文档主要介绍了Java代码连接Redis集群的方法,包括早期尝试的代码和修正后的有效代码。早期代码使用了`ShardedJedisPool`来管理多个`JedisShardInfo`对象,并设置了连接池参数和密码认证。然而,这段代码在实际的Redis集群环境中无法正常运行。修正后的代码采用了`JedisCluster`类,并通过配置连接池参数、设置密码以及定义集群节点信息,实现了与Redis集群的成功连接。此外,还提供了获取哈希表数据和集合数据的示例方法。 适合人群:具备一定Java编程经验,尤其是对Redis有一定了解的研发人员。 使用场景及目标:①学习如何正确配置Java代码连接Redis集群,包括设置连接池参数、密码认证和集群节点信息;②掌握通过`JedisCluster`类进行基本的Redis操作,如获取哈希表数据和集合数据。 阅读建议:读者应重点关注修正后的代码部分,理解其相对于早期代码的改进之处,特别是关于`JedisCluster`类的使用方法及其在连接Redis集群中的优势。同时,在实践中可以根据自己的需求调整连接池参数和密码配置。

    通信基站几种供电方案比较.doc

    通信基站几种供电方案比较.doc

    MCP协议从原理到开发保姆级教程.pdf

    内容概要:本文详细介绍了MCP(Model Context Protocol,模型上下文协议)的原理与开发流程。MCP协议起源于2024年11月25日Anthropic发布的文章,旨在解决不同AI模型间工具调用的碎片化问题,提供标准化接入方式,实现多功能应用与创新体验。文章首先解释了MCP的核心概念及其重要性,接着深入探讨了MCP Server和Client的开发步骤,包括项目搭建、工具注册、资源创建、提示符配置以及调试方法。此外,还讲解了MCP的工作原理,特别是C/S架构、JSON-RPC 2.0协议的应用,以及模型如何选择和执行工具。最后,通过一个实际案例展示了如何利用MCP协议构建一个企业微信机器人,实现查询知识库并将结果发送到群聊中。 适合人群:具备一定编程基础,对AI模型集成、标准化开发感兴趣的开发者,尤其是从事大语言模型相关工作的工程师。 使用场景及目标:①解决多模型集成中的工具调用标准化问题;②构建具备多种功能的企业级AI应用,如邮件发送、图像生成等;③学习如何通过MCP协议实现模型决策与工具执行的解耦,提升开发效率和用户体验。 阅读建议:本文适合有一定编程经验的读者,尤其是对AI模型集成有需求的技术人员。建议读者跟随文中提供的示例代码进行实践,理解MCP协议的核心机制,并尝试构建自己的MCP应用。同时,关注官方文档和社区动态,以获取最新的技术支持和开发指南。

    bofangBEEP.zip

    bofangBEEP

    【微电网优化】基于matlab改进的粒子群算法求解含风光柴储的微电网模型问题【含Matlab源码 13169期】.zip

    Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    Qt+Opencv 显示多摄像头画面

    Qt+Opencv 显示多摄像头画面

Global site tag (gtag.js) - Google Analytics