今天和大家分享一下aspx网站的代码审计,漏洞类型就是SQL注入和cookie欺骗。

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

今天看的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的更多相关文章

  1. aspx代码审计-2

    今天和大家分享一下aspx网站的代码审计,漏洞类型为:未授权访问和任意文件下载. 本文作者:i春秋签约作家——非主流 今天看的源码文件就不共享给大家了,本文只作学习只用. 还是先看我们的文件夹目录和d ...

  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. node.js和npm离线安装

    离线安装node.js和npm 1.下载官方安装包并拷贝到离线机器上. 官方下载地址:https://nodejs.org/en/download/ 2.解压文件: tar-xJf node-v8.9 ...

  2. PC上对限制在微信客户端访问的html页面进行调试

    PC上对微信的html5页面做测试,一般来说需要两个条件:浏览器UA改为微信客户端的UA(打开页面提示请在微信客户端登录就需要修改UA):增加满足html5验证条件的Cookie来进行微信OAUTH验 ...

  3. Error while trying to retrieve text for error ORA-12154

    问题描述:vs中调试运行没有任何错误,但是发布到IIS中访问,就会报以上错误.IIS不会调试,所以一头雾水,不止错误在哪里. 分析:看到网上有人分析了Web.config模拟验证的问题恍然大悟: 原文 ...

  4. 部署MVC项目ManagedPipelineHandler报错

    "处理程序ExtensionlessUrlHandler-Integrated-4.0在其模块列表中有一个错误模块ManagedPipelineHandler": 解决方法:以管理 ...

  5. YUI前端优化原则-cookie与图像

    四.图片.Coockie与移动应用篇 除此之外,图片和Coockie也是我们网站中几乎不可缺少组成部分,此外随着移动设备的流行,对于移动应用的优化也十分重要.这主要包括:Coockie: 减小Cook ...

  6. Chrome 强制刷新缓存的方法

    https://jingyan.baidu.com/article/11c17a2c2a9e27f446e39d98.html

  7. 我们为什么要在 PHPStorm 中标记目录

    问题来源 (1)要开发的项目位于PHPStorm打开的项目的二级目录下,使用PHPStorm来开发Laravel项目 提供的教程在代码自动定位和智能提醒方面,存在无效的情况: (2)使用gulp作为项 ...

  8. PHP(一)基础语法和数据类型

  9. angularjs 之 $watch

    双向绑定是Angular的核心概念之一,它给我们带来了思维方式的转变:不再是DOM驱动,而是以Model为核心,在View中写上声明式标签.然后,Angular就会在后台默默的同步View的变化到Mo ...

  10. [CentOS]Centos设置网卡

    IP设定查看Command # ifconfig -a # netstat -nr 给eth0设定值 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 DE ...