13618602336

常见网页加密方法和破解对策

2014-11-09 09:23 浏览 次 来源:未知
[dvnews_page]

常见网页加密方法和破解对策(一)

右键弹出窗口加密。程序如下:
<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”,右键菜单马上出现了。


联系我们

CONTACT US

袁经理: 电话:027-68772750 地址:武汉市洪山区武珞路珞珈山大厦A座1701室 鄂ICP备09016823号-7