sql 找到上一次_记一次对XXCMS的代码审计
前言
之前一直在做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的代码审计相关推荐
- sql 找到上一次_干货 | 想成为商业分析师/数据分析师, SQL竟成硬门槛?
最近在知乎上看到一个帖子说"Excel与SQL相比 就是计算器与计算机的区别"过气网红Excel表示习惯了 ♀️ 不过SQL作为数据库查询和程序设计语言确实被很多名企写在了JD里 ...
- sql 找到最近的值_数据分析——SQL查询(常用函数)
SQL入门推荐书籍--<SQL必知必会>.猴子的live课程--<从零开始学SQL> [基本SQL查询语句] select 选择输出字段 from 摘自某表 as 取别名(如果 ...
- uniapph5授权成功后返回上一页_记一次授权系统的安全测试
山东泽鹿安全 威胁管理 漏洞运营 应急响应 原创声明:泽鹿安全原创文章,欢迎转载,请注明出处! ID : 秋水 拿到授权系统IP,首先测一下目录找后台,Nmap扫一下端口,看看后台是不是在其他 ...
- 终端 ssh 上传文件_记一次将文件添加到github
1.创建SSH 创建SSH需要用到git,我用的mac,windows用户可以先安装下: 首先打开终端并输入: $cd -/.ssh //检查是否已经存在ssh 若提示"-bash: cd: ...
- mysql勒索_记一次mysql数据库被勒索(下)
背景: nextcloud的mysql数据库被黑,删库勒索.参考:记一次mysql数据库被勒索(上) mysql数据库恢复成功,nextcloud还是无法连接.参考:记一次mysql数据库被勒索(中) ...
- 学习笔记_记一次植物大战僵尸的破解
学习笔记_记一次植物大战僵尸的破解 1.学习目标 2.学习工具 3.开始操作 3.1 理清思路 3.2 开始操作 4.总结 1.学习目标 了解二进制.十六进制对于计算机的意义 掌握二/八/十/十二/十 ...
- C# 学习笔记(17)操作SQL Server 上
C# 学习笔记(17)操作SQL Server上 安装SQL Server 微软官网 https://www.microsoft.com/zh-cn/sql-server/sql-server-dow ...
- java sql 写入万条数据_如何快速向数据库插1000万数据?4种方法对比,它简单却速度最快
目录 场景介绍 项目配置 Mybatis为什么慢? JdbcTemplate让我眼前一亮 原生JDBC就是快啊! 存储过程怎么样? 越简单越快 前言 一直有一种说法:批量插入大量数据到MySQL数据库 ...
- 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 ...
最新文章
- java校验字符串是否为json格式
- inline hook __usercall 函数
- web前端技术分享之页面元素水平居中
- 如何获取微信API的Access Token
- 【错误异常大全】:ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS
- py哪个函数可以返回输入的变量类型_[Python基础]二、pycharm,python变量
- UCB DS100 讲义《数据科学的原理与技巧》校对活动正式启动 | ApacheCN
- java实现物体下落效果_手撸一个物体下落的控件,实现雪花飘落效果
- linux mount nfs 超时,I / O无法(偶尔)挂载NFS-服务器超时
- Json、String、JavaBean相互转换
- python源代码制作星空_用python画星空源代码是什么
- 优秀架构师必须具备的架构思维(自顶向下和自底向上架构设计思维)
- TIA博途中如何将CPU导出为GSD文件与其他PLC进行PROFINET通信?
- 计算机网络 华东理工大学 第7章测试
- WebSocket模拟群聊
- 银河麒麟V10安装ASP.NET Core教程
- 关于IntelliJ IDEA
- Android App Dark Theme(暗黑模式)适配指南,android实战mysql
- VLOOKUP函数的多条件引用
- vmware fusion安装kvm虚拟机
热门文章
- 为什么新来的技术很难接手维护一个系统
- IE11 F12 开发人员工具 查看 Cookie
- centosx64 6.3安装视频组件
- java iterator对象_JAVA Iterator 详解 代码
- 奇瑞a3中控按键图解_纷纷亮相,奇瑞众多黑科技悄然现身,焦点全在星途VX智能座舱上...
- java 之 网络编程
- python 字符串可以直接连接吗_如何连接字符串。。。在?(Python)
- uniapp无法使用substr_SQLite 3.34.0发布,世界上使用量最大的数据库引擎
- linux git2.8.0下载,Linux 环境下 jdk1.8 maven3.2.3 Git2.8.0 安装脚本
- 强化学习中的脉冲神经网络