.NET Web配置解析WebShell (含工具视频)

news2024/9/29 17:29:43

01WebPages配置项

在 .NET 应用程序中,"webpages:Enabled" 是一个用于启用或禁用 Web 页面功能的配置项。当它的值为 "true" 时,表示启用了 Web 页面功能,允许在应用程序中使用 .cshtml 或 .vbhtml 文件。而当它的值为 "false" 时,表示禁用了 Web 页面功能,应用程序将不支持直接解析.NET Web 页面。

<?xml version="1.0"?><configuration>  <appSettings>    <add key="webpages:Enabled" value="true"/>  </appSettings>
  <system.web>    <compilation debug="true" targetFramework="4.8"/>    <httpRuntime targetFramework="4.8"/>  </system.web></configuration>

这段配置通常出现在 .NET Web 应用程序的 Web.config 文件中.此文件中包含了 <appSettings> 节点,其中定义了一个名为 "webpages:Enabled" 的键,并将其值设置为 "true"。这样,.NET Web 应用在任意目录下均可以直接解析运行cshtml扩展名。

而.NET MVC 框架主流的模板文件cshtml基于Razor 视图引擎,Razor 视图是 MVC 框架中用于呈现 HTML 内容的一种方式,它具有灵活的语法和强大的功能,使开发者能够轻松地将 .NET 代码嵌入到 HTML 中,实现动态生成内容。

另外这段代码还包含了一些其他常见的配置,例如 <compilation> 和 <httpRuntime>,用于指定编译选项和运行时选项。这些配置项在 ASP.NET Web 应用程序中通常也会出现,并且可能会根据应用程序的需求进行调整。

因此在一些实战攻防的场景下有的站点开启了配置,也可以尝试上传cshtml获取webshell。

02相关阅读

到了.NET MVC 3.0时代,微软MVC框架为忠实的粉丝们提供了两种共存的视图引擎,WebForm Engine(.aspx)和 Razor Engine(.cshtml),默认情况下框架从现有 .NET Page页面、Master母版页 和ascx用户控件类型中继承的自定义类型作为视图,引擎的变化直接导致语法发生变化,aspx 中经常使用 <% %>这种代码样例,如果写这段代码的人没有良好的缩进和对齐习惯的话,一段逻辑较为复杂的代码就会堆砌着杂乱无章的<% %>匹配它们就是一件头疼的事情,会让读者望而生畏。而在cshtml中则改为@{ } 这种更为简洁的写法,"@"来标记一段C#代码,并帮我们进行了内部的闭合,并且支持与HTML混写,这种代码编程的风格让人感觉回到了经典的ASP时代, 它们之间的关系如下图

图片

目前只能在 MVC3 或更高版本等支持 Razor 的框架里使用 cshtml,@是Razor中的一个重要符号,它被定义为Razor服务器代码块的开始符号。例如视图中直接写C#代码输出日期

<p>@DateTime.Now.ToString()</p>

而且在Razor视图引擎中我们还可以使用@{code}来定义一段代码块,由于Razor支持代码混写,在代码块中插入HTML、在HTML中插入Razor语句都是可以的,代码如下

@{ var myMessage = "dotnet安全矩阵"; }<html><body>    <p>欢迎关注: @myMessage</p></body></html>

图片

03实战WebShell

cshtml视图引擎获取外部参数的方式主要有3种,第一种使用传统WebForm窗体的System.Web.HttpContext对象Request方法获取

System.Web.HttpContext.Current.Request["content"]

第二种使用System.Web.Mvc.WebViewPage类的属性HttpContextBase获取

@Context.Request["content"]

第三种还可以直接使用WebPageRenderingBase类定义的虚方法Request获取

Request["content"]

实现Webshell的代码不多,只是在@{}代码块里加上启动进程的功能即可,值传递的方式依旧采用base64编码,访问/ViewPage1.cshtml?content=dGFza2xpc3Q= 即可返回tasklist执行后的结果数据,demo如下

图片

有关工具已发表于星球,师傅们可自行查阅资料。

04视频深度讲解

为了更清晰的说明该配置项开启后带来的风险和危害,我们单独录制一个高清视频深度还原开启和关闭后不同的解析状态,这样更加便于学习和掌握。

图片

05.NET安全知识库学习

为了更清晰的说明该配置项开启后带来的风险和危害,我们为了更好地应对基于.NET技术栈的风险识别和未知威胁,dotNet安全矩阵星球从创建以来一直聚焦于.NET领域的安全攻防技术,定位于高质量安全攻防星球社区,也得到了许多师傅们的支持和信任,通过星球深度连接入圈的师傅们,一起推动.NET安全高质量的向前发展。只需199元就可以加入我们。

    目前dot.Net安全矩阵星球已成为中国.NET安全领域最知名、最活跃的技术知识库之一,从.NET Framework到.NET Core,从Web应用到PC端软件应用,无论您是初学者还是经验丰富的开发人员,都能在这里找到对应的安全指南和最佳实践。

    星球汇聚了各行业安全攻防技术大咖,并且每日分享.NET安全技术干货以及交流解答各类技术等问题,社区中发布很多高质量的.NET安全资源,可以说市面上很少见,都是干货。

图片

图片

图片

星球文化始终认为授人以鱼不如授人以渔!加入星球后可以跟星主和嘉宾们一对一提问交流,20+个专题栏目涵盖了点、线、面、体等知识面,助力师傅们快速成长!其中主题包括.NET Tricks、漏洞分析、内存马、代码审计、预编译、反序列化、webshell免杀、命令执行、C#工具库等等。

图片

    我们倾力打造专刊、视频等配套学习资源,循序渐进的方式引导加深安全攻防技术提高以及岗位内推等等服务。

图片

    我们还有一个会员专属的星球陪伴群,加入的成员可以通过在群里提出问题或参与论的方式来与其他成员交流思想和经验。此外还可以通过星球或者微信群私聊向我们进行提问,以获取帮助迅速解决问题。

图片

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1662775.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络 | 应用层-websocket协议报文格式解析

websocket的官方文档为rfc(request for comments)&#xff0c;是网络协议的规范文档。它包含了许多计算机世界的核心知识 除了这里的websocket&#xff0c;它里边还包含我们熟知的http,tcp等协议的解析。 websocket协议对应的编号是rfc 6455 websocket协议格式解析 由图可知&a…

信安标委发布16项网络安全国家标准:8项为旧标准替代,8项标准为新发布

1. 背景 根据2024年4月25日国家市场监督管理总局、国家标准化管理委员会发布的中华人民共和国国家标准公告&#xff08;2024年第6号&#xff09;&#xff0c;全国网络安全标准化技术委员会归口的16项国家标准正式发布。 2. 标准清单 本次国家标准涵盖了信息技术安全评估准则、…

RTT PIN设备学习

获取GPIO编号 GET_PIN(port, pin)#define LED_BLUE_PIN GET_PIN(A, 0)设置引脚模式 void rt_pin_mode(rt_base_t pin, rt_base_t mode);设置引脚电平 void rt_pin_write(rt_base_t pin, rt_base_t value);rt_base_t pin 同上&#xff0c; 为引脚编号&#xff0c;尽量通过宏定…

网络安全(6) 模拟实验 Metasploit 控制并获取Windows 登录HASH、LM Hash和NTLM Hash密文解析

窃取WINDOWS账号密码 系统环境&#xff1a;主机&#xff08;Windows系统 IP&#xff1a;192.168.126.129)&#xff0c;虚拟机&#xff08;KALI系统 IP&#xff1a;192.168.126.3&#xff09;&#xff0c;两者需要能通过本地网络互通互连。 攻击工具&#xff1a;Metasploit是一…

14:java基础-Tomcat-Web容器

文章目录 面试题Web 容器是什么&#xff1f;HTTP 的本质 面试题 Web 容器是什么&#xff1f; 让我们先来简单回顾一下 Web 技术的发展历史&#xff0c;可以帮助你理解 Web 容器的由来。早期的 Web 应用主要用于浏览新闻等静态页面&#xff0c;HTTP 服务器&#xff08;比如Apa…

打开IE浏览器自动跳转微软的edge浏览器,取消自动跳转

打开IE浏览器会自动跳转微软的edge浏览器 不想跳转的解决办法 1.Win Q 输入 Internet&#xff0c;点击Internet 选项 2.去掉勾选 启用第三方浏览器扩展&#xff0c;然后就不自动跳转了 3. 完成

解决电脑睡眠后,主机ping不通VMware虚拟机

文章目录 问题解决方法方法一方法二注意 问题 原因&#xff1a;电脑休眠一段时间&#xff0c;再次打开电脑就ping不通VMware虚拟机。 解决方法 方法一 重启电脑即可&#xff0c;凡是遇到电脑有毛病&#xff0c;重启能解决90%问题。但是重启电脑比较慢&#xff0c;而且重启…

Android动态布局framelayout

功能说明 最近碰到一个需求&#xff0c;要求在网页端拖控件&#xff0c;动态配置app控件的模块&#xff0c;大小和位置&#xff0c;显示不同的功能&#xff0c;然后在app大屏展示。 技术难点&#xff1a; 1.动态控件位置和大小难调&#xff0c;会出现布局混乱&#xff0c;位置错…

STL——queue容器【队列】

queue的基本概念&#xff1a; 概念&#xff1a;queue是一种先进先出的数据结构&#xff0c;它有两个出口 queue的构造函数&#xff1a; 构造函数&#xff1a; queue<T>que:采用模板类实现&#xff0c;queue对象的默认构造形式 queue(const queue &que):拷贝构造函…

SpringBoot项目代码反编译、加密

话不多说&#xff0c;直接上干活 1. 引入依赖地址和依赖 在maven的setting.xml中添加 <repositories><repository><id>jitpack.io</id><url>https://jitpack.io</url></repository> </repositories>在需要加密的项目的pom.x…

ORACLE ODA一体机存储节点电源故障的分析处理

近期&#xff0c;某用户的ORACLE ODA一体机在例行机房巡检时出现亮黄灯告警&#xff1b;用户反馈次问题后我们立刻通过远程方式&#xff0c;登陆ODA的控制台进行查看&#xff1b; 对于ODA一体机&#xff08;2个计算节点1个存储节点&#xff09;&#xff0c;计算节点可以通过il…

LabVIEW MEMS电容式压力传感器测试系统

LabVIEW MEMS电容式压力传感器测试系统 随着微电子技术的发展&#xff0c;MEMS&#xff08;微电机系统&#xff09;技术在各个领域得到了广泛应用。MEMS电容式压力传感器以其高灵敏度、小尺寸、低功耗等优点&#xff0c;在微传感器领域占据了重要的地位。然而&#xff0c;这些…

【Spring】Spring 整合 Junit、MyBatis

一、 Spring 整合 Junit <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache…

Wallace树乘法器及Verilog实现

一、Wallace树乘法器 Wallace树乘法器就是将多个部分积进行分组&#xff0c;每三个一组&#xff0c;最后如果剩下的部分积个数不够三个的不做处理&#xff0c;然后将各组的部分积进行相加得到和以及进位信息&#xff0c;直到最终只剩下两行部分积&#xff0c;相加后得到最终结…

作为网络安全工程师需要掌握的安全小知识!

网络安全风险无处不在&#xff0c;今天为大家梳理了一些网络安全相关的小知识&#xff0c;希望能进一步提升大家的安全意识&#xff0c;帮助大家建立更加安全的网络环境。 一、主机电脑安全 1、操作系统安全&#xff1a;安装操作系统时需要选择合适的版本&#xff0c;及时打补…

RabbitMQ高级(MQ的问题,消息可靠性,死信交换机,惰性队列,MQ集群)【详解】

目录 一、MQ的问题 1. 问题说明 2. 准备代码环境 1 创建project 2 创建生产者模块 3 创建消费者模块 二、消息可靠性 1. 介绍 2. 生产者确认机制 3. MQ消息持久化 4. 消费者确认机制 5. 消费者auto模式的失败重试 6. 小结 三、死信交换机和延迟消息 1. 介绍 2. …

李彦宏回顾大模型重构百度这一年

“大模型我们走在最前面&#xff0c;我们需要去勇闯无人区&#xff0c;需要去冒前人没有冒过的风险。”近日&#xff0c;在百度一场内部颁奖活动中&#xff0c;百度创始人、董事长兼首席执行官李彦宏指出&#xff0c;百度一直坚信技术可以改变世界&#xff0c;会一直沿着这条路…

【Web】CTFSHOW 七夕杯 题解

目录 web签到 easy_calc easy_cmd web签到 CTF中字符长度限制下的命令执行 rce(7字符5字符4字符)汇总_ctf中字符长度限制下的命令执行 5个字符-CSDN博客7长度限制直接梭了 也可以打临时文件RCE import requestsurl "http://4ae13f1e-8e42-4afa-a6a6-1076acd08211.c…

学习笔记——字符串(单模+多模+练习题)

单模匹配 Brute Force算法&#xff08;暴力&#xff09; 算法思想 母串和模式串字符依次配对&#xff0c;如果配对成功则继续比较后面位置是否相同&#xff0c;如果出现匹配不成功的位置&#xff0c;则j&#xff08;模式串当前的位置&#xff09;从头开始&#xff0c;i&…

【JavaScript】内置对象 - 数组对象 ⑤ ( 数组转字符串 | toString 方法 | join 方法 )

文章目录 一、数组转字符串1、数组转字符串 ( 逗号分割 ) - toString()2、数组转字符串 ( 自定义分割符 ) - join() Array 数组对象参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array 一、数组转字符串 1、数组转字符串 ( 逗…