aspx代码审计-2
今天和大家分享一下aspx网站的代码审计,漏洞类型为:未授权访问和任意文件下载。
今天看的源码文件就不共享给大家了,本文只作学习只用。
还是先看我们的文件夹目录和dll文件的目录:
这是网站根目录

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

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

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


话不多说,我们直接开始吧。
我们直接定位到存在未授权访问和任意文件下载漏洞的文件:/2052/Aspx/gw/download.aspx

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

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

接着分析上面的源码截图,学过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的更多相关文章
- aspx代码审计-1
今天和大家分享一下aspx网站的代码审计,漏洞类型就是SQL注入和cookie欺骗. 本文作者:i春秋签约作家——非主流 今天看的cms名字叫做:XX星员工请假系统 我们首先看一下网站的目录结构: 其 ...
- asp代码审计
今天给大家带来的是asp程序的代码审计,asp和aspx代码审计来说,有很多相同的地方. 正好今天要交任务,最近的目标站的子域名使用了这个cms,但是版本不一定是这个,好累. 本文作者:i春秋签约作家 ...
- PHPCMSV9版本代码审计学习
学习代码审计,自己简单记录一下.如有错误望师傅斧正. PHPCMS预备知识 PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块 ...
- ajax请求和aspx返回数据
ajax请求: $(function () { $.ajax({ url: "index.aspx?method=send", ...
- 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 ...
- 多页的TIFF图片在aspx页面分页显示
一.逻辑实现:将数据库中的二进制TIFF图片读出并分页显示在页面上. 1.显示界面 public FrameDimension MyGuid; ; ; public static MemoryStre ...
- XP安装IIS来加载aspx页面(Web调用SAP数据)
1,安装IIS 在XP中安装IIS方法很简单,安装时需要提供安装光盘来加载I386文件,可以使用虚拟光驱或光盘.在此做个简单说明(控制面板-添加/删除 Windows组件-勾选Internet信息服务 ...
- 仅用aspx文件实现Ajax调用后台cs程序。(实例)
仅用aspx文件实现Ajax调用后台cs无刷新程序.(实例) 两个文件:aaa.aspx 和aaa.aspx.cs 一.aaa.aspx <script type="text/java ...
- http://www.microsoft.com/en-pk/download/details.aspx?id=40762
http://www.microsoft.com/en-pk/download/details.aspx?id=40762
随机推荐
- Python pip配置国内源
众所周知,Python使用pip方法安装第三方包时,需要从 https://pypi.org/ 资源库中下载,但是会面临下载速度慢,甚至无法下载的尴尬,这时,你就需要知道配置一个国内源有多么重要了,通 ...
- Python与Go快速排序
#!/usr/bin/env python # -*- coding: utf-8 -*- # 快速排序 # 时间复杂度 O(n lgn)-- O(n^2) def quick_sort(array) ...
- 44. Wildcard Matching (String; DP, Back-Track)
Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. ...
- overloading与overriding的区别
overloading: “重载”,参数和返回值可改变. overriding: “覆盖”,重写父类的虚函数,参数和返回值必须与父类相同. 重写Overriding是父类与子类之间多态性的一种表现,重 ...
- jqzoom插件图片放大功能的一些BUG
建议使用cloud-zoom插件,jqzoom插件就不要使用了 点击查看——图片放大镜——jQuery插件Cloud Zoom 刚开始使用的是jqzoom插件,但问题太多了,就不说插入到页面中使用了, ...
- CVE-2017-7494:Linux Samba named pipe漏洞
描述: 漏洞是由于代码中一个管道申请命令的判断导致的,可以通过构造特定请求执行上传的so文件. 漏洞影响了Samba 3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本. 测试: ...
- 第2章—Java内存区域与内存溢出异常
2.1 概述 总结:本章将从概念上介绍 Java 虚拟机内存的各个区域,讲解这些区域的作用.服务对象以及其中可能产生的问题. 2.2 运行时数据区域 Java 虚拟机在执行 Java 程序的过程中会把 ...
- zookeeper的ZAB协议
ZAB协议概述 ZooKeeper并没有完全采用Paxos算法,而是使用了一种称为ZooKeeper Atomic Broadcast(ZAB,zookeeper原子消息广播协议)的协议作为其数据一致 ...
- Linux mmap函数简介
一.简介 Linux提供了内存映射函数mmap, 它把文件内容映射到一段内存上(准确说是虚拟内存上), 通过对这段内存的读取和修改, 实现对文件的读取和修改, 先来看一下mmap的函数声明: 头文件: ...
- 同台机器2个网卡配置同段IP
看个例子:1.on serverifconfig eth4 192.168.1.10/24 upifconfig eth5 192.168.1.11/24 up2.on clientifconfig ...