关于Oblog 2.52 help.asp漏洞的修补问题

这是一件很有意思的事情。

OBlog是一套基于asp的Blog系统,目前的版本是2.52吧。

前些日子,出现了个help.asp文件漏洞,

可以查看任意文件的源文件,包括asp文件,后果自然是严重的。

现在,这个问题官方已经修补了,修改后的关键代码如下:

<%
fname=trim(request("file"))
fname=lcase(fname)
fname=replace(fname,"asp","")
if fname="" then
fname="help/h_sysmain.htm"
end if
if right(fname,4)=".htm" then
show_help="当前位置:<a href='index.asp'>首页</a>→blog使用帮助<hr noshade>"
show_help=show_help&adodb_loadfile(fname)
show=replace(show,"$show_list$",show_help)
response.Write show
call bottom()
else
response.Write("输入文件不正确")
end if
%>

昨天某个QQ群里,一个用户突发奇想,说是修补后的上面这段代码依然有问题。

下面来看看他的分析思路:

修补的代码主要是两方面,一个是替换掉所有的asp字符串,防止查看asp文件,二是只有后缀是htm的文件才能用。

首先,看看替换asp的代码:

fname=replace(fname,"asp","")

所以如果访问help.asp?file=conn.asp的时候,就变成了help.asp?file=conn.了

那么如果我们访问help.asp?file=conn.aaspsp呢,经过替换以后就变成了help.asp?file=conn.asp了。

所以,这个替换asp的保护措施不是很可靠的,还是可以绕过去的。

那么,再看第二点,就是怎么绕过后缀是.htm的检查

他的思路是这样的:

前段时间不是有个上传漏洞吗,我们一般都是先抓包,然后修改数据,

构造文件名,如a.asp%00.gif,

这样,上传程序还会以为这就是gif文件,而实际保存的时候只保存成a.asp了。

那么在这里,不是也可以吗?

构造一个conn.asp%00.htm的文件名,这样就能够欺骗过fname的检测,

然后在adodb_loadfile(fname)函数里,真正打开的是conn.asp文件,

这样就达到了目的。

从他的思路来看,还是比较合乎逻辑的,

而且,他分析的第一步,就是绕过对asp的检查也是正确的

只是第二步,他的理解还是有误的。

好多人知道上传漏洞,可是到底什么是上传漏洞,

好多人就不清楚了。

而且在asp中,和php,perl里面又有些不同。

具体可以参考一下这个文档,

http://security-assessment.com/Papers/0x00_vs_ASP_File_Uploads.pdf

相信对大家理解上传漏洞还是比较有帮助的。

关于Oblog 2.52 help.asp漏洞的修补问题相关推荐

  1. ASP漏洞及安全建议

    ASP漏洞及安全建议 一 前言 Microsoft Active Server Pages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态.交互的 Web 服务器应用程序.使用 ASP 可以 ...

  2. ASP漏洞及安全建议【转】

    ASP漏洞及安全建议 ( 小 鸟 ) 一 前言 Microsoft Active Server Pages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态.交互的 Web 服务器应用程序.使 ...

  3. 雷池新闻发布系统uploadPic.asp漏洞

    1.在Google搜关键字:inurl:leichinews 2.找到以下网址,如:http://www.13lang.com/leichinews/onews.asp?id=71 3.我们把leic ...

  4. 微软将发布5月安全漏洞补丁 修补PPT

    根据微软在星期四发布的提前声明, 该公司于5月12日星期二发布本月的月度漏洞修复补丁. 这一次,当它提供补丁以及解释安全问题的安全性公告时,微软只有一个补丁被评级为"紧急" .然而 ...

  5. 深入探究宽字节注入漏洞与修补原理

    通俗 在GBK编码时,mysql会认为两个字符是一个汉字(在前一个字节的ascii码大于128的情况下).而经过转义之后的单引号'会变为\',即%5c%27.构造id=1%df%27%23 ,在经过转 ...

  6. Linux Glibc幽灵漏洞紧急修补方案

    幽灵漏洞是Linux glibc库上出现的一个严重的安全问题,他可以让攻击者在不了解系统的任何情况下远程获取操作系统的控制权限.目前他的CVE编号为CVE-2015-0235. 什么是glibc gl ...

  7. Linux Glibc幽灵漏洞紧急修补方案【转】

    转自:http://blog.csdn.net/chen19870707/article/details/43560823 幽灵漏洞是Linux glibc库上出现的一个严重的安全问题,他可以让攻击者 ...

  8. Linux Glibc幽灵漏洞紧急修补方案;Centos7升级内核到3.18

    本文转载:http://ixdba.blog.51cto.com/2895551/1609526 幽灵漏洞是Linux glibc库上出现的一个严重的安全问题,他可以让***者在不了解系统的任何情况下 ...

  9. redhat linux bash 漏洞,GNU Bash 漏洞及修补方法

    文章引自http://loosky.net/3036.html 漏洞描述 CVE-2014-6271 ***者可构造特殊的环境变量值,以在这些环境变量的值中包含特定的代码,当 Shell 对这些环境变 ...

  10. 渗透测试学习 十六、 常见编辑器漏洞解析

    大纲: FCKeditor编辑器利用 EWEBeditor编辑器利用 其他类型编辑器利用 (用编辑器的好处:比网站自带的上传按钮的安全性高) 编辑器利用 查找编辑器目录(通常在网站根目录.用户目录.管 ...

最新文章

  1. Linux常用命令之rm
  2. openfire 打包发布
  3. java注解_Java注解教程及自定义注解
  4. python 二维列表从小到大_给Python开发者准备的110道面试题
  5. [PHP] 解决:hex2bin(): Hexadecimal input string must have an even length
  6. TensorFlow构建模型(图片数据加载)六
  7. 目标识别—SSD网络详解
  8. 服务器显示DIMM,服务器三种DIMM类型的区别及应用
  9. 手机浏览器查看控制台
  10. 第一章 命题逻辑 1.4 析取范式与合取范式
  11. 使用和风天气接口获取天气信息
  12. 谨防企业管理者察人不慎,满盘皆输
  13. ElasticSearch的REST APIs 之 索引的别名(alias)管理
  14. 二值化最佳阈值选取方法以及matlab实现
  15. 汽车行业数据防泄露解决方案
  16. 数据结构与算法(educoder作业)
  17. unity aces_评论:UiPath Aces机器人流程自动化
  18. https://wwe.lanzouj.com/i9KEQ00qfjmd
  19. 公理定理定律的区别与联系
  20. HTML展示Excel表格数据(支持多sheet页、ie浏览器、xls、xlsx)

热门文章

  1. php fpm 504,php为什么会出现504错误
  2. 分别求数组中奇数和偶数的和
  3. CodeReview技巧和规范
  4. rabbitmq高并发RPC调用,你Get到了吗?
  5. Android build sequence
  6. python实用库之schemdraw不只是绘制原理图
  7. python第一周心得
  8. Spring Boot系列 —(一)手把手搭建 SpringBoot 项目
  9. 注册微信小程序账号 APPID的获取
  10. python opencv 实现图像白平衡