#知识点:
1、.NET配置调试-信息泄露
2、.NET源码反编译-DLL反编译
3、.NET常见安全问题-未授权访问
本节课我们学了与aspx相关的安全问题,下面说一下三个案例
说之前先普及一点知识,asp是asp的文件后缀名
.aspx是asp.net的文件后缀名
说直白些,这种文件就是动态的网页~
asp.net又叫 asp+ 是动态网络编程的一种设计语言。
asp.net是脚本语言,他的文件后缀是.aspx。一般所说的.NET指的是.NET框架即为(.Net Framework),他是微软提供的开发平台框架。
NET项目-DLL文件反编译指向-代码特性
.net的源码一般是封装在bin目录的dll文件里面的,一方面是dll文件不可以直接阅读(因为是编码过的,直接打开就是一堆乱码)。还有就是便于调用。当我们打开一个aspx文件时,发现找不到源码,我们就可以看inherits后面的路径。然后在bin目录下找到Mvcb2b这个dll文件,拖拽到ilspy这个反编译软件里面,就可以根据路径去找到相应的代码了。这个在以后分析代码的时候用到到,不能说连代码都不知道在哪可不行。这个是.net源码的相关知识。(工具在资源库中)
.NET项目-Web.config错误调试-信息泄露
在.net源码中有个文件是Web.config,这个文件相当于是网站的配置文件,比如数据库的连接啥的就在里面写着。有一点需要注意的是customerrors这个选项后面如果是off,那就代表着,如果网站访问的时候出现错误了,就会报什么地方出错了,以及一些源码和版本什么的信息。如果是on,就代表开启了,如果网站访问报错,就会执行网站管理者设定的操作。一般网站创作者在创作网站的时候会设成off,来检测网站报错的真实情况。当网站对外发布之后,就会改成on。把报错信息改成管理者设置的操作,这样就算报错也不会泄露什么信息。但是如果这里设置的没有好的话,就会泄露(这里是remoteonly,我也不知道是啥,这个源码时我在网上下的。应该时网站的创作者设定的。)
.NET项目-身份验证未授权访问-安全漏洞
这个就是aspx比较重要的一个漏洞就是未授权访问。所谓未授权访问就是说没有通过登录验证,就可以看到一些不该看的,比如管理员后台页面。
前面我们讲过验证的一些知识。有两种验证方法,一是时在每个文件里面都写上验证代码。另一个就是利用包含去调用。当然第二个比较好用一些。
那我们如何发现能不能未授权访问呢?
第一个就是看哪些文件没有包含验证文件或验证代码,另一个就是看代码本身,利用代码逻辑,看能不能通过抓包进行绕过。那你可能会问如何找到验证代码文件呢?很简单,比如你访问一个需要登陆验证才能访问的一个地方。他会跳转到验证界面,这时我们看上方的文件路径即可。然后去代码里面找验证的代码。他可能存在一些包含关系。你可以把那些包含的文件都找一下,里面肯定是有验证代码的。然后知道验证方式后,利用抓包,修改包进行绕过。当然这是白盒测试的方法,如果遇到黑盒的话,那么就只能通过一些目录扫描工具进行查找了。
本节课讲的aspx也是和asp一样,基本与他搭配的就是windows和iis,那么在iis上面存在的漏洞。上一节课讲的,也会在aspx这个地方出现。
我们现在讲的时web漏洞,下一阶段就是服务漏洞,就是中间件,数据库以及第三方软件相关的漏洞。