知识点
1、.NET配置调试-信息泄露
2、.NET源码反编译-DLL反编译
3、.NET常见问题-未授权访问
bin目录下面一般放的都是可执行文件,dll文件一般就是公司把代码封装到这个dll文件里,如果你不对他进行反编译,这个代码的关键信息你是获取不到的
案例
.NET-DLL文件反编译指向-代码特性
.NET项目-Web.config错误调试-信息泄露
.NET项目-身份验证未授权访问-安全漏洞
.NET-DLL文件反编译指向-代码特性
.NET本身是个框架,大多数都是用C#开发的,所以dll文件反编译出来后看到的就是C#代码,有些软件你在安装的时候会让你先安装一个.NET框架,说明他就是在windows上的.NET框架开发的 ,你只有也安装了这个框架软件才可以正常运行 。
.NET项目-Web.config错误调试-信息泄露
在源码里基本都能看到web.config这个文件,这个文件就是个配置文件,打开之后一般会定义网站的数据库连接,网站的类型等等
这里的自定义错误是off状态
如果是off状态,报错就会显示报错部分代码甚至会显示.NET的版本,包括文件自身的路径
如果改成on状态,报错的信息就可以由你来定义
.NET项目-身份验证未授权访问-安全漏洞
简单来说就是没有验证,比如说后台必须要登录才能访问,但是你没有登录就访问到了后台,这就是存在身份验证未授权访问的漏洞 。Admin目录一般就是网站后台的管理目录
未授权访问
判断用户的身份:
由于后台本身有多个功能文件页面
1、在每个文件里面添加验证判断代码
2、创建一个文件专门用来判断,其他文件包含调用它
找未授权访问:
1、找哪些文件没有包含验证代码文件
2、验证代码文件有没有可以绕过
验证代码:
if(UserHelper.GetUserld <= 0)
{
base.Response.Redirect("../login.aspx");
return;
}
验证代码的具体逻辑
这里的Cat_Move.aspx文件没有包含purchase_master的验证代码,所以是可以直接未经授权就访问的。
测试证明不需要登录就可以直接访问这个文件了
注:但是这种情况在黑盒里面都是通过工具扫描出来的,但是白盒的话就可以直接看代码的,黑盒可以扫描一些特定的地址。
WEB漏洞
服务-中间件 数据库 第三方软件
Asp: windows+iis+asp+access
.NET:windows+iis+aspx+sqlserver