上周碰到了这个问题,上传aspx马,访问后提示 "未预编译文件,因此不能请求该文件",尝试用asp马绕过无果。
预编译原理
<%@ Page Language="C#"%>
<% Response.Write("hello,world"); %>
使用Visual Studio提供的可执行程序aspnet_compiler 预编译.NET项目
aspnet_compiler -v /Lib -p C:UsersAdministratorDesktopdoNet C:UsersAdministratorDesktopcompiled_file -fixednames
参数
-
-v 表示指向的虚拟地址路径 /Lib -
-p 要编译的源Web项目所在文件夹、以及输出的文件夹
-
-fixednames 表示每个.aspx都编译生成单独的dll文件,并使用固定文件名
编译后生成如下文件
这是预编译工具生成的标记文件,不应被删除!
这里起初用.NET4.0编译上传后还是提示未预编译文件,后来在@Amzza0x00 大佬的提示下用.NET2.0编译成功执行。
感谢:
-
https://www.dongchuanmin.com/net/3280.html
-
@Amzza0x00
原文始发于微信公众号(仙友道):.NET预编译场景下的上传
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论