【代码审计】————1、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在哪里呢?

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一款结合白盒跟黑盒的半自动化代码安全审计系统。 该版本只支持PHP,近期会加上ASPX、ASP、JSP的代码审计功能,并且实现4套规则的配置,另外还会加上自定义审计的扩展名,方便灵活审计不同脚本代码。 由于一直都比较忙,所有写的时候比较急,有很多代码还有很大的优化空间,在以后的日子我会慢慢来优化,也欢迎大家一起来优化。 修改本源码请保留最终版权Seay。 BUG反馈+规则共享+插件共享,请发送到邮箱[email protected],我会集成在下一个版本。 历史版本: 2013年7月15日 Seay源代码审计系统2.0 1.增加mysql执行监控,可以监控自定义断点后执行的所有SQL语句,方便调试SQL注入 2.更换在线升级,安装好之后下次更新可以直接在线升级,无需重新安装 3.更换皮肤,去除图片优化程序速度 4.更换mysql管理系统为HeidiSql 2013年6月18日 Seay源代码审计系统1.1 1.审计规则禁用 2.审计进度显示 3.优化正则调试、编码转换输入框 4.优化信息泄露插件扫描模式 5.修复代码查看处的一个bug 2013年6月8日 Seay源代码审计系统1.0 开发新功能: 1.高精确度自动白盒审计 2.代码高亮 3.函数查询 4.代码调试 5.函数/变量定位 6.审计报告 7.自定义规则 8.自定义编辑器 9.mysql数据库管理 10.黑盒敏感信息泄露一键审计 11.正则调试 12.多种字符编码转换 13.临时记录(可保存) 14.编辑保存文件 15.自动升级检测 16.POST数据包提交 17.自定义插件扩展功能 18.英汉互译

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值