2003-12-21, 08:24 PM | #1 | |
注册日期: 2003-10-22
帖子: 11,051
积分:6
精华:24
现金:14342金币
资产:29325299金币
|
常见网页加密方法和破解对策
常见网页加密方法和破解对策(一) 右键弹出窗口加密。程序如下: <script language="JavaScript"> <!-- document.onmousedown=click function click() { if ( event.button==2) {alert('不准查看源文件') } if ( event.button==3) {alert('不准查看源文件') } } //--> </script> 此法对IE有特效,但在NC中右键定义为无法控制的帮助菜单,所以NC中event对象 无button属性,在NC中右键->View Source可看源码。 老式程序没有if (event.button==3)的判断句,不知哪位老前辈想出——先按下 左钮不放再按下右钮,然后松开左钮再松开右钮,快捷菜单就会弹出,点击查看 源文件就能看到源码。(左右键法?………^_^) 本菜鸟自编的变形: <script language="JavaScript"> <!-- document.onmousedown=click function click() { {window.location="index.html"; alert('不准查看源文件'); } } //--> </script> 由于在NC中无法定义左右键,只有加上window.location="index.html"令其一旦 激活鼠标事件就转向首页或其它Web页,否则在NC中右键按了“确定”后,还会弹 出快捷菜单。缺点是在IE5.0左键也被禁止,不过在NC4.5只要按在链接上,仍能正 常转向Web页。 用乱码显示链接、调用地址加密。 利用某些函数把URL字符转换成ASCII码,从而达到隐藏链接Frame页面和*.js,*. asp等脚本的目的。 返回ASCII码escape(character),ASCII码为%XX格式,XX是十六进制,如空格键为 %20。 返回字符unEscape(string) 如: <!—var Words=" %3Cframeset%20BORDER%3D%220%22%20FRAMEBORDER%3D%220%22 %20FRAMESPACING%3D%220%22%20rows%3D%22100%25%22%3E%0D%0A%20%20%3Cframe %20SRC%3D%22http%3A//XXX.XXX.COM/XXX/XXX/%22%20NAME%3D%22oos1%22%20"// --> </script> 我们只要运行以下语句,可还原“乱码” <script LANGUAGE="JAVASCRIPT"> var Words="乱码" document.write(unescape(Words)) </script> 什么??没有输出!呵呵,原乱码是完整的JavaScript语句,当然不能显示,把 %3C删去破坏其格式,输出frameset BORDER="0" FRAMEBORDER="0" FRAMESPACIN G="0" rows="100%"> 再把下一个%3C删去,所有字符都出来了哦。 此法常与右键弹出窗口加密、调用脚本显示页面等共同使用。也可用全部保存法 ,清空缓存法破解。 调用脚本显示页面加密。 首页(这是网友popchina的实验主页,删去部份原码节约空间,并隐去地址。请原 谅。) <script language="javascript" src="PassWord-Test.files/ok.js"></script > <p>完全JavaScript加密--popchina欢迎你</p> <p>不能关闭JavaScript功能!<br> --由于IE和NC的不同在打开JavaScript后NC能解密一定信息!关闭后是加密的信息 ,IE的效果很好^_^</p> <script language="javascript"> password("<ulmg xloli=ivw>rmkfg kzhhdliw</ulmg>") password('<ulin mznv="ulin0">') password('<rmkfg gbkv="gvcg" mznv="gvcg0" ezofv="rmkfg kzhhdliw" hrav= "91">') password('<rmkfg gbkv="yfgglm" mznv="lp" ezofv="--lp--" lmxorxp="oltrm ()">') password('</ulin>') </script> ok.js脚本(页面内容在脚本中) function login() { var str=document.form1.text1.value if(str=="abc098") { var pw=null pw=window.open('','MyWeb','top=0,left=0,location=0,menubar=0,toolbar=0 ,width=70,height=50') if (pw!=null) { pw.document.write('<html><head><title>ok</title></head><boby>') pw.document.write('<p>Welcome to MyWeb') pw.document.write('</p></boby></html>') } } return "" } function password(str) { var key1="abcdefghijklmnopqrstuvwxyz1234567890" var key2="zyxwvutsrqponmlkjihgfedcba0987654321" var charkey1 var charkey2 var charkey var pstr="" str=str.toLowerCase(); for(var i=0;i<str.length;i++) { var charkey1=-1 charkey=str.charAt(i) charkey2=charkey charkey1=key1.indexOf(charkey) if (charkey1!=-1) { charkey2=key2.charAt(charkey1) } pstr=pstr+charkey2 } document.write(pstr) } 输入地址法(NC不适用) 查看首页源文件,发现调用ok.js,在浏览器地址栏输入http://www.*.163.net/ ok.js,确定把ok.js保存在硬盘。用记事本编辑ok.js找到一行if(str=="abc098" ),嗯,密码是abc098。如果没有指定*.js类型,可在文件类型中增加“打开”— >windows\wscript,“编辑”—>windows\notepad。(此法对特定脚本适用。本站 的澳门回归倒计时就是参考了www.oyo.com.cn的*.js源文件,精确到秒的好东东。 ) 全部保存法(NC不适用) 利用IE的“文件”—>“另存为”把本页保存选择“Web页,全部(*.htm;*.html) "。你会发现在存档的目录下有一和页面同名的子目录,里面包含了所有作用于该 页面,而目标不在本页的图片和脚本文件,及Frames页源码。 清空缓存法(NC,IE通用) 把windows\Temporary Internet Files或Edit\Preferences\advanced\cache\di sk cache folder的内容清空。然后浏览网站,源码、Frames页、脚本就在Tempo rary Internet Files和disk cache folder中。但在NC中,所有脚本都改了名, 辨认麻烦。(看多个网站,需多次清空和拷出源码保存,苦!^_^) 关掉JavaScript法(IE不适用) 在NC中把advanced\Enable JavaScript屏蔽,可避免运行JavaScript,但对乱码和 脚本无能为力,脚本可是特殊效果的关键哦。(具体见附:) 关掉Java法(NC,IE通用) 由于目前常用JavaScript的简单加密,关掉IE和NC的Java并不能屏蔽JavaScript ,无实用价值。除非是用Java加密。 总结:建议使用全部保存法,只需存一次盘。一晚可存几十个网页,第二天再研 究。可见IE和NC的不同在于对脚本语言的支持不同,实乃我等剽窃者的一大福音 。^@^ 附: Java由Sun开发,Web页中标识符为<Applet>,脚本后缀名为.class。 JavaScript由Netscape开发,标识符为<script language="JavaScript">。 JScript由Microsoft开发,标识符为<script language="JScript">,该标识符在 NC中会被忽略。 Java和JavaScript两者不同。在IE高级-->Java VM中只能屏蔽Java,不能屏蔽Ja vaScript。只有NC能屏蔽两者。 JScript绝大部分与JavaScript相同,除少数命令不同,一般可认为JScript等于J avaScript,但在IE5.0中这种差别得到了强化,可见微软对网景的残酷打击。 常见网页加密方法和破解对策(二) 关于口令密码校验 <script LANGUAGE="JAVASCRIPT"> <!-- loopy() function loopy() { var pass ="" while (pass != "login") //login为密码 {pass = prompt("请输入密码")} alert("登陆成功") } //--> </script> 此法用了while()死循环,如果密码不对,连用右键和菜单查看源文件的机会都没 有,只有关闭Javascript了,不过IE无此功能,用NC吧。 只能输入三次密码的变形: <script LANGUAGE="JavaScript"> <!-- Begin function password() { var testV = 1; var pass1 = prompt('请输入密码:',''); while (testV < 3) { if (!pass1) history.back(); if (pass1 == "password") { //password为密码 alert('登陆成功!'); window.location="time.html"; //正确链接的URL.html break; } testV+=1; var pass1 = prompt('密码不对,请重新输入'); } if (pass1!="password" & testV ==3) history.go(-1); //失败则返回前一个文档,可用window.location="***/***.ht ml"替换 return " "; } document.write(password()); </script> 以下为一实例(同样也隐去地址,请原谅。) 首页源码 <script language="JavaScript"><!-- function dw(skey,msg) {document.write(codeIt(skey,msg));} var key = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz!\"\ \|#$%&\'()*+,-.\/:;<=>?@[\\]^_\t\`{}~\n"; function codeIt (mC, eS) {var wTG, mcH = mC.length / 2, nS = "", dv; for (var x = 0; x < eS.length; x++) {wTG = mC.indexOf(eS.charAt(x)); if (wTG > mcH) {dv = wTG - mcH; nS = nS + mC.charAt(48 - dv);} else {dv = mcH - wTG;nS = nS + mC.charAt(48 + dv);}} return nS;}//--></script> <script> dw(key,"FgwhqjfW,\[*;#\[;=EX.ydy%whqjfXD00FYKK0tnysE\n0tnys}E\n0KKD00F IgwhqjfD");</script> <script> dw(key,"FgwhqjfW,\[*;#\[;=EX.ydy%whqjfXW%&?EXdjulwhJfbfXDW00FIgwhqjfD" );</script> <script> dw(key,"FgwhqjfW,\[*;#\[;=EX.ydy%whqjfXW%&?EXdjjgJfbfXDWWWW00FIgwhqjfD ");</script> <script> dw(key,"FgwhqjfW,\[*;#\[;=EX.ydy%whqjfXD00FYKK0telwfqklWmyqlPO030mumxu hEvkwemulfJynnJeguhlymuJdyneu0jyggEvkwemulfJynnJjyggckhvJdyneu0ulwhajf qklPO0jyggckhvPO020KKD00FIgwhqjfD");</script> <script> dw(key,"FgwhqjfWnylseysuEX.ydy%whqjfXDFYKK0telwfqklW*uc qlvkcPO3cqlvkc JkjulPXvulspqJrfmXLXXLXruqsrfE`\n\nLcqvfrE{`\nLfkknxyhEaugLvqhuwfkhqug EaugLgfyfegEaugLgwhknnxyhgEaugLhugqZuEaugLmulexyhElkXOG20IIWKKDFIgwhqj fD");</script> 其实源文件并不复杂,只不过有几串特长字符让人迷惑罢了。查看源文件,没有 进入会员区的调用和链接,故此五行乱码一定是JavaScript的调用和链接。观察 发现函数codeIt是密码计算式,函数dw是输出JavaScript语句,试着把第一行的 F删去,破坏其语句结构发现输出script LANGUAGE="JavaScript">再把gwhqjfW, \[*;#\[;=EX.ydy%whqjfXD00F删去。输出!-- flag=0 flag2=0 -->由此可得出五 行乱码为 script LANGUAGE="JavaScript">"> <!-- flag=0 flag2=0 -->-> t/script> script LANGUAGE="JavaScript">" SRC="vpencr.txt"> t/script> script LANGUAGE="JavaScript">" SRC="vpps.txt"> t/script> script LANGUAGE="JavaScript">"> t!-- function main() { member=document .all.username.value pass=document.all.password.value encryption() pass word() } --> t/script> script LANGUAGE="JavaScript"> !-- function NewWindow(){window.open("de ngji.htm","","height=400,width=340,toolbar=yes,directories=yes,status= yes,scrollbars=yes,resize=yes,menubar=no");} // --> t/script> 当然实际中困难重重,曾头脑发昏地考虑用计算器算出每个nS值—^@^,而且F的值 有出入,应为"<",但已经无关紧要了。 在IE地址栏输入vpencr.txt,vpps.txt,dengji.htm的URL,获得vpencr.txt和v pps.txt,并证实dengji.htm 的URL正确。 vpencr.txt(密码表)源码 function encryption() { mm = "Z" k = "j" b = "p" mmmm = "&" ccc = "6" l = "i" c = "q" m = "s" abcd = "m" o = "n" u = "z" e = "d" gg = "U" p = "u" jj = "O" v = "a" j = "y" x = "c" t = "h" h = "k" vv = "C" * * * * * y = "t" lll = "." mmm = "," cccc = "]" g = "l" dddd = "{" eeee = "}" ffff = "" gggg = "|" hhhh = "!" iiii = "@" jjjj = "#" kkkk = "$" llll = "%" nnnn = "(" } 奇怪,这个密码表我好象在哪见过? vpps.txt源码 function password() { if(member==h+l+g+g+p+m+v) { if(pass==v+y+y+v+x+h) {alert("PASS、、、欢迎来到成员区") window.location.href = y+u+lll+t+y+abcd flag2=1} } if(member=="") {} else { if(flag==3) {window.location.href = "http://***.***.com" flag2=1} if(flag2==1) {} else {alert ("现在要格式化你的硬盘!!!!————骗你的,呵呵") flag=flag+1} } } 对照vpencr.txt,member=h+l+g+g+p+m+v=killusa, pass=v+y+y+v+x+h=attack, href=y+u+lll+t+y+abcd=tz.htm。搞定!当然也可把会员区的URL改为window.op en(y+u+lll+t+y+abcd,"","location=0");叫他进了会员区也不知道自己在哪个目 录下。 使用密码表好象成了一种潮流,好处很多啦,无须特殊转换,就能使"鸡"="鸭" ^@^,只不过当前个人主页没有文件权限,看懂密码表比看懂函数计算式容易多了 。有一些个人主页就是直接调用密码表,不隐藏地址,很容易被人copy下分析。 -------------------------------------------------------------------------------- 常见网页加密方法和破解对策(三) 关于口令无密码校验 一个典型的例子 <script language="JavaScript"> <!-- function hidden(){ var location=document.input.password.value + ".html"; this.location.href = location; } // --> </script> <form name="input"> <table> <tr> <td>Password:<p><input type="text" size="15" name="password"></p> <p><input type="button" value="Enter" onclick="hidden()"></td> </tr> </table> </form> 这是终极加密,也是极无耻的加密法,但很实用^@^。 链接的加密页为document .input.password.value + ".html",input.password.value就是你输入的密码作 为文件名,.html为后缀名(可因需要改为.htm), URL的变化: var location=document.input.password.value + ".html";(当前路径) var location="../../../"+document.input.password.value + ".html";(相对 路径) var location="http://***.com/"+document.input.password.value + ".html" ;(绝对路径) var location="http://"+"key1"+".com/"+"key2"+"/"+"key3" +…………+"key 4"+ ".html"; (主机、目录、文件名都包含进去,key(n)分别为密码的某一部份) var location=document.input.password.value; (呵呵,密码就是URL) 常见的几种变形: <body OnLoad="keyKeeper()"> <script LANGUAGE="JavaScript"> function keyKeeper() { // Get Password var password = prompt("输入登陆密码 :", "") if (password) { // Get Keys var key1= password.substring(1,2) var key2= password.substring(3,4) var key3= password.substring(5,6) // Create File Name var passpage=''+key1+''+key2+''+key3+".htm"; // GO TO FILE this.location.href = passpage; } } </script> 此例不同于关于口令密码校验的例子,可点击取消,让人有“破网”的感觉,但 本质还是密码=文件名。 我就曾见过能按系统时间变化加密目录和文件名的脚本,某一时间得出一个目录 或文件名,原理一样的,只不过函数计算式较复杂而已。(如果你修改自己的系 统时间会……?) 此法最好不要和密码表混用,别人很容易从密码表推出密码或范围。 可见此类型加密的最大特点是无标准密码核对过程。由于没有核对过程,我们无 法知道密码的正确性,也无法绕过密码,直接进入URL。相当于在地址上输入成千 上万个URL,直到成功。所以此类型的加密破解机率几乎为零。(除非他机子“养 马”,或到服务器上改。呵呵) 话说回来,这违背了加密原则,等于在主页上写道“请你E-mail来,我将给你页 面的URL(密码)”,如此在表单输入密码和在地址栏输入URL是一样的效果,只 不过多了个密码表单遮人耳目罢了。是不是很无耻呢???什么……你要用此法 加密,我晕倒^@^。 >> >三招破解禁用鼠标右键的网站 你是不是在网上经常看到一些有用的图片,想把它下载到自己的电脑上。一般的方法是鼠标右击图片选择“另存为”即可。可是在有些网站当你右击鼠标时,并没有弹出快捷菜单,而是一个类似于“不可用右键!”的警告窗口。难道就这样算了吗?那可不行,一定要发扬DIYer们的精神! 牐 牐1、解除禁用鼠标右键。可以先点击左键,不松手,再点击右键。接着松开左键,最后松开右键。你看是不是又出现了正常的快捷菜单,赶紧“另存为”吧!当然这个方法不能适用所有的网站,那就试试下面的方法吧! 牐 牐2、使用专业的下载工具。首先打开“网络蚂蚁”或“网际快车”等下载工具(以网际快车为例),并且设置为显示浮动窗口。只要把鼠标移到图片上,按住左键不放,拖曳到网际快车的浮动窗口,然后松开鼠标邮件。你瞧!网际快车已经添加了一个下载任务,等着你的确认呢!确定后就可以轻松地下载到你的电脑上了。要是你手头上没有下载软件,或者是认为它不易管理图片文件,你还可以用用下面的方法。 牐 牐3、保存整个网页文件。打开下载图片的网页,点击IE浏览器的文件菜单,选择“另存为”命令。在弹出的另存为窗口中设置好保存的路径、文件名以及保存类型。保存类型应该选择默认的“Web页,全部”。保存完毕之后就可以打开同文件名的Files文件夹,这里面都是保存下来网页的素材,当然包括你要的图片。接下来就可以用Windows的预览功能找到有用的图片或者是用ACDSee看图软件进行预览找到它! -------------------------------------------------------------------------------- >> 如何破解不让使用鼠标右键的网站 现在有好多网站不能使用鼠标右键,当你点击右键时就弹出一个窗口说些莫名其妙的话。当你看到网页上有精美图片或者精彩文字想保存时,一按鼠标右键就弹出那个窗口,很是讨厌。 其实这只是利用JAVA语言实现的一个很简单的锁住鼠标右键的功能,同样也很简单就能使它失效,具体做法如下: 1:在页面目标上按下鼠标右键,弹出窗口,这是不要松开右键。 2: 将鼠标移到窗口的确定按钮上,同时按下左键。 3:现松开鼠标左键,这时窗口消失。 4:再将鼠标移到目标上松开鼠标右键,OK,你想要得功能全出来了。 近来又发现一种锁住鼠标右键的网站。在这种网站你一点鼠标右键就出现添加到收藏夹的窗口,用以上的方法不能破解,因为你用鼠标左键点取消的同时旧失去了右键的目标的焦点,不过要破也不难,如下方法: 1:在目标上电鼠标右键 ,出现添加到收藏夹的窗口,这时不要松开右键,也不要移动鼠标。 2:使用键盘的TAB键,移动焦点到取消按扭上。按下空格键,窗口消失。 3:松开右键,OK,你要得功能全出来了。 -------------------------------------------------------------------------------- 鼠标右键封锁破解技巧 1 弹出窗口的情况 >>实现方法 封锁鼠标右键 <script language="javascript"> function click() {if (event.button==2) {alert('右键没用啦, 使用左键吧!?^_^') }} document.onmousedown=click</script> 这段代码需要放在<head></head>标志中。 >>破解方法 牐牥聪掠壹(不要松开),窗口会马上弹出,然后按“ESC”键, 弹出的窗口立即关闭,再松开右键,封锁被解除了。 2 出现“添加收藏夹”的情况 >>实现方法 封锁鼠标右键 <script language="javascript"> function click() {if (event.button==2) {window.external.addFavorite ('http://www.gznet.com',' 广州视窗')}} document.onmousedown=click</script> 这段代码需要放在<head></head>标志中。 >>破解方法 牐牥聪掠壹(不要松开),“添加窗口会马上弹出,然后按“TAB”键几次, 移动到“取消”按钮上,再松开右键,封锁被接触。 3 彻底封锁鼠标右键 封锁鼠标右键 <script> function DM(e){if(!ns){if(event.button>1)window.external.addFavorite ('http://www.gznet.com/','广州视窗')}else{if(e.which>1)return false}}ns=navigator.appName=="Netscape";if(ns)document.captureEvents (Event.MOUSEMOVE|Event.MOUSEDOWN);document.onmousemove=DM;document. onmousedown=DM;</script> 这段代码需要放在<head></head>标志中。 说明:这个脚本在右键按下时调用一个函数的,可以改为很多类型。按下左键, 再按下右键,入开左键,再放开右键的方法是破不了的。 >>破解方法 左键点击一下窗口,然后按“shift + f10”,右键菜单马上出现了。 当所有的手段都无计于事时,你可以采用“网页信息神探”,它不仅仅能够破解不让使用鼠标右键的网站,而且能够破解所有对浏览器的信息屏蔽。详细介绍见:http://www.relaxsoft.net/WebInfoSpy/ |
|
|
||
|