小迪安全 Web安全 第十九天 - WEB攻防 - .NET项目&DLL反编译&未授权访问&配置调试报错
2022/1/10 23:08:14
本文主要是介绍小迪安全 Web安全 第十九天 - WEB攻防 - .NET项目&DLL反编译&未授权访问&配置调试报错,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、.NET项目-DLL文件反编译指向-代码特性
(一).net反编译
1、推荐反编译工具 ILSpy
(二).net项目dll反编译指向
1、在Admin目录下有一个activity.aspx的文件,该文件中指明了项目调用封装的dll文件,指向bin目录下的HdhCMS.dll文件中的HdhCMS.Admin中的activity类,其他指向文件的判断方法与此相同
二、.NET项目-Web.config错误调试-信息泄露
(一).net项目web.config错误调试
1、在.net站点的url后输入错误的页面参数,站点会显示报错信息,通过报错信息通常可以看到.net的版本信息、报错文件自身的路径、错误原因
2、.net站点的web.config文件中的customError的mode如果设置为off,则报错信息只会显示报错本身的错误,会泄露站点的.net版本信息、文件路径、源码等信息,若设置为on则可以将报错显示设置为自定义的错误显示,避免敏感信息泄露
三、.NET常见安全问题-未授权访问
(一)站点如何判断用户身份
1、由于后台本身有多个功能文件页面
2、在每个文件里面添加判断代码
3、创建一个文件专门用来判断,其他文件包含调用它
(二)如何找未授权访问漏洞
1、找哪些文件没有包含验证代码
2、验证代码文件有没有可以绕过的地方
四、白盒测试,以启明星行政办公采购系统为例,审计站点源码,实现未授权访问
(一)查看后台文件
1、登录后的后台文件为pd.aspx,在未登录状态下访问该文件会强行跳转到login.aspx登录页面
2、查看pd.aspx文件源码,没有发现跳转代码,判断该设定包含在其他文件中,查看最上面的包含文件代码,发现包含"~/purchase/purchase.Master"、"pd.aspx.cs"、"purchase.purchase.pd"三个文件,逐一查看,在封装的purchase.dll中的purchase.pd中没有发现用户判断代码,在purchase.Master中发现另一个包含文件Purchase.Purchase.pur,用ILSpy打开purchase.dll中的该文件发现如下用户判断代码,当GetUserId<=0时会导致跳转到登录页面
if (UserHelper.GetUserId <= 0) { base.Response.Redirect("../login.aspx"); return; }
3、根据上述代码,确定这是后台验证用户登录的判断代码,点击GetUserId,跳转到如下位置,发现以下用户判断代码,当第二个if条件不满足时会跳转登录页面
public static int GetUserId { get { if (Helper.IsUseAd && HttpContext.Current.Request.Cookies["userinfo"] == null) { UsersHelper.LoginAd(GetSamaccountName()); } if (HttpContext.Current.Request.Cookies["userinfo"] != null) { return int.Parse(HttpContext.Current.Request.Cookies["userinfo"]["userid"]); } return -1; } }
(二)验证漏洞
1、打开burpsuite抓包,直接访问后台url,在数据包中加入Cookie: userinfo=userid=1,然后发送,成功进入后台页面。
2、在用后台目录下的cat_move.aspx中发现没有包含验证代码,未登录状态下直接访问该文件的url发现可以显示
五、相关web漏洞
(一)黑盒测试中寻找未授权访问漏洞
1、扫描站点目录,根据扫描结果直接访问特定文件,若能够访问则存在未授权访问漏洞
(二)与asp相关的服务器-中间件-数据库-第三方软件的通常搭配
1、windows + iis + asp +access
2、windows + iis + aspx + sqlserver
注:前三个通常是固定的,数据库则不一定
这篇关于小迪安全 Web安全 第十九天 - WEB攻防 - .NET项目&DLL反编译&未授权访问&配置调试报错的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具