前言

之前一直在做PHP、JAVA的代码审计,从来没接触过ASP.NET编写的系统,前段时间在挖漏洞的过程中遇到了一个CMS是用.NET编写的,正好拿来练练手,本篇文章是我第一次写有关ASP.NET的代码审计,其中可能会在语言描述上存在一些错误,希望大家多多指正。

漏洞发现

该漏洞为sql注入漏洞,出现在排序处。

在关键字处输入1,排序选择登录名称,使用burp拦截数据包

拦截数据包后,将数据包保存为1.txt文件,使用sqlmap爆破数据库:

使用的命令为 sqlmap.py –r c:\1.txt –dbs

成果截图

可以发现order参数存在sql注入漏洞。

代码审计

针对ASP.NET进行审计需要注意的一点是:

website的每个asp页面都会转成dll文件存于bin目录下

所以要想进行审计,找到代码中的漏洞点我们需要一个工具能将dll文件反编译为asp语言

这里我们使用ILSpy对dll文件进行反编译。

根据burp抓包请求,找到api对应的dll文件,使用ILSpy进行反编译

找到PagesAdminController

通过路由可看到使用该类对我们刚才提交的数据进行处理。

处理数据返回结果主要使用这一段代码,其中这一块对role、order参数进行非空判断后进行赋值,并使用GetCount、GetAdministrators函数进行处理,然后返回处理结果。

跟进GetCount函数,可以发现该函数没有使用order参数,同时使用FilterSql函数处理用户输入,跟进FilterSql

FilterSql对"',\\(,\\)"进行替换,这不是我们关注的重点,我们接下来跟进GetAdministrators函数进行查看

GetAdministrators函数使用了order参数,并且使用IsNullOrEmpty(order)判断order值是否为空,除此之外没有任何过滤,直接进行拼接sql

导致了sql注入漏洞的发生

sql 找到上一次_记一次对XXCMS的代码审计相关推荐

  1. sql 找到上一次_干货 | 想成为商业分析师/数据分析师, SQL竟成硬门槛?

    最近在知乎上看到一个帖子说"Excel与SQL相比 就是计算器与计算机的区别"过气网红Excel表示习惯了 ‍♀️ 不过SQL作为数据库查询和程序设计语言确实被很多名企写在了JD里 ...

  2. sql 找到最近的值_数据分析——SQL查询(常用函数)

    SQL入门推荐书籍--<SQL必知必会>.猴子的live课程--<从零开始学SQL> [基本SQL查询语句] select 选择输出字段 from 摘自某表 as 取别名(如果 ...

  3. uniapph5授权成功后返回上一页_记一次授权系统的安全测试

    山东泽鹿安全 威胁管理   漏洞运营   应急响应 原创声明:泽鹿安全原创文章,欢迎转载,请注明出处! ID : 秋水 拿到授权系统IP,首先测一下目录找后台,Nmap扫一下端口,看看后台是不是在其他 ...

  4. 终端 ssh 上传文件_记一次将文件添加到github

    1.创建SSH 创建SSH需要用到git,我用的mac,windows用户可以先安装下: 首先打开终端并输入: $cd -/.ssh //检查是否已经存在ssh 若提示"-bash: cd: ...

  5. mysql勒索_记一次mysql数据库被勒索(下)

    背景: nextcloud的mysql数据库被黑,删库勒索.参考:记一次mysql数据库被勒索(上) mysql数据库恢复成功,nextcloud还是无法连接.参考:记一次mysql数据库被勒索(中) ...

  6. 学习笔记_记一次植物大战僵尸的破解

    学习笔记_记一次植物大战僵尸的破解 1.学习目标 2.学习工具 3.开始操作 3.1 理清思路 3.2 开始操作 4.总结 1.学习目标 了解二进制.十六进制对于计算机的意义 掌握二/八/十/十二/十 ...

  7. C# 学习笔记(17)操作SQL Server 上

    C# 学习笔记(17)操作SQL Server上 安装SQL Server 微软官网 https://www.microsoft.com/zh-cn/sql-server/sql-server-dow ...

  8. java sql 写入万条数据_如何快速向数据库插1000万数据?4种方法对比,它简单却速度最快

    目录 场景介绍 项目配置 Mybatis为什么慢? JdbcTemplate让我眼前一亮 原生JDBC就是快啊! 存储过程怎么样? 越简单越快 前言 一直有一种说法:批量插入大量数据到MySQL数据库 ...

  9. aws rds监控慢sql_在AWS RDS SQL Server上使用SSIS包

    aws rds监控慢sql In the first part of the article, Explore SQL Server Integration Services (SSIS) on AW ...

最新文章

  1. java校验字符串是否为json格式
  2. inline hook __usercall 函数
  3. web前端技术分享之页面元素水平居中
  4. 如何获取微信API的Access Token
  5. 【错误异常大全】:ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS
  6. py哪个函数可以返回输入的变量类型_[Python基础]二、pycharm,python变量
  7. UCB DS100 讲义《数据科学的原理与技巧》校对活动正式启动 | ApacheCN
  8. java实现物体下落效果_手撸一个物体下落的控件,实现雪花飘落效果
  9. linux mount nfs 超时,I / O无法(偶尔)挂载NFS-服务器超时
  10. Json、String、JavaBean相互转换
  11. python源代码制作星空_用python画星空源代码是什么
  12. 优秀架构师必须具备的架构思维(自顶向下和自底向上架构设计思维)
  13. TIA博途中如何将CPU导出为GSD文件与其他PLC进行PROFINET通信?
  14. 计算机网络 华东理工大学 第7章测试
  15. WebSocket模拟群聊
  16. 银河麒麟V10安装ASP.NET Core教程
  17. 关于IntelliJ IDEA
  18. Android App Dark Theme(暗黑模式)适配指南,android实战mysql
  19. VLOOKUP函数的多条件引用
  20. vmware fusion安装kvm虚拟机

热门文章

  1. 为什么新来的技术很难接手维护一个系统
  2. IE11 F12 开发人员工具 查看 Cookie
  3. centosx64 6.3安装视频组件
  4. java iterator对象_JAVA Iterator 详解 代码
  5. 奇瑞a3中控按键图解_纷纷亮相,奇瑞众多黑科技悄然现身,焦点全在星途VX智能座舱上...
  6. java 之 网络编程
  7. python 字符串可以直接连接吗_如何连接字符串。。。在?(Python)
  8. uniapp无法使用substr_SQLite 3.34.0发布,世界上使用量最大的数据库引擎
  9. linux git2.8.0下载,Linux 环境下 jdk1.8 maven3.2.3 Git2.8.0 安装脚本
  10. 强化学习中的脉冲神经网络