ASP:windows+iis+asp+access
.net:windows+iis+aspx+sqlserver
IIS上的安全问题也会影响到
WEB漏洞:本身源码上的问题
服务漏洞:1、中间件 2、数据库 3、第三方软件
#知识点:
1、.NET:配置调试-信息泄绵
2、.NET:源码反编译-DLL反编译
3、.NET常见安全问题-未授权访问
aspx没有特性漏洞 .net发布平台是微软官方,所以基本都是在windows上面,如果是web应用的话,就会存在基本都是使用的windows自带的中间件平台,比如iis上面。所以和上一节所讲到的asp是相似的,都是在IIS平台衍生的。
有共性漏洞
1、未授权访问漏洞
2、本身源码的结构的漏洞(和java有点类似)开发初衷就是为了和java对抗市场终端。在开发程序代码的时候都会进行封装,在caessup里面开发,经常会把他封装成dll的动态链接库文件;java里面则会将其封装成jar包。这两者都存在一个共同特点,即封装进去之后都会存在一个反编译的过程。我们如果需要得到其真实代码就需要反编译。
#演示案例:
.NET项目-DLL文件反编译指向-代码特性网上会有很多这种.net源码下载站点 可以在网站搜索下载看看源码啥样(和java相似,会有包文件)
DLL文件如何反编译呢?
反编译工具:ILSpy
.NET项目-Web.config错误调试-信息泄霜
模式有三种状态:off
.NET项目-身份验证未授权访问-安全漏洞
aspx容易出现未授权访问 是由于本身的语言特性所决定的
即没有登录也能看到后台一些需要登录才能访问到的页面 该验证的没有验证 未登录就看到一些没有权限就能访问到的 前后台的未授权访问 admin目录一看就是管理员目录
判断用户身份:
由于后台本身有多个功能文件页面
1、在每个文件里面添加判断代码
2、创建一个文件专门用来判断,其他文件包含调用它
找未授权访问:
1、找哪些文件没有包含验证代码文件
2、验证代码文件有没有可以绕过
建议用IDEA看源码 先看第一个 文件里面有没有判断代码,再看有没有文件调用这个代码。
此处即是判断代码:
找有没有绕过的话 就观察 user..<=0 跳转 研究能不能让它 >=0
实操一下:
由于核心的登录验证代码是加载在Master代码里的
只要谁不加载master代码 就可能存在问题
这就是aspx会存在的问题 没有调用master包 就产生了未授权访问
这种情况比较难找 在黑盒里面一般都是通过扫描工具和目录爬行爬出来的
白盒里面就相对比较简单 就直接看代码 用工具可以直接看到代码和文件名