aspx代码审计-1
今天和大家分享一下aspx网站的代码审计,漏洞类型就是SQL注入和cookie欺骗。
今天看的cms名字叫做:XX星员工请假系统

我们首先看一下网站的目录结构:

其中,很明显可以看到bin目录下面都是dll文件,也就是aspx网站的源码;install目录就是安装目录;admin目录就是后台目录…etc。
我们今天的目标是纯白盒审计,一切只看代码。下面就是正题咯
先看login.aspx吧,毕竟登录框,说不定就有注入呢?

其中inherits的值就是这个文件的相关代码的保存位置,说的可能有点复杂,如下图,我使用了IlSPY工具对appform.dll文件进行了反编译,界面的右边就是当前book.login的相关代码。

我们看到,有一个公共函数:LoginForm()

里面调用了UsersHelper模块的Login函数我们直接双击Login,应用程序自动搜索这个Login函数,接着跟踪:
发现对username和password进行了参数绑定,并不能导致SQL注入。
但因为本文并不是一个很全面的对某个系统进行代码审计,所以我们随机找了一个函数,例如此处:

其中的BindUsers函数,很明显是直接拼接在where条件查询语句后,所以便导致了注入。

接着是另一处有缺陷的地方:

通过引用得知,此处应该是admin目录下的具备管理员权限才可以使用的功能,那么通过代码,我们可以看到:

直接拼接引发注入,如下图便是我在官方的demo复现的截图:

Post的参数如下:
【
我们试着将cookie清空,重新访问此时发现,页面会跳转到deny.aspx上

这是为什么呢?原来代码里写的很清楚了,这是admin类,需要遵循如下规则:

当admin类下的所有功能模块在页面引导时,需要使用IsInRole()函数查询是否为administrators,那么跟踪发现。

这个函数好像没毛病啊,但是他的role参数时如何获取的呢?如下图所示,原来是从cookie中读取这个值。

那么意思我们只需要再cookie如此构造便可以绕过这里的验证,所以POC在哪里呢?

aspx代码审计-1的更多相关文章
- aspx代码审计-2
今天和大家分享一下aspx网站的代码审计,漏洞类型为:未授权访问和任意文件下载. 本文作者:i春秋签约作家——非主流 今天看的源码文件就不共享给大家了,本文只作学习只用. 还是先看我们的文件夹目录和d ...
- 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
随机推荐
- MVC表单提交写法1
初学MVC,感觉跟以前的aspx页面差别很大,我们就先来看看MVC的表单是怎么提交的吧. 现在我们用一个最简单的例子来看一看MVC是怎么提交表单的(这一个例子中,我们的关注点是如何提交表单,所以不涉及 ...
- Python any() 函数
Python any() 函数 Python 内置函数 描述 any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 ...
- Notebook computer(Ubuntu)
==============Mask_RCNN============== source activate flappbird cd /home/luo/Desktop/MyFile/MaskRCNN ...
- 323. Number of Connected Components in an Undirected Graph按照线段添加的并查集
[抄题]: Given n nodes labeled from 0 to n - 1 and a list of undirected edges (each edge is a pair of n ...
- PHP开启页面报错的代码
PHP开启页面报错的方法很简单,在<?php内加入下面的代码就可以了: <?php ini_set("display_errors", "On"); ...
- 二分图 and code1170 双栈排序
6.6二分图 二分图是这样一个图: 有两顶点集且图中每条边的的两个顶点分别位于两个顶点集中,每个顶点集中没有边直接相连接. 无向图G为二分图的充分必要条件是,G至少有两个顶点,且其所有回路的长度均为偶 ...
- Zookeeper 源码(六)Leader-Follower-Observer
Zookeeper 源码(六)Leader-Follower-Observer 上一节介绍了 Leader 选举的全过程,本节讲解一下 Leader-Follower-Observer 服务器的三种角 ...
- 看图说话:关于BI那点事儿
[编者按]BI=DW+数据挖掘+业务分析+社会学?BI三部曲:管数据.看数据.源数据.BI有三种放法:技术部.业务部和独立部门.BI的工作=20%数据平台+30%数据支持+50%数据应用.
- XP+Android手机DIY家庭视频点播系统-历时3周全力打造吊丝的幸福生活
需求场景(纯熟虚构): 1. 哥电脑里有200G电影copy到手机上看没那么大空间,copy一部看一部删除一部,很是不方便也费时间. 2. 小林同学需求比较旺盛但是媳妇总有不方便的时候,家里有 ...
- io.fabric8.kubernetes对pv和pvc的增删查改
1.新建maven项目k8stest,pom.xml如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns: ...