[Web安全]剖析通过“图片”对本地目录进行虚假映射

楼主
[Web安全]剖析通过“图片”对本地目录进行虚假映射
对通过“图片”对本地目录进行虚假映射的剖析
--------------------------------------------------------------------------------
编辑:Dahua Lee  来源:www.52157.com  类别:黑客教学  日期:2003.08.13  今日/总浏览: 1/3924  


  [ALIGN=CENTER]对通过“图片”对本地目录进行虚假映射的剖析[/ALIGN]
--------------------------------------------------------------------------------

创建时间:2003-07-26
文章属性:原创
文章来源:Dahua Lee
网站地址: http://www.52157.com
文章提交:Dahua (dahua@52157.com)

--------------------------------------------------------------------------------

大家好,刚刚逛街回来,心情不错!
习惯的打开了自己的笔记本电脑,由于经常出差不在家,所以家里的ADSL早就停了,只好听听熟悉的拨号音了,嘟.嘟..嘟...

经过正确的身份验证俺终于成功的以51K的速度上网了!

第一件事情不用说了,开打IE,去自己网站的论坛看看。

在看论坛的时候发现一个朋友发了一个URL,地址是 http://www.chinawill.net/hk/hk.jpg,由于一点好奇,顺便看了一下是什么“图片”,慢

慢的小猫终于把hk.jpg拉了下来,哦,知道了,老东西了,好久以前我就遇到过这个东西, 当时别人还说让我看看说是把我给黑了,我当时一

看吓我一跳跳。
但是当时没太留意,既然今天又一次看到了,那么今天就为大家分析分析这个奇怪的“图片”文件hk.jpg。

如果有人给你发这个地址,也告诉你说把你黑了,我可以告诉你,不用怕,如果你有肉鸡或者身边还有其他机器的话,只要你用其他机器也访

问一下这个地址就可以知道了,他只是显示了一下本地C盘而已。并不是只读取你的,所以,既然不是只读取你的,那么所谓那个说黑了你的人

也就无法看到你的,即使他也访问这个页面,显示的也无非是他自己的C盘了,就算他神通广大黑了显示的C盘,也黑的是他自己的!呵呵!

废话不多说了,既然要分析,那么我们就要先好好看看这个页面!

习惯的直接在页面上点了鼠标右键,选择了“查看原文件”,显示的内容竟然是:

##############################################################################################

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>

<head>
<style>
a:link         {font:9pt/12pt 宋体, MS Song; color:red}
a:visited        {font:9pt/12pt 宋体, MS Song; color:#4e4e4e}
</style>
<meta HTTP-EQUIV="Content-Type" Content="text-html; charset=gb2312">
<title>HTTP 403 (禁止访问)</title>
</head>
<script>
function Homepage(){

// in real bits, urls get returned to our script like this:
// res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm

//For testing use DocURL = "res://shdocvw.dll/http_404.htm#https://www.microsoft.com/bar.htm"
DocURL=document.location.href;

//this is where the http or https will be, as found by searching for :// but skipping the res://
protocolIndex=DocURL.indexOf("://",4);

//this finds the ending slash for the domain server
serverIndex=DocURL.indexOf("/",protocolIndex + 3);

//for the href, we need a valid URL to the domain. We search for the # symbol to find the begining
//of the true URL, and add 1 to skip it - this is the BeginURL value. We use serverIndex as the end marker.
//urlresult=DocURL.substring(protocolIndex - 4,serverIndex);
BeginURL=DocURL.indexOf("#",1) + 1;
urlresult=DocURL.substring(BeginURL,serverIndex);
if (protocolIndex - BeginURL > 7)
urlresult=""

//for display, we need to skip after http://, and go to the next slash
displayresult=DocURL.substring(protocolIndex + 3 ,serverIndex);

// Security precaution: must filter out "urlResult" and "displayresult"
forbiddenChars = new RegExp("[<>\'\"]", "g"); // Global search/replace
urlresult = urlresult.replace(forbiddenChars, "");
displayresult = displayresult.replace(forbiddenChars, "");

document.write('<A target=_top HREF="' + urlresult + '">' + displayresult + "</a>");
}

function doSearch()
{
  saOC.NavigateToDefaultSearch();
}

function initPage()
{
  document.body.insertAdjacentHTML("afterBegin","<object id=saOC CLASSID='clsid:B45FF030-4447-11D2-85DE-00C04FA35C89'

HEIGHT=0 width=0></object>");
}

</script>


<body bgcolor="white" onload="initPage()">


<table width="400" cellpadding="3" cellspacing="5">
 <tr>
  <td id="tableProps" valign="top" align="left"><img id="pagerrorImg" SRC="pagerror.gif"
  width="25" height="33"></td>
  <td id="tableProps2" align="left" valign="middle" width="360"><h1 id="term1"
  style="COLOR: black; FONT: 13pt/26pt 宋体, MS Song"><span id="errorText">您无权查看该网页</span></h1>
  </td>
 </tr>
 <tr>
  <td id="tablePropsWidth" width="400" colspan="2"><font id="LID1"
  style="COLOR: black; FONT: 9pt/12pt 宋体, MS Song">您可能没有权限用您提供的凭据查看此目录或网页。</font></td>
 </tr>
 <tr>
  <td id="tablePropsWidth" width="400" colspan="2"><font id="LID2"
  style="COLOR: black; FONT: 9pt/12pt 宋体, MS Song"><hr color="#C0C0C0" noshade>
  <p ID="term3"> 如果您确信能够查看该目录或网页,请尝试使用<script> Homepage();</script>主页上所列的电子邮件地址或电话与网

站联系。</p>
  <p id="term4">可以单击<a href="javascript:doSearch()"><img border=0 src="search.gif" width="16" height="16"

alt="search.gif (114 字节)" align="center">搜索</a>,寻找 Internet 上的信息。</p>
  <p><br>
  </p>
  <h2 id="errortextcode" style="font:9pt/12pt 宋体, MS Song; color:black">HTTP 错误 403 - 禁止访问 <BR>
Internet Explorer </h2>
  </font></td>
 </tr>
</table>
</body>
</html>

###########################################################################################

不用说了吧,上面的中文已经说明了这个代码明明是错误页面“HTTP 错误 403 - 禁止访问”的代码!

既然页面的代码正常,那么很明显,问题一定出在这个hk.jpg上,复制了一下地址,用我的小车把这个奇怪的hk.jpg拉了下来,还好文件不大

,很快就下载下来了。

拉下来以后,什么也没多考虑,直接就去打开这个文件,你可以很清楚的看到这个图片文件什么图片都不是,没有任何显示,那么更可以证明

问题一定是出在这个所谓的图片文件上了。

我们用写字板或UltraEdit将这个文件打开,显示结果如下:

###########################################################################################

<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>IHackedYou-----『华中鹰派』http://cn8341.126.com</title>
</head>
<script language = JScript.Encode>#@~^9wUAAA==@#@&@!Z O@#@&NKm!h+ Y hMkOnvExdmmw+vEY&;/1DrwOY22Y!GY!z]f/u

FRRu!9]Z)9W^!:xYchMrY]+%!xnd1lwY R] yY+*2Zkm.k2Ou X&AY l!9Yy*!)Yy*fZu+l q Ou *Zfu+*Zb[W1Ehn YRS.kD+]yX+%!x/^l2nu X RY l

+Yy* Xf;4GNHYy*+l Z4o1W^GDu X l&9Yy* l+ u *yX+&wswsosY+l X yY l X+ZY+aOu X lfG]+l l u l+*y&T!Z!TTu *yX y] l+X ZW

VGl[Yy*+*29]y*+Xy m.CaRdYHsR[b/aVlH]yX l&9]y*+XyG]yX l Gu+X l y]+*+Xy!GxsGEk+[GSx]+Xy*ffu+l Xy M+Y!D Y l X Z0Csk+]yX l  

u+X l ZWU:G;k+hW7n]y*+X2f]+Xy*+ MnDE. ]y* l ZWl^/n]y*+Xy ]yX l !KU[DmokYCDOYy*+*29]y*+Xy DnO!DU]yXy*+Z0mV/]yX l +]y*+Xy!W

d+^+mu+X l&G]+*+Xy .+D;D ]+Xy* TWmVd+u+l Xy u *y*yTW /nVmOdDlDDY l *29Y l l +DnO!DU]yX l TWmV/nYy*+*y+u

Xy*y!/DX^n]y*+*2fY+l *y{W7+D6sGhu l X&)4bN[+ Y l X+F] X+l&3]yXy*TG]y* l!zY l X&;Nr-u *yX ZkNu+X l&G]+*+Xy ^Dm2]y*+Xy

]+Xy*+!kOHVnu l *2fu+*y*+G9kd2^lXu+*y*&zUGx]y*+*+{u X lf2u X+l!fY+l X!zYy*+l&;k:T]yX l T/MmY+l *29]y* l++k4l13nNzG!R%wTY l

X+y] X+l Thb[DtYy*y*&G]yX l +vWGY+l *y+]y* l+TtkTtO]+Xy*ffu+*y*++l*&Y+l X yYy*+l&A] l lTfu X l!)Yy* lfZ9k\u+X l Z/OXsnu X

lffu X+l GAr9Y4]yXy*fz*y!]y*yX&~tnkTtOYy* lfb2%!u+X l&~wG/rObWU]yX l&)C(/Ws;D+Y l+l&$^+6Y]y*yX&zFq%u X+l&ADGwu

*yXfb8GZ]+*+XyGY l+*22Y+l *T9u X lTz]+l l&Zb0MC:]+*y*+TkDmu+*y*&GY+*y*y ^]+Xy*fbu+*y*X/u *+Xy Y l+l TSk9Ytu l+*2fY l X+y* ZY

l *y+Y l l TtnrTtO]yX l&9Yy* X+y&0!u+l Xy u *y*yT/DXs+u X+l&fu+*y* y"Rq N6Y X+l&)Fu+*y*++u *+X22Y l+l&/Jk6Dls+u+*y*f2u

X+l!fu+*y*!zY+*y*2Z&Nr-u X lf2u X+y] X+O]+*y1u X2Au *Zfu+*Zb&z OY+l&2u+*Zf]yXTbu l&/zd^Mk2Yu+*22Y+y] 1Yy,Y&~YZfYZbJzO

]23]ZfY!z]f/J/mMrwD]&AEb#p@#@&z&OR@*@#@&TYABAA==^#~@</script>
<script language = JScript.Encode>#@~^yAAAAA==@#@&@!Z O@#@&NKm!h+ Y hMkOnvExdmmw+vEY&;Nb\Y Tr9]ffu+G4+4nu

GY+Z/OX^nu&9u F0W Y WlsksXu&)\U] Zjl /]yTj+Mk6]fAWG

YR/b"+u&)qlw6Yf~wG/bObWUu&zl4kW^;Y]fADW2Y2b*+26u&A^nWYu&zFX*2au {]23J*#I@#@&zzRR@*@#@&YzgAAA==^#~@</script><script language

= JScript.Encode>#@~^BAEAAA==@#@&@!Z O@#@&NKm!h+ Y hMkOnvExdmmw+vEY&;/1DrwOY22Y!GY!z]f/u

FRRu!9]Z)9W^!:xYchMrY]+%!xnd1lwY R] yY+*2Zkm.k2Ou X ZdD1]+X2f]+Xy 4YD2u X2bJzNOw9 *8RU+Dz^LbO4bUzbwzb2qR1ob]+*++u X&AY

l&/&kmDr2D]+*23u +u O] O]2$]ZfY!zz&R ]&AY!G]!zYfZJ/1DrwOY22E#*I@#@&z&R @*@#@&A0QAAA==^#~@</script></div>
</div>
<script language = JScript.Encode>#@~^JgQAAA==@#@&@!Z O@#@&NKm!h+ Y hMkOnvExdmmw+vEY&;/1DrwOY22Y!GY!z]f/u

FRRu!9]Z)9W^!:xYchMrY]+%!xnd1lwY R] yY+*2Z9k-]+Xy!rNu+*2fY+l hG!/n]yXy Yy*y!/DX^n]y*ffu

X+FwWkrYbWxu+X&zl(/GV;O]+*2$YKwY+l&bTYy*fA^n6YYy*2b!u lfA4+ro4YY+l&b2Y l&ASr[Y4]y*fbqYy*fA.Rq Nnau *f)8!T!ZTu X2AK\+M0^Ghu

X&ztr[9+xu+*yG]yXf2u l&/kW.m:n]yX Z/.^u *f9u X F[Ow[c*8RxYc4Ys]+*yGY+l !SrNDt]yXff8!Z]+*+T4+ro4O]y*f98!!Y+l T0MCs+8KD9+Du

lffZ]+*y!d^MWV^rxT] lf9xK]y*f2Y+l&/zbWDm:nYy*&3Yy*fZJ[b\Yy*22]y*Z9]y*Tbu Xf;Nk7Y l !b[Y l&G]+*++!wY l+ u X+ZWx.nkk"+u+l&9u l  

1]yX R]+*y,Y+l u+*22]yXfZJNb\Y XfA]+*Z9]y*T)u *f/km.kaOu Xy!^lxTEmL+u X&G]+Xy Lm-lkmDb2O]y*y Y XfA]+*Z9]y*T)u

*T16EUmDrKxYy*y!mu l+%u X O]+XFA]yX!G] lT)]y*Z,Y XTO:GEknRkYzsRVnWD]+*yTu X2fu *y!-+ Y 6 Y+l!fu+*Zb]yXT,u l!1:G;k+

/DzVROGa] X+Z]+*29u Xy!\+ YczO2]+*ZfY+l!bu+*Z,]yX{fu l!9]+XZbY lT,k+O( Y+.-mVY l+R]+l

yEwc/DzVRAk9Y4Yy*&G\lDtRMG;x9]y*+%\CDt DmUNK:Y+l %Y+l 1e8Tu Xy,u *y u+*yZq]y*+1u *Z9]y*!zY+*2ZJ/^Dr2D]+*23]y*T9u *T)u

X&;&(W[H]y*&A]yX!G]+*ZbY+l&ZJ4YsV]yXf2u y]+,Y+O]fAuTfu!)&JOOYfA]TfuTz]f;zkmDbwDY&AJb#p@#@&&JOO@*@#@&txYBAA==^#~@</script>

###########################################################################################

现在看明白了吧,看到开头的<html>就知道了吧,这绝对不是标准的图片文件。

但是看到<script language = JScript.Encode>之前还可以,后面就看的有点迷糊了,有经验的朋友应该可以看出来以后的代码很多都是经过

加密的,而且经过我的多次实验后,最后证明了,这些代码不仅仅是经过加密,而且是经过了多次加密后的结果。所以大家即使现在看不明白

也是很正常的!

下面我们开始对这些代码进行解密,对网页文件加密的工具很多,有经验的朋友可以知道<script language = JScript.Encode>做引用的一般

都是ASP加密,所以我使用了一个Microsoft自己的加密工具DecodeScripting_Pro.exe,大家可以去

http://www.52157.com/showsoft.asp?soft_id=159 进行下在!

经过DecodeScripting_Pro对加密的代码进行解密后,可还是无法看到标准的文件代码,那么,说明还需要进行再次的解密。

但是现在的代码和开始的代码加密形式明显不同,而且使用DecodeScripting_Pro再次解密也没有效果了,所以我们要换一个解密方法。

又用到经验了,呵呵,经验很重要的,一定要多了解一些知识哦!呵呵!

经验丰富的朋友一看到加密代码开头的引用使用的是“document.write(unescape("%”这样的格式,就应该知道了这种加密方法是很多网站都

在线直接提供的网页加密技术加密后的结果!

所以,我们现在就动身去找一个可以在线机密HTML文件而且还同时支持解密的网站(其实现在在线支持HTML加密的的网站都同时支持了解密,

呵呵!所以随便找一个基本都带解密功能。除非你“幸运”,遇到了一个没有的,呵呵!要是真遇到了,记得立刻再说7个1到36的数字哦,买

彩票一定种,呵呵!)

好象我的废话又说多了,呵呵!

现在如果有朋友按照我说的步骤正在一步一步的解密的话,一定现在很着急,因为他们发觉,即使用在线的HTML加密网站进行代码解密,可是

还是无法显示真正的HTML代码,还是加密形式的。不用着急,你们距离成功就只差再多点几下鼠标了,其实这些代码用在先的HTML加密工具加

密了好几次,我记得大概是3次,只要你在解密的按钮上再多点上那么几次,你就可以顺利的看到真正的HTML代码了,也就是可以顺利的对加密

的文件成功的解密了!

下面就是成功解密以后的文件代码了,提供给大家参考!

代码:

###########################################################################################

<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>IHackedYou-----『华中鹰派』http://cn8341.126.com</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" onload="crap.style.display=''" onmousedown="return false" onmousemove="return false"

ondragstart="return false" onselec="return false" onselectstart="return false" style='overflow:hidden'>
<div id="crap" style='display:none'>
<img src="ihackedyou.jpg" width="647" height="553">
<div style='width:520;height:380;position:absolute;left:118;top:170'>
<iframe src="c:\" width="520" height="380" style="z-Index:1"></iframe>
</div>


<div id='hehe' style='font-family:MS Sans Serif;font-size:15px;position:absolute;top:56px;left:155px'>


<script src="http://d9pd.51.net/cgi-bin/ip/ip1.cgi"></script>

</div>
</div>
<div id="mouse" style='position:absolute;top:0;left:0;height:3;width:1;z-Index:100000;overflow:hidden'><iframe

src='d9pd.51.net.htm' width=100 height=100 frameborder=0 scrolling=no></iframe></div>
<div id="up" onresize="c()"></div>
<script language="javascript">
function c(){
mouse.style.left = event.x-2
mouse.style.top = event.y-3
}
setInterval("up.style.width=Math.round(Math.random()*10)",1)
</script>
</body>
</html>

###########################################################################################

怎么样,看到了吧!呵呵!

其实,只要熟悉HTML的朋友看了这些代码就明白了,实际上只是简单的使用了<iframe src="c:\" width="520" height="380"

style="z-Index:1"></iframe>对C盘进行的调用。IP地址的显示则是用了<script src="http://d9pd.51.net/cgi-bin/ip/ip1.cgi"></script>

这段代码来实现的。那个类似软件GUI的效果不过就是一张图片而已,ihackedyou.jpg就是这个图片了,这个可是真的图片了,呵呵!

看了这个HTML以后,实际上HTML的写发上并没有什么特殊的地方,只是思路用的很特别,给人造成了一个视觉误区。

对了,说点题外话,嘿嘿!

俺刚刚喝了一点羊奶,并且听说羊奶要比牛奶好,我去研究一下为什么羊奶要比牛奶好,呵呵!多学习有好处的,呵呵!

最后,希望大家喜欢我写的剖析,有问题可以去我的网站或我的论坛与我交流。

我的网站:Http://www.52157.com
我的论坛:Http://www.52157.com/cgi-bin/leoboard.cgi


 
 
编辑: Dahua Lee
来源: www.52157.com
 
1楼
[注意]剖析通过“图片”对本地目录进行虚假映射的
越来越觉得有趣了
2楼
其实这个段代码的主要为<iframe src="c:\" width="520" height="380" style="z-Index:1"></iframe>
那个显示IP的是ASP的就行无须调用那个cgi了

不过做成图片到是很行!

电脑版 Page created in 0.0742 seconds with 4 queries.