主题:  网页加密

南宫彩虹

职务:普通成员
等级:2
金币:5.0
发贴:684
注册:2002/1/17 10:13:36
#12003/3/28 9:35:17
看到很多人都喜欢加密自己的网页,又特别眼红行者,所以自己将以前保存了东西拿出来,不过记不住从那儿得到的了。

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

右键弹出窗口加密。程序如下:



此法对IE有特效,但在NC中右键定义为无法控制的帮助菜单,所以NC中event对象
无button属性,在NC中右键->View Source可看源码。
老式程序没有if (event.button==3)的判断句,不知哪位老前辈想出——先按下
左钮不放再按下右钮,然后松开左钮再松开右钮,快捷菜单就会弹出,点击查看
源文件就能看到源码。(左右键法?………^_^)
本菜鸟自编的变形:


由于在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)
如:

%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"//
-->


我们只要运行以下语句,可还原“乱码”


什么??没有输出!呵呵,原乱码是完整的javascript语句,当然不能显示,把
%3C删去破坏其格式,输出frameset BORDER="0" FRAMEBORDER="0" FRAMESPACIN
G="0" rows="100%"> 再把下一个%3C删去,所有字符都出来了哦。
此法常与右键弹出窗口加密、调用脚本显示页面等共同使用。也可用全部保存法
,清空缓存法破解。

调用脚本显示页面加密。
首页(这是网友popchina的实验主页,删去部份原码节约空间,并隐去地址。请原
谅。)


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('ok')
pw.document.write('

Welcome to MyWeb')
pw.document.write('

')
}
}
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{
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页中标识符为,脚本后缀名为.class。
javascript由Netscape开发,标识符为

此法用了while()死循环,如果密码不对,连用右键和菜单查看源文件的机会都没
有,只有关闭javascript了,不过IE无此功能,用NC吧。
只能输入三次密码的变形:




以下为一实例(同样也隐去地址,请原谅。)
首页源码





其实源文件并不复杂,只不过有几串特长字符让人迷惑罢了。查看源文件,没有
进入会员区的调用和链接,故此五行乱码一定是javascript的调用和链接。观察
发现函数codeIt是密码计算式,函数dw是输出javascript语句,试着把第一行的
F删去,破坏其语句结构发现输出script LANGUAGE="javascript">再把gwhqjfW,
\[*;#\[;=EX.ydy%whqjfXD00F删去。输出!-- flag=0 flag2=0 -->由此可得出五
行乱码为
script LANGUAGE="javascript">"> -> 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下分析。

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


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

关于口令无密码校验

一个典型的例子







Password:





这是终极加密,也是极无耻的加密法,但很实用^@^。 链接的加密页为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)
常见的几种变形:




此例不同于关于口令密码校验的例子,可点击取消,让人有“破网”的感觉,但
本质还是密码=文件名。
我就曾见过能按系统时间变化加密目录和文件名的脚本,某一时间得出一个目录
或文件名,原理一样的,只不过函数计算式较复杂而已。(如果你修改自己的系
统时间会……?)
此法最好不要和密码表混用,别人很容易从密码表推出密码或范围。


可见此类型加密的最大特点是无标准密码核对过程。由于没有核对过程,我们无
法知道密码的正确性,也无法绕过密码,直接进入URL。相当于在地址上输入成千
上万个URL,直到成功。所以此类型的加密破解机率几乎为零。(除非他机子“养
马”,或到服务器上改。呵呵)
话说回来,这违背了加密原则,等于在主页上写道“请你E-mail来,我将给你页
面的URL(密码)”,如此在表单输入密码和在地址栏输入URL是一样的效果,只
不过多了个密码表单遮人耳目罢了。是不是很无耻呢???什么……你要用此法
加密,我晕倒^@^。



{ 在指尖上绽放的花朵 }

职务:普通成员
等级:5
金币:14.0
发贴:3209
注册:2002/7/25 21:24:11
#22003/3/28 11:24:19
不用眼红我吧…… 我有点慌……

很强的帖子~ 跟allinhands前辈商量商量,

都可以加精华了~~



南宫彩虹

职务:普通成员
等级:2
金币:5.0
发贴:684
注册:2002/1/17 10:13:36
#32003/3/28 16:35:14
谢了