01阅读须知
此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他方面
02实战遭遇WAF拦截
WAF(Web Application Firewall)是一种用于保护Web应用免受各种攻击(如SQL注入、XSS攻击等)的安全设备或服务。它通过分析HTTP请求,过滤和拦截恶意请求来保护Web应用。然而,在某些情况下,WAF可能会对合法请求造成干扰,特别是对于ASPX脚本的头部声明语言(如language="c#")的拦截。为了避免这种情况,开发者需要一种能够绕过WAF的方法,而Sharp4WebConfigCompilation正是为此而设计的。
03基本介绍
Sharp4WebConfigCompilation是一款专为渗透时用于.NET入口打点的工具,其主要功能是通过更改站点默认配置来规避ASPX脚本头部声明,以此绕过Web应用防火墙(WAF)的拦截。这款工具的工作原理是通过修改web.config文件中的配置,使得ASPX脚本在不显式声明编译语言的情况下正常运行。
04编码实现
首先,Sharp4WebConfigCompilation工具的核心在于对web.config文件进行适当的配置。具体步骤如下:
<compilation defaultLanguage="c#" debug="true" />
最大的优点在.NET应用程序的根目录或子目录中,都可以配置生效。这段配置将默认编译语言设置为C#,并启用调试模式。
接着,由于web.config文件中已指定了默认编译语言为C#,因此下面的脚本可以正常运行而不需要显式声明语言,在您的ASPX脚本中,也无需添加头部声明。
<% var s = 1; Response.Write(s); %>
如果您的应用程序有多个子目录,并且需要在某个子目录中应用上述配置,只需在该子目录下上传一个新的Sharp4WebConfigCompilation文件,并添加相同的配置即可。
这种方式可以确保在该子目录中的所有ASPX脚本都能绕过WAF的拦截。
05.NET安全星球
星球汇聚了各行业安全攻防技术大咖,并且每日分享.NET安全技术干货以及交流解答各类技术等问题,社区中发布很多高质量的.NET安全资源,可以说市面上很少见,都是干货。
20+个专题栏目涵盖了点、线、面、体等知识面,助力师傅们快速成长!其中主题包括.NET Tricks、漏洞分析、内存马、代码审计、预编译、反序列化、webshell免杀、命令执行、C#工具库等等。
我们倾力打造专刊、视频等配套学习资源,循序渐进的方式引导加深安全攻防技术提高以及岗位内推等等服务。