Web学习19

  1. 知识点
  2. 案例
    1. .NET-DLL文件反编译指向-代码特性
    2. .NET项目-Web.config错误调试-信息泄露
    3. .NET项目-身份验证未授权访问-安全漏洞

知识点

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