博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
aspx代码审计-1
阅读量:6989 次
发布时间:2019-06-27

本文共 859 字,大约阅读时间需要 2 分钟。

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

今天看的cms名字叫做:XX星员工请假系统

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

其中,很明显可以看到bin目录下面都是dll文件,也就是aspx网站的源码;install目录就是安装目录;admin目录就是后台目录…etc。

我们今天的目标是纯白盒审计,一切只看代码。下面就是正题咯

先看login.aspx吧,毕竟登录框,说不定就有注入呢?

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

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

里面调用了UsersHelper模块的Login函数我们直接双击Login,应用程序自动搜索这个Login函数,接着跟踪:

发现对username和password进行了参数绑定,并不能导致SQL注入。

但因为本文并不是一个很全面的对某个系统进行代码审计,所以我们随机找了一个函数,例如此处:

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

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

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

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

Post的参数如下:

我们试着将cookie清空,重新访问此时发现,页面会跳转到deny.aspx上

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

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

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

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

转载地址:http://gtwvl.baihongyu.com/

你可能感兴趣的文章
自制mysql主从复制(实时)软件——实现
查看>>
阿里云开发者工具上手体验
查看>>
我的友情链接
查看>>
centOS建立bind服务,做为内网DNS解析服务安装记录
查看>>
Quick BI 的模型设计与生成SQL原理剖析
查看>>
MySQL运维实战 之 PHP访问MySQL你使用对了吗
查看>>
axure 学习文档
查看>>
CISCO 默认配置简述
查看>>
java io 复制图片 音频,视频 都好用啊
查看>>
我的友情链接
查看>>
笔记本做软AP,手机能够PING通外网,不能上网
查看>>
view的自动点击,模拟人手去触摸控件
查看>>
UIWindow
查看>>
laravel-push-notification 推送消息
查看>>
Spring Data Redis 管理Redis 之1
查看>>
统计 Exchange 2007 邮件发送量
查看>>
1-6 Zabbix 一些基本监控项
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
ecshop提交到服务器,样式不正确
查看>>