今天和大家分享一下aspx网站的代码审计,漏洞类型为:未授权访问和任意文件下载。

本文作者:i春秋签约作家——非主流

今天看的源码文件就不共享给大家了,本文只作学习只用。

还是先看我们的文件夹目录和dll文件的目录:

这是网站根目录

正常打开,是会跳转到/2052/aspx/userlogin.aspx

Dll使用ILSpy反编译后,目录如下:

在代码审计中,类似未授权访问的漏洞是最好验证的,像一般aspx网站开发时,都会将dll中的类和页面与显示的aspx文件的名称命名一样说简单点,就是比如这里的jtgcweb.2052.aspx下的userlogin,就对应着文件夹2052/aspx/userlogin.aspx文件

话不多说,我们直接开始吧。

我们直接定位到存在未授权访问和任意文件下载漏洞的文件:/2052/Aspx/gw/download.aspx

文件说的很清楚,源码在这里

_2052_Aspx_Message_Download

通过源码,我们其实已经可以发现,好像并没有什么验证的脚本或是函数嘛。我们直接访问看看。既不报错,也不提示什么,单纯的一个无标题页,嗯,看来这个文件是可以直接在没有登陆的情况下请求到的。

接着分析上面的源码截图,学过asp的都知道,Request.QueryString()函数意指程序通过http的get方法进行参数传递,所以,这里我们便需要传递两个参数(分别是name和oid)进去,才可以完成这个if判断。

所以,我们暂时构造请求格式如下:

http://xxxxx/2052/Aspx/gw/download.aspx?name=1&oid=1

base.Response.AppendHeader(“Content-Disposition”, ”attachment; filename=” + base.Server.UrlPathEncode(text)); //这段代码的意思是指,从download.aspx文件所在的目录,开始下载文件,文件的名字从哪来?从text来,text的值又从哪来?从我们get请求中的name参数的值来。所以,我们试试get请求这个呢?

web.config文件在网站的根目录,download.aspx文件在2052/aspx/gw/目录下。

http://xxxxxxx/2052/Aspx/gw/download.aspx?name=../../../web.config&oid=/

这里为什么会报错呢?很奇怪啊,我们再分析分析源码看看。

哦,原来是这样,我们通过最后一句被传输的filename的值是通过str2和text的值拼接的。

Text的值,我们搞定了,但是str2的值呢,是通过str来决定的,也就是我们的oid参数,所以当我们将oid的值改为../的时候,str2指向的目录才是网站的根目录,那么我们现在再来试试?

http://xxxxxxx/2052/Aspx/gw/download.aspx?name=../../../web.config&oid=../

成功下载,我们打开看看呗?

很nice,所以,今天的任意文件下载漏洞和未授权访问漏洞,你学到了吗?

aspx代码审计-2的更多相关文章

  1. aspx代码审计-1

    今天和大家分享一下aspx网站的代码审计,漏洞类型就是SQL注入和cookie欺骗. 本文作者:i春秋签约作家——非主流 今天看的cms名字叫做:XX星员工请假系统 我们首先看一下网站的目录结构: 其 ...

  2. asp代码审计

    今天给大家带来的是asp程序的代码审计,asp和aspx代码审计来说,有很多相同的地方. 正好今天要交任务,最近的目标站的子域名使用了这个cms,但是版本不一定是这个,好累. 本文作者:i春秋签约作家 ...

  3. PHPCMSV9版本代码审计学习

    学习代码审计,自己简单记录一下.如有错误望师傅斧正. PHPCMS预备知识 PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块 ...

  4. ajax请求和aspx返回数据

    ajax请求: $(function () {            $.ajax({                url: "index.aspx?method=send",  ...

  5. Atitit.java c#.net php项目中的view复用(jsp,aspx,php的复用)

    Atitit.java c#.net php项目中的view复用(jsp,aspx,php的复用) 1.1. Keyword1 1.2. 前言1 2. Java项目使用.Net的aspx页面view1 ...

  6. 多页的TIFF图片在aspx页面分页显示

    一.逻辑实现:将数据库中的二进制TIFF图片读出并分页显示在页面上. 1.显示界面 public FrameDimension MyGuid; ; ; public static MemoryStre ...

  7. XP安装IIS来加载aspx页面(Web调用SAP数据)

    1,安装IIS 在XP中安装IIS方法很简单,安装时需要提供安装光盘来加载I386文件,可以使用虚拟光驱或光盘.在此做个简单说明(控制面板-添加/删除 Windows组件-勾选Internet信息服务 ...

  8. 仅用aspx文件实现Ajax调用后台cs程序。(实例)

    仅用aspx文件实现Ajax调用后台cs无刷新程序.(实例) 两个文件:aaa.aspx 和aaa.aspx.cs 一.aaa.aspx <script type="text/java ...

  9. http://www.microsoft.com/en-pk/download/details.aspx?id=40762

    http://www.microsoft.com/en-pk/download/details.aspx?id=40762

随机推荐

  1. 归纳整理Linux下C语言常用的库函数----内存及字符串控制及操作

    在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. ...

  2. Xpath解析xml

    Xpath解析xml其实最主要的是查找xml文档中信息,而且不需要了解xml文档结构 package com.huawei.xml; import java.io.InputStream;import ...

  3. 更改Mysql数据库数据存储位置的具体步骤

    首先把mysql的服务先停掉,更改MySQL配置文件My.ini中的数据库存储主路径,将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径,接下来重启搞定. 一.首先把mysql的服务先停 ...

  4. C++:初始化列表

    有两种原因需要使用初始化列表: 让我们先看一下第一个原因——必要性.(1)对另一个类成员的初始化,(2)成员是一个常量对象,(3)成员是引用.根本原因:编译器总是确保所有成员对象在构造函数体执行之前( ...

  5. VS2015解决方案资源管理器空白,不显示内容

    解决方法: 1.先关闭vs: 2.把C:/Users/<users name>/AppData/Local/Microsoft/VisualStudio/14.0/ComponentMod ...

  6. JAVA获取时间的方式

      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ...

  7. kafka常用运维命令

    列出所有topic:bin/kafka-topics.sh --zookeeper localhost:2181 --list说明:其实就是去检查zk上节点的/brokers/topics子节点,打印 ...

  8. C++ 文件类型分析

    .APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度.资源辅助文件. .BMP:位图资源文件. .BSC:浏览信息文件,由浏览信息维护工具( ...

  9. SVG脚本编程简介

    本文主要介绍SVG的脚本编程,并分别给出放大.缩小,查询,鼠标事件等实例. 一. SVG简介 SVG,全称为Scalable Vector Graphics(可伸缩矢量图形).它是W3C制定的.用矢量 ...

  10. [Selenium] 最大化或自定义浏览器的大小

      driver.manage().window().maximize(); //将浏览器设置为最大化的状态   driver.manage().window().setSize(new Dimens ...