只想知道 发表于 2015-1-16 22:46:19

ASP网页编程之奇妙破解开他人ASP木马暗码的办法

Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。木马|破解破解方针:破解一asp木马的经由加密的登破解asp木马暗码陆暗码。因为木马里没有版本申明,详细也不晓得这木马叫甚么名。
破解思绪:两种,用加密后的暗码交换密文和使用密文及加密算法反解出暗码。前者基本算不上真实的破解。
破解目标:没事破着玩。
假如得不到asp源代码,那末能够说对破解暗码,我毫无胜算。有位中原的伴侣说他失掉了一个web的权限,可是没法修正主页,发明个中已有个asp木马,但暗码是经由加密的。那末就有了这篇动画了。好了,空话太多了,那末,作好筹办,此次的讲授将会相称的冗长。
asp木马上岸暗码考证关头代码以下:

ifEpass(trim(request.form("password")))="q_ux624q|p"then
response.cookies("password")="8811748"
...
<%
endselect
functionEpass(pass)
temppass=StrReverse(left(pass&"zxcvbnm,./",10))
templen=len(pass)
mmpassword=""
forj=1to10
mmpassword=mmpassword+chr(asc(mid(temppass,j,1))-templen+int(j*1.1))
next
Epass=replace(mmpassword,"","B")
endfunction
%>
很分明,用的是Epass函数把输出的暗码举行加密,然后将失掉的密文和原密文举行比对。假如稍有点编程基本的话,出格是VB,那末Epass里的加密算法将一览无余。假如没有,那末,不妨,信任经由我的解说,你很快就会分明。函数中,保留暗码的变量是pass。pass&"zxcvbnm,./"将pass里的内容与zxcvbnm,./相毗连失掉一个新的字符串。left(pass&"zxcvbnm,./",10)取前10位。StrReverse函数将失掉的10位字符串序次倒置。len(pass)取得暗码的长度。上面是一个轮回。将失掉的字符串中的每位的Ascii码-暗码长度+取整(字符地点位*1.1),然后将失掉的数值转换成字符从头毗连。最初将失掉的字符串中有字符的全体交换成B,如许密文的发生了。假如我们提取加密算法用本人的密文交换原有密文,那末相映的暗码也会酿成你的暗码。但我说过了,这并非真正意义上的破解。
假设我们输出的是love,加密历程以下:

love
lovezxcvbnm,./毗连
lovezxcvbn取前10位
nbvcxzevol序次倒置
n
110(ascii)-4(位数)+int(1(地位)*1.1)=107
107的ascii码为k,顺次类推,最初密文:
k`ucy|hzts
我们能够经由过程密文和加密算法反推出暗码。从算法的最初一步入手下手往上推。最初一步用B交换一切,有没需要将B交换回呢,谜底是不是定的。只需我们能失掉最初的密文,暗码纷歧样也是有大概的。假如有10个B,那原暗码的个数就2的10次方个,固然原暗码只要一个,可是1024个暗码都是准确的。假如要完善破解的伴侣,能够本人试着编写全体的组合。
那末这步能够疏忽了。
下面的算法很明晰,
chr(asc(mid(temppass,j,1))-templen+int(j*1.1))
我们只需复杂的将+和-换一下就能够了。
chr(asc(mid(temppass,j,1))+templen-int(j*1.1))
可是另有一个成绩,我们事前不晓得暗码的长度,不妨,幸亏暗码在1-10位之间,不太长。
那末我们能够用一个1到10的轮回求出一切大概的暗码,再将其用StrReverse函数序次倒置。
那末最初失掉的暗码我们该怎样断定哪一个就是呢。能够依据pass&"zxcvbnm,./",看除暗码最初是不是有zxvbnm,./的前几位。
那末这就是真实的暗码。那末假如暗码是10位,将是永久准确的,由于前面不存在毗连。以是我们大概失掉两个谜底。
以下即是我编写的解密函数:

functionCcode(code)
fortemplen1=1to10
mmcode=""
forj=1to10
mmcode=mmcode+chr(asc(mid(code,j,1))+templen1-int(j*1.1))
next
Ccode=strReverse(mmcode)
response.write"暗码"&templen1&":"&Ccode&"<br>"
ifmid(Ccode,templen1+1,10-templen1)=left("zxcvbnm,./",10-templen1)andtemplen110then
result=left(Ccode,templen1)
next
response.write"最初暗码:"&result
endfunction
好了,算法大概在这么短的工夫内没法完整把握,这是一般的,那末我将在紧缩包中附送申明文档和加解密的asp源代码,人人拿归去好好研讨吧。一样,暗码10永久准确的。那末我们将asp里原本的密文拿过去看看,会有甚么了局。好,两个暗码都能够上岸。为测试我在当地假定了个iis,假如当地没法架设web服务器,能够接洽自己,用其他言语编写。
asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!

莫相离 发表于 2015-1-19 23:13:49

下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。

再现理想 发表于 2015-1-25 21:55:32

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

乐观 发表于 2015-2-4 05:59:49

你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。

金色的骷髅 发表于 2015-2-9 16:40:02

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

山那边是海 发表于 2015-2-27 11:06:48

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

蒙在股里 发表于 2015-3-9 01:50:49

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

老尸 发表于 2015-3-16 19:55:47

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

第二个灵魂 发表于 2015-3-23 00:29:09

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
页: [1]
查看完整版本: ASP网页编程之奇妙破解开他人ASP木马暗码的办法