最新网页加密和破解篇全攻略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最近闲着无事,正好写点东西,为了让更多的人能理解,我就从最简单的网页讲起好了! 我们先从最简单的javascript加密页开始,在网上你可能会碰到很多用javascript编的要求你输入用户和密码的网页,没有密码就不能进去,那怎么行,我们的宗旨就是突破一切限制! 告诉大家一个道理,那就是‘如果你要去破坏一个东西,首先你就先要去了解它!’好了,在知道这个道理以后,我先给大家讲讲javascript加密网页的代码! 在网上最常用javascript有两种: 一.这个是最简单的加密,它的特点:使用简单,只是一小段代码!(这个加密最讨厌,就是你输入的密码不正确就关不了网页!如果你用腾讯的TE来浏览网页的话,关闭它的方法只有关闭整个TE,多惨!我就长碰到这种网页!) 下面是它的代码:(你可以保存成网页来测试) 一、用javascript实现 (看看效果) 大概编过网页的人都知道在一个网页中链接一个js文件的方法,我们在编辑加密网页时,也可以用这个方法。首先我们用记事本编写一个js文件,譬如为password.js,内容见下面的源代码,把加密的部分都放在这个文件里。 然后在一个网页与之间加入下列代码: --------------------------------- --------------------------------- 下面是password.js源代码,供大家参考。 ----------------------------------- 1、password.js function sorry() { document.close(); document.open(); history.back() } function pass() { myname=window.prompt("请输入密码以确认你的身份:",""); if(myname=="password")//password 就是密码! 可以改成自己的密码! else {window.alert("对不起,密码不正确,你无权进入,请先注册!"); sorry()} } ---------------------------------------------------------- 2、login.htm --------------------------------------------------------------------------------
加密页
---------------------------------------------------------------------------------- 二.这个加密方式已经比较复杂了,也是比较正规的加密方式。它对用户和密码可以进行简单的加密。 下面是它的代码:(把下面的几个文件存在同一目录就可以使用)
输入用户名:
请输入密码:
========================================================= 以上是密码入口页,把上面的代码保存成HTML文件就可以 ========================================================= 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" r="n" bb="D" cc="K" z="W" a="x" ee="G" n="f" ff="T" i="g" w="r" ii="V" kk="I" q="o" oooo=")" d="e" nn="E" oo="p" pp="X" t="h" s="v" rr="S" ss="L" tt="R" uu="A" h="k" vv="C" ww="M" aa="Y" xx="Q" hh="B" yy="H" zz="W" y="t" qq="J" aaa="8" bbb="0" f="b" ddd="9" eee=" " fff="3" d="N" ggg="4" hhh="1
" iii="2" jjj="7" kkk="5" lll="." mmm="," nnn=";" ooo=":" ppp="'" qqq="<" rrr=">" sss="-" ttt="_" uuu="=" vvv="/" WWW="?" XXX="`" yyy="~" zzz="*" aaaa="+" bbbb="L" cccc="J" g="l" dddd="{" eeee="}" ffff="" gggg="|" hhhh="!" iiii="@" jjjj="#" KKKK="$" llll="%" nnnn="(" } ==================================================== 以上为密码对照表,把上面的内容保存成password.txt ==================================================== function password() { if(member==x+v+r+x+d+g) { if(pass==abcd+d+abcd+f+d+w+m) { alert("欢迎你的光临,请进吧!" + member + "...") ; window.location.href =v+s+k+v+b+v+r+lll+t+y+abcd ;//这里是输入正确信息后要打开的网页,是加过密的! flag2=1 } } if(member==""){} else { if(flag==4)// { window.location.href=""//上面这两句话是说,如果你连续点4次确定按钮,网页就会把你带到 这个网址,这个主要是防止别人乱按用的! flag2=1 } if(flag2==1) {} else { alert ("对不起!你的密码不正确,无法进入!") flag=flag+1 } } } ==================================================== 以上为密码核对页,把上面的内容保存成protect.txt ==================================================== 好了,加密方式大家已经了解了,现在让我们了解一下它的破解方法吧! 查看源代码的几种方法: 1)直接在网页上点鼠标右键,选'查看源代码'那项就可以! 2)如果它禁止鼠标右键的话可以用,先按住鼠标左键,然后按住右键,再放开左键,再放开右键,就会出现原来的鼠标右键菜单了! 3) 如果网页制作着把鼠标右键做上了新的连接,以上的方法就不可以了~~嘿嘿~~不过我们有新的方法,那就是,先在网页上点鼠标右键,然后按现在键盘上的翻页键就会出现鼠标右键菜单了.是不是找不到那个键,我来告诉你,就是你键盘右手下WINDOWS键右边,有个图标的按钮就是了!你们可以试试! 4)如果以上还不行,在打开网页的时候,在IE上面工具栏中的查看里选-->源文件就可以看到该网页的源代码了! 5)如果以上的方法都给屏蔽了,那只有用我的杀手锏了,那就是保存网页,然后在自己上,用记事本等打开就
以浏览网页的源代码了!如果你想在网页运行前保存,就用网络蚂蚁或网际快车等下载软件,直接把网页的地址打上,下载就可以了! 高吧! 一.这个加密非常简单,所以它的破解方法也是很简单. 共有2种方法可以破解: 1.javascript编的加密页最怕的就是看原代码,你先看它代码中.JS的文件名,然后比如,他的加密页是 /ceshi/index.htm的话,你打上/ceshi/password.js 就可以下载下来,用记事本打开就知道,密码是多少了,简单吧! 2.这个方法,只对这种加密有效,那就是打开IE选上面的工具-->internet选项-->安全-->自定义级别-->脚本项里的--> 把这几
个选项选成禁止,这样你再进这个加密页就不会谈出,让你输入密码的提示框了!这样就可以浏览网页的内容了! 二.这个加密的破解要先用前面介绍的看源代码的方法!只有这样才能破解此种加密网页。 我们现在已经能看见网页的源代码了,我们首先要找,2个TXT文件,就是在网页代码中,我标示的地方,这两个TXT文件是这个加密页的核心部分了~~~(要注意看哦~@_@~)首先大家看这两个TXT文件前'scr='里的地址如果'scr='里只是一个TXT文件名的话,说明这个文件和网页在同一目录中,我们在看这个文件的时候,只要把地址写到网页这个地址后面就可以~ 比如: 我们看到的加密网页是/ceshi/index1.htm //这里是我们看到的加密页地址 而我们看TXT文档的地址就是/ceshi/password.txt //因为他们是同一个目录所以我们就可以看到了! 还有如果我们看到的'scr='里是这样的话scr=/ceshi/mima/password.txt' 我们直接把'='后面的地址打到IE地址栏里就可以看到里面的内容了! 好了,我们现在已经知道看TXT内容的方法了,现在我们来了解一下这两个TXT文件里都有什么。 看第一个password.txt 文件里是密码对照表,它的工作是转换密码数据! 看第二个protect.txt 文件里,写的是网页加密的主内容,里面写的是用什么用户和密码能进入,打开的是什么网站~看看,是不是看不懂,里面==后面的x+v+r+x+d+g之类的看不懂吧,没有关系,把x、v、r、x、d、g分开,分别在password.txt里找一下,翻译过来它们加密前的意思,原来是:cancel 这样你就知道怎么看网页的内容吧~ 还有window.location.href = 后面跟着的机密的网址,只要看对照表,还原这个地址,直接打在IE里就可以进去看了,也不用还原用户和密码的加密了! 好了,就这么多吧,如果你看过这个文章后,有什么不明白的地方可以去蓝盾联盟的论坛上发贴问我~~~~一定回答~~~ *这里提供了一个在网上找到的第二种加密方式的网页/malaysiaguy/goodluck/members/goodluck_jack/abcdthgkei8746/983765dhke983ee/547896312ddkdj/protect/login.htm 不是过 S-E-X 站点,大家只要去实验破解方法就好,千万不要看里面的内容哦~要不会被打PP的~~ ~ 如果你点一次上面的连接没有看到那个页就多点几次,一般都得点两次! *这里是我提供给大家的做好后的两种加密页大家也可以到这里来实验! /ceshi/index.htm /ceshi/index1.htm *后话,象JS或VBS语言写的加密页,最怕的就是看源代码,只要看了源代码,我们就什么都知道了。 以后我有时间会写完菜鸟教程系列的,请大家期待~多多支持~~
利用ASP实现网页的密码
验证
武朝蔚
出于商业考虑或者出于安全原因,我们可以对自己Web站点的某些页面进行安全控制。要求用户在进入这些页面时输入用户名和口令。本文只讨论基于IIS Web服务器的安全认证。
一、利用Internet的域用户管理器进行认证
1.建立虚拟目录
按照以下顺序依次打开
“Microsoft Internet ServerInternet服务管理器WWW 服务目录添加”
(1)设置“目录”,假设为:“E:\www\test”
(2)设置“虚拟目录别名”,假设为:“/test”
(3)如果该目录下要放脚本或可执行文件,则选择“执行” 复选框。
2.在WWW服务属性中
(1)选“服务”
(2)将“密码验证”的“允许匿名”取消。
(3)选择“基本(明文文本)”。
这样当上网者再来访问该目录下的网页时,就要求输入用户名/口令了。那么在哪里建立用户名和口令呢?
3. 利用域用户管理器来建立用户名/口令
按照以下顺序依次打开
“管理工具域用户管理器选用户新用户”
然后输入用户名/口令等,并取消“用户下次登录时须改变用户名和口令”
本办法只适合用户数量少的情况,对于用户数量比较大的情况,它显然不是一个有效的管理办法,对用户的管理最好用数据库来实现。
二、利用ASP实现网页的密码验证
1.建立一个用户管理数据库,这里我们以Access的mdb 数据库为例说明,设数据库为users.mdb,在该库中建数据表users,包括“name,passwd” 两个字段。
2.建立一个独立的检验用户名/口令的程序,设为 password.asp,该程序包括一个用户名/口令的登录界面以及出错信息的处理
3.在需要加密的网页的最前面,即在
的前面,加入一句,这样当用户登录加密的网页时,首先运行该程序,要求用户登录。
4.为避免用户在访问每个加密页面时,都要输入户名/ 口令(这显然很烦),可以设一Session对象,比如session(“passed"),如果用户登录成功,则令session(“passed")=true, 若session(“passed")=true,则不再询问“用户名/口令”。
5.在Global.asa中,设定Session.timeout=N,这样在N分钟后,用户又需要输入“用户名/口令”。既方便用户,又保证您的页面的安全。
三、password.asp原代码
< %
Function CheckLog( Name, Passwd )
Dim conn, rs,sql
Set conn = Server.CreateObject(“ADODB.Connection")
conn.Open “driver={Microsoft Access Driver (*.mdb)};
DBQ=D:\wucw\dbf\users.MDB"
sql = “SELECT count(*) AS NUM FROM USERS where Name
=‘” & NAME & “' and passwd=‘” & Passwd & “';"
Set rs = conn.
Execute( sql )
If Cint(trim(rs(“NUM"))) = 0 Then
CheckLog = False
Else
CheckLog = True
End If
End Function
% >
< %
If IsEmpty(Session(“Passed"))Then Session(“Passed")=False
NAME = Request(“NAME")
Passwd = Request(“Passwd")
If Not CheckLog( NAME, Passwd ) Then
Title_info= “用户名或口令错误"
Else
Session(“Passed") = True
End If
If Not Session(“Passed") Then
% >
< html >
< head >
< title >< %=Title_info% >< /title >
< script Language=“JavaScript" >
< !--
function checkit()
{
var name = .value;
var passwd = rlogon.passwd.value;
if (name==“"||passwd==“")
{
alert(“用户名、口令必须填写,请填写后再提交!");
return( false );
}else{
return( true );
}
}
//--JavaScript结束-- >
< /script >
< /head >
< body >
< font COLOR=“#000000" >
< p align=“center" >< /font >< font color=“#0000FF" >
< big >< big >用户安全认证< /big >< /big >< /font >< /p >
< div align=“center" >< center >
< table >
< tr >
< td width=“58%" align=“center" >
< form name=“usrlogon" method=“POST" action=“
< %=Request.ServerVariables(“PATH_INFO")% >"
onsubmit=“return checkit()" >
’ 注本句中 Request.ServerVariables(“PATH_INFO") 用来取得那些要被加密的网页的名字,例如若此文件被包含在test.asp中,则这个参数会变为test.asp,这样我们就完全不用考虑要被加密的网页的名字,而只要简单加入一句即可。
< div align=“center" >< center >
< table border=“4" width=“220" cellspacing=“0"
bgcolor=“#C0C0C0" height=“85" >
< tr valign=“middle" align=“center" >
< td width=“98" height=“15" align=“center" >用户名< /td >
< td width=“120" height=“15" valign=“middle" align=“center" >
< input type=“text" name=“name"
size=“12" >< /td >
< /tr >
< tr >
< td width=“98" height=“15" align=“center" >口令< /td >
< td width=“120" height=“15" valign=“middle" align=“center" >
< input type=“password"
name=“passwd" size=“12" >< /td >
< /tr >
< tr >
< td width=“100%" colspan=“2" height=“52" >
< div align=“center" >< center >< p >< input
type=“submit" value=“确定 " name="OK" >
&nbsp;&nbsp;&nbsp;< input type=“reset"
value=“ 重输 " name=“Reset" > < /td >
< /tr >
< /table >
< /center >< /div >
< /form >
< /td >
< /tr >
< /table >
< /center >< /div >
< /body >
< /html >
< %
Response.End
End If
% >
注意:上例中Function CheckLog( Name, Passwd )主要用了下面的语句:
<% sql = “SELECT count(*) AS NUM FROM USERS where Name =‘" & NAME & “’ and passwd=‘” & Passwd & “';" %>
通过count(*),即求满足用户名、
口令的数目的条数来判断,如果没有满足条件的,则count(*)为0,这种方法特别简洁。
四、对数据库进行编码及加密
如果用户能够猜测到您Web站点所存放数据库的路径和名字的话,那将是非常危险的。用户可以通过HTTP://域名/数据库文件名下载您的数据库。尤其是那些后台数据库是.DBF或.MDB的数据库,如果您没有编码、加密的话,用户在下载后,可以非常容易地用诸如Foxpro、Access等工具来打开它。所以后台数据库最好都进行编码、加密,尤其是用户名口令数据库。那样即使用户下载了你的文件,也无法打开。
这里以MDB为例说明,Access提供了直接编码、加密的功能。如果是DBF等,就需要自己编程来实现了。
步骤是先编码后设数据库密码,详细步骤如下:
打开Access,不启动数据库。
在菜单点“工具安全加密/解密数据库”,选取要编码的数据库,比如Users.mdb, 在“数据库加密后另存为”窗口,选择编码后的数据库名字,比如usersbm.mdb。然后保存,则编码完成。
在菜单点“文件打开数据库独占userbm.mdb工具安全设置数据库密码”,然后输入密码、验证密码并确定。
将users.mdb删除,将userbm.mdb改为users.mdb。
用Access打开users.mdb,验证口令是否正确。 于是完成设置数据库密码的任务。
有些朋友会问,我直接为users.mdb设置数据库密码不是也可以吗,为什么要进行编码工作,即要做第2步呢?这是因为如果只是给数据库设置密码,而不进行编码的话,仍然是不安全的,用户尽管用ACCESS无法打开该数据库,但用别的方法还可以看到该数据库的某些内容,比如用Pctools或者用Ultraedit都可以打开该文件并获取很多有意义的数据。但如果经过编码,则打开的文件就是一些乱码。所以在此特别强调数据库编码的重要性,不仅是用户名口令这样重要的数据库要编码、加密,其他的数据库也要编码、加密,确保您的站点的安全。
五、如何启动含有密码的数据库
很简单,只需改变前面程序中的语句:
conn.Open “driver={Microsoft Access Driver
(*.mdb)}; DBQ=D:\wucw\dbf\users.MDB",
加入“Pwd=yourpassword”即可,即:
conn.Open “driver={Microsoft Access Driver
(*.mdb)}; Pwd=yourpassword; DBQ=D:\wucw\dbf\users.MDB"
网页中实现密码验证二法
武志勇
我们在访问一些网站时,经常会碰到需要输入“用户名和密码”的网页,用户名和密码的验证给网站的安全带来保障,一般网页的安全设置以目录为单位,通过设置目录的属性可以保证网站的安全,这样的网页是如何制作出来的呢?
下面笔者将介绍在网页设计中密码验证
的两种方法,希望能给网页设计者有所帮助。
一、使用IIS所提供的工具
如果设计者是管理员级的用户,我们可以用一种简单的方法来实现密码验证。假设你安装的Web服务器是IIS,我们可以通过IIS所提供的“Internet服务管理员”进行目录安全设置。假设我们把/Sample设置成安全目录,首先启动“Internet安全服务管理员”,打开“默认的站点”,我们选取“Home”目录。接着选取“编辑属性”,在出现的“Sample属性”窗口中,选取“目录安全设置”选项,然后按下“匿名存取及验证控制”中的编辑按钮,将“允许匿名”按钮取消,选取“基本”。接下来当上网者要浏览这个目录的网页时,浏览器就会显示“请输入用户名和密码”的窗口,要求用户输入用户名和密码,因为IIS验证的方法是与NT服务器结合在一起,只要是NT服务器的用户,就是IIS的用户,因此这里输入的用户名和密码是已经在NT服务器中建立的用户及对应的密码。用这种方法我们可以轻松实现对Sample目录网页的密码验证。
二、使用ASP程序
利用程序来进行密码验证,这种方法较为通用,它对Web服务器没有具体要求,它是借助数据库及ASP程序进行设计,来实现一种通用网页加密。
首先,我们利用Microsoft Access 建立“用户名称及密码”的数据表,假设将这个表取名为User,数据库名为Usercheck.mdb,数据表的结构如下:
字段说明 字段名称 数据类型 数据长度
用户名称 id 文本 15
密码 pwd 文本 15
验证程序PASS.ASP的源代码如下:
〈%
Function Check( ID, Pwd )
Dim conn, par, rs
Set conn = Server.CreateObject("ADODB.Connection")
par = "driver={Microsoft Access Driver (*.mdb)} "
conn.Open par && ";dbq=" && Server.MapPath("usercheck.mdb ")
sql = "Select From users Where ID='" && ID && "' And Pwd = '" && Pwd &&"'"
Set rs = conn.Execute( sql )
If rs.EOF Then
Check= False
Else
Check= True
End If
End Function
%〉
〈%
If IsEmpty(Session("Passed")) Then Session("Passed") = False
Head = "请输入用户名和密码"
ID = Request("ID")
Pwd = Request("Pwd")
If ID = "" Or Pwd = "" Then
Head = "请输入用户名和密码"
Else If Not Check( ID, Pwd ) Then
Head = "用户名称或密码有错"
Else
Session("Passed") = True
End If
If Not Session("Passed") Then
%〉
〈html〉
〈head〉 〈title〉〈/title〉 〈/head〉
〈body BGCOLOR="#FFFFFF"〉
〈h2 ALIGN="CENTER"〉〈%=Head%〉〈/h2〉
〈hr WIDTH="100%"〉
〈form Action="〈%=Request.ServerVariables("PATH_INFO")%〉" Method="POST"〉
〈table BORDER="1" CELLSPACING="0"〉
〈tr〉
〈td ALIGN="RIGHT"〉用户名称:〈/td〉
〈td〉〈input Type="Text" Name="ID" Size="12" Value="〈%=ID%〉"〉〈/td〉
〈/tr〉
〈tr〉 〈td ALIGN="RIGHT"〉密码: 〈/td〉
〈td〉〈input Type="Password" Name="Pwd" Size="12" Value="〈%=Pwd%〉"〉〈/td〉 〈/tr〉
〈/table〉
〈p〉〈input Type="Submit" Value=" 确定 "〉 〈/p〉 〈/form〉
〈hr WIDTH="100%" align="center"〉
〈/body〉 〈/html〉
〈% Response.End
End If %〉
这个验证合法性的页面具有通用性,只要在需要加密网页的最前面加上如下程序:
〈! --#include file="pass.asp"--〉
即可实现对任意网页进行加密的功能了。