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
随机推荐
- 迷你MVVM框架 avalonjs 0.93发布
这段时间吸取@limodou, @东灵等人的意见,做了以下改进 重构isArrayLike,提高avalon.each的性能,原来avalon.each是依赖于isArrayLike来判定是循环普通对 ...
- transform.rotation和GetComponent<Rigidbody>().MoveRotation
同时在UPDATE和FIXED UPDATE中调整 旋转 并未出现闪,而是一直以UPDATE中的为准,可认为MoveRotation调用后在UPDATE中生效 using System.Collect ...
- EL表达式获取值栈数据
---------------------siwuxie095 EL 表达式获取值栈数据 1.导入 JSTL 相关包,下载链接: (1)http://tomcat.apache.org/taglibs ...
- win7 python2.7安装PIL库
一.前言 遇到客户给了一个需求,需要拼接多个图片,上网找到一个解决方式,不过是需要安装PIL的,相信安装过这个库的应该都遇到很多问题,接下来说说怎么解决. 我的环境是: 操作系统:win10 64bi ...
- Cplus Overolad new and delete Operator
思考:在C++类中,通过设计类的构造和析构函数,就已经把复杂的内存管理起来了. 及时是简单的结构体,也是有构造和析构函数的,而下面这种情况,可以在非结构中使用. /** Operator Overlo ...
- YourKit Java Profiler安装和破解
YourKit Java Profiler是业界领先的Java性能剖析工具.其独立版本安装成功且首次启动 YourKit Java Profiler 后,会弹出一个对话框,让用户选择 YourKit ...
- 关于简单的三层的简化(bll,dal,model)的封装这里全部都在一个文件主要在于明白意思
using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace 封装泛型CRU ...
- (二分搜索)Can you solve this equation? -- hdu -- 2199
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2199 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- Leader/Follower多线程网络模型介绍
之前分享过<轻量级 web server Tornado代码分析>,介绍了目前我们采用nginx + tornado的方式搭建升级.配管.数据中心等各类服务组建客户端迭代体系.最近注意到, ...
- underscore概况
看的是1.3.3,这个版本的中文源码解释比较多. 函数的中文注释:http://www.css88.com/doc/underscore1.5.2/#difference 源码的中文注释:http:/ ...