黑客24小时在线接单网站

破解系统,专业黑客,黑客业务,渗透接单,黑客网站

抵御黑客代码(黑客攻击代码大全)

本文目录一览:

怎样防黑客及木马软件?

安全策略:

打开管理工具

找到本地安全设置.本地策略.安全选项

1.交互式登陆.不需要按 Ctrl+Alt+Del 启用 [根据个人需要,启用比较好,但是我个人是不需要直接输入密码登陆的]

2.网络访问.不允许SAM帐户的匿名枚举 启用

3.网络访问.可匿名的共享 将后面的值删除

4.网络访问.可匿名的命名管道 将后面的值删除

5.网络访问.可远程访问的注册表路径 将后面的值删除

6.网络访问.可远程访问的注册表的子路径 将后面的值删除

7.网络访问.限制匿名访问命名管道和共享

8.帐户.重命名来宾帐户guest [最好写一个自己能记住中文名]让黑客去猜解guest吧,而且还得删除这个帐户,后面有详细解释]

9.帐户.重命名系统管理员帐户[建议取中文名]

E计划.用户权限分配策略:

打开管理工具

找到本地安全设置.本地策略.用户权限分配

1.从网络访问计算机 里面一般默认有5个用户,除Admin外我们删除4个,当然,等下我们还得建一个属于自己的ID

2.从远程系统强制关机,Admin帐户也删除,一个都不留

3.拒绝从网络访问这台计算机 将ID删除

4.从网络访问此计算机,Admin也可删除,如果你不使用类似3389服务

5.通过终端允许登陆 删除Remote Desktop Users

F计划.终端服务配置

打开管理工具

终端服务配置

1.打开后,点连接,右键,属性,远程控制,点不允许远程控制

2.常规,加密级别,高,在使用标准windows验证上点√!

3.网卡,将最多连接数上设置为0

4.高级,将里面的权限也删除.[我没设置]

再点服务器设置,在Active Desktop上,设置禁用,且限制每个使用一个会话

G计划.用户和组策略

打开管理工具

计算机管理.本地用户和组.用户

删除Support_388945a0用户等等

只留下你更改好名字的adminisrator权限

计算机管理.本地用户和组.组

组.我们就不组了.分经验的(不管他.默认设置)

X计划.DIY策略[根据个人需要]

1.当登陆时间用完时自动注销用户(本地) 防止黑客密码渗透.

2.登陆屏幕上不显示上次登陆名(远程)如果开放3389服务,别人登陆时,就不会残留有你登陆的用户名.让他去猜你的用户名去吧.

3.对匿名连接的额外限制

4.禁止按 alt+crtl+del

5.允许在未登陆前关机[防止远程关机/启动、强制关机/启动]

6.只有本地登陆用户才能访问cd-rom

7.只有本地登陆用户才能访问软驱

8.取消关机原因的提示

1、打开控制面板窗口,双击“电源选项”图标,在随后出现的电源属性窗口中,进入到“高级”标签页面;

2、在该页面的“电源按钮”设置项处,将“在按下计算机电源按钮时”设置为“关机”,单击“确定”按钮,来退出设置框;

3、以后需要关机时,可以直接按下电源按键,就能直接关闭计算机了。当然,我们也能启用休眠功能键,来实现快速关机和开机;

4、要是系统中没有启用休眠模式的话,可以在控制面板窗口中,打开电源选项,进入到休眠标签页面,并在其中将“启用休眠”选项选中就可以了。

9.禁止关机事件跟踪

开始“Start -”运行“ Run -输入”gpedit.msc “,在出现的窗口的左边部分,

选择 ”计算机配置“(Computer Configuration )- ”管理模板“

(Administrative Templates)- ”系统“(System),在右边窗口双击

“Shutdown Event Tracker” 在出现的对话框中选择“禁止”(Disabled),

点击然后“确定”(OK)保存后退出这样,你将看到类似于windows 2000的关机窗口

三、修改权限防止病毒或木马等破坏系统

winxp、windows2003以上版本适合本方法.

因为目前的木马抑或是病毒都喜欢驻留在system32目录下,如果我们用命令限制system32的写入和修改权限的话

那么,它们就没有办法写在里面了.看命令

A命令

cacls C:windowssystem32 /G administrator:R 禁止修改、写入C:windowssystem32目录

cacls C:windowssystem32 /G administrator:F 恢复修改、写入C:windowssystem32目录

呵呵,这样病毒等就进不去了,如果你觉得这个还不够安全,

还可以进行修改觉得其他危险目录,比如直接修改C盘的权限,但修改c修改、写入后,安装软件时需先把权限恢复过来才行

B命令

cacls C: /G administrator:R 禁止修改、写入C盘

cacls C: /G administrator:F 恢复修改、写入C盘

这个方法防止病毒,

如果您觉得一些病毒防火墙消耗内存太大的话

此方法稍可解决一点希望大家喜欢这个方法^_^

X命令

以下命令推荐给高级管理员使用[因为win版本不同,请自行修改参数]

cacls %SystemRoot%system32cmd.exe /E /D IUSR_ComSpec 禁止网络用户、本地用户在命令行和gui下使用cmd

cacls %SystemRoot%system32cmd.exe /E /D IUSR_Lsa 恢复网络用户、本地用户在命令行和gui下使用cmd

cacls %SystemRoot%system32t /E /D IUSR_Lsa 禁止网络用户、本地用户在命令行和gui下使用t

cacls %SystemRoot%system32t /E /D IUSR_Lsa 恢复网络用户、本地用户在命令行和gui下使用t

cacls %SystemRoot%system32tftp32.exe /E /D IUSR_Lsa 禁止网络用户、本地用户在命令行和gui下使用tftp32.exe

cacls %SystemRoot%system32tftp32.exe /E /D IUSR_Lsa 恢复网络用户、本地用户在命令行和gui下使用tftp32.exe

四、重要文件名加密[NTFS格式]

此命令的用途可加密windows的密码档,QQ密码档等等^.^

命令行方式

加密:在DOS窗口或“开始” | “运行”的命令行中输入“cipher /e 文件名(或文件夹名)”。

解密:在DOS窗口或“开始” | “运行”的命令行中输入“cipher /d 文件名(或文件夹名)”。

五、修改注册表防御D.D.O.S

在注册表HKLMSYSTEMCurrentControlSetServicesTcpipParameters中更改以下值可以帮助你防御一定强度的DoS攻击

SynAttackProtect REG_DWORD 2

EnablePMTUDiscovery REG_DWORD 0

NoNameReleaseOnDemand REG_DWORD 1

EnableDeadGWDetect REG_DWORD 0

KeepAliveTime REG_DWORD 300,000

PerformRouterDiscovery REG_DWORD 0

EnableICMPRedirects REG_DWORD 0

更多新的防御技巧请搜索其他信息,

由于本人不敢拿自己的硬盘开玩笑,所以没做实验... ...

六、打造更安全的防火墙

只开放必要的端口,关闭其余端口.因为在系统安装好后缺省情况下,一般都有缺省的端口对外开放,

黑客就会利用扫描工具扫描那些端口可以利用,这对安全是一个严重威胁。 本人现将自己所知道的端口公布如下(如果觉得还有危险需要过滤的,请联系本人:OICQ 13946296

 

  端口 协议 应用程序

  21 TCP FTP

  25 TCP SMTP

  53 TCP DNS

  80 TCP HTTP SERVER

  1433 TCP SQL SERVER

  5631 TCP PCANYWHERE

  5632 UDP PCANYWHERE

  6(非端口) IP协议

  8(非端口) IP协议

那么,我们根据自己的经验,将下面的端口关闭

  TCP

  21

  22

  23

  25 TCP SMTP

  53 TCP DNS

  80

  135 epmap

  138 [冲击波]

  139 smb

  445

  1025 DCE/1ff70682-0a51-30e8-076d-740be8cee98b

  1026 DCE/12345778-1234-abcd-ef00-0123456789ac

  1433 TCP SQL SERVER

  5631 TCP PCANYWHERE

  5632 UDP PCANYWHERE

  3389

  4444[冲击波]

  4489

  UDP

  67[冲击波]

  137 netbios-ns

  161 An SNMP Agent is running/ Default community names of the SNMP Agent

  关于UDP一般只有腾讯OICQ会打开4000或者是8000端口,那么,我们只运行本机使用4000端口就行了

七、保护个人隐私

1、TT浏览器

选择用另外一款浏览器浏览网站.我推荐用TT,使用TT是有道理的.

TT可以识别网页中的脚本,JAVA程序,可以很好的抵御一些恶意的脚本等等,而且TT即使被感染,你删除掉又重新安装一个就是.[TT就是腾讯的浏览器](不过有些人喜欢用MyIE,因为我使用的时间和对他的了解不是很深吧,感觉不出他对安全方面有什么优势一_一~,希望支持MyIE的朋友不要揍我,否则我会哭... ...)

2、移动“我的文档”

进入资源管理器,右击“我的文档”,选择“属性”,在“目标文件夹”选项卡中点“移动”按钮,

选择目标盘后按“确定”即可。在Windows 2003中“我的文档”已难觅芳踪,桌面、开始等处都看不到了,

建议经常使用的朋友做个快捷方式放到桌面上。

3、移动IE临时文件

进入“开始→控制面板→Internet 选项”,在“常规”选项卡的“Internet 文件”栏里点“设置”按钮,

在弹出窗体中点“移动文件夹”按钮,选择目标文件夹后,点“确定”,在弹出对话框中选择“是”,

系统会自动重新登录。点本地连接,高级,安全月志,把月志的目录更改专门分配月志的目录,

不建议是C:再重新分配月志存储值的大小,我是设置了10000KB

八、第三方软件的帮助

防火墙:天网防火墙(建议)[二道贩子注:winxp以上可以考虑用系统自带的防火墙,win2000可以考虑用IPSEC,是个锻炼的机会)

杀毒软件:卡巴斯基

二道贩子后注:

现在黑客的攻击有从传统的系统漏洞转向了你的浏览器,所以要在升级一些传统漏洞补丁的同时要注意你的浏览器.

Windows 2000服务器的安全设置

设置禁用,构建第一道防线c_

在安装完Windows 2000后,首先要装上最新的系统补丁。但即使装上了,在因特网上的任何一台机器上只要输入“\\你的IP地址\c”,然后输入用户名 Guest,密码空,就能进入你的C盘,你还是完全暴露了。解决的方法是禁用•格斯特账号,为管理人设置一个安全的密码,将各驱动器的共享设为不共享。同时你还要关闭不需要的服务。你可以在管理工具的服务中将它们设置为禁用,但要提醒的是一定要慎重,有的服务是不能禁用的。一般可以禁用的服务有Telnet、任务调度程序(允许程序在指定时间运行)、遥远的登记服务(允许远程注册表操作)等。这是你构建的服务器的第一道防线。-设置第二,构建第二道防线*i

© 作为校园网的服务器,很多学校将该服务器同时作为网站服务器,而第二的漏洞也是一个棘手的问题。实际上,你可以通过简单的设置,完全可以将网站的漏洞补上。你可以将第二默认的服务都停止(如图 1,FTP服务你是不需要的,要的话笔者推荐用Serv-U;“管理网站点”和“默认网站点”都会给你带来麻烦;简单邮件传输协议一般也不用),然后再新建一个网站点h

©设置好常规内容后,在“属性→主目录”的配置中对应用程序映射进行设置,删除不需要的映射(如图 2),这些映射是第二受到攻击的直接原因。如果你需要CGI和PHP的话,可参阅一些资料进行设置LB

这样,配合常规设置,你的第二就可以安全运行了,你的服务器就有了第二道防线。#_t1)

运用扫描程序,堵住安全漏洞[J=

©要做到全面解决安全问题,你需要扫描程序的帮助。笔者推荐使用X浏览(如图 3),它可以帮助你检测服务器的安全问题。rmp

扫描完成后,你要看一下,是否存在口令漏洞,若有,则马上要修改口令设置;再看一下是否存在第二漏洞,若有,请检查第二的设置。其他漏洞一般很少存在,我要提醒大家的是注意开放的端口,你可以将扫描到的端口记录下来,以方便进行下一步设置。vY)

© 封锁端口,全面构建防线YD_\1

©《 黑客大多通过端口进行入侵,所以你的服务器只能开放你需要的端口,那么你需要哪些端口呢?以下是常用端口,你可根据需要取舍:7e|

80为网网站服务;21为FTP服务;25为电子邮件简单邮件传输协议服务;110为发邮件给POP3服务。?[U

© 其他还有SQL服务者的端口1433等,你可到网上查找相关资料。那些不用的端口一定要关闭!关闭这些端口,我们可以通过Windows 2000的安全策略进行。B

©《借助它的安全策略,完全可以阻止入侵者的攻击。你可以通过“管理工具→本地安全策略”进入,右击“IP安全策略”,选择“创建IP安全策略”,点[下一步]。输入安全策略的名称,点[下一步],一直到完成,你就创建了一个安全策略OkQcy

接着你要做的是右击“IP安全策略”,进入管理IP筛选器和筛选器操作,在管理IP筛选器列表中,你可以添加要封锁的端口,这里以关闭ICMP和 139端口为例说明。b]}

关闭了ICMP,黑客软件如果没有强制扫描功能就不能扫描到你的机器,也砰不到你的机器。关闭ICMP的具体操作如下:点[添加],然后在名称中输入“关闭ICMP”,点右边的[添加],再点[下一步]。在源地址中选“任何IP地址”,点[下一步]。在目标地址中选择“我的IP地址”,点[下一步]。在协议中选择“ICMP”,点[下一步]。回到关闭ICMP属性窗口,即关闭了ICMP。sf7 FQ

下面我们再设置关闭 139,同样在管理IP筛选器列表中点“添加”,名称设置为“关闭 139”,点右边的“添加”,点[下一步]。在源地址中选择“任何IP地址”,点[下一步]。在目标地址中选择“我的IP地址”,点[下一步]。在协议中选择“TCP”,点[下一步]。在设置IP协议端口中选择从任意端口到此端口,在此端口中输入 139,点下一步。即完成关闭 139端口,其他的端口也同样设置,结果如图 5。f6WL

特别指出的是关闭UDP4000可以禁止校园网中的机器使用QQ。Q

©然后进入设置管理筛选器操作,点“添加”,点下一步,在名称中输入“拒绝”,点下一步。选择“阻止”,点[下一步]。u然后关闭该属性页,右击新建的IP安全策略“安全”,打开属性页。在规则中选择“添加”,点[下一步]。选择“此规则不指定隧道”,点下一步。在选择网络类型中选择“所有网络连接”,点下一步。在IP筛选器列表中选择“关闭ICMP”,点[下一步]。在筛选器操作中选择“拒绝”,点下一步。这样你就将“关闭ICMP”的筛选器加入到名为“安全”的IP安全策略中。同样的方法,你可以将“关闭 139”等其他筛选器加入进来。添加后的结果如图 7。(8

©《我 最后要做的是指派该策略,只有指派后,它才起作用。方法是右击“安全”,在菜单中选择“所有任务”,选择“指派”。IP安全设置到此结束,你可根据自己的情况,设置相应的策略。2

©《设置完成后,你可再用X浏览进行检查,发现问题再补上。9g

通过以上的设置,你的Windows 2000服务器可以说是非常安全了。希望你早日筑起服务器的安全防护林。

Windows下权限设置详解

随着动网论坛的广泛应用和动网上传漏洞的被发现以及SQL注入式攻击越来越多的被使用,WEBSHELL让防火墙形同虚设,一台即使打了所有微软补丁、只让80端口对外开放的WEB服务器也逃不过被黑的命运。难道我们真的无能为力了吗?其实,只要你弄明白了NTFS系统下的权限设置问题,我们可以对crackers们说:NO! 要打造一台安全的WEB服务器,那么这台服务器就一定要使用NTFS和Windows NT/2000/2003。众所周知,Windows是一个支持多用户、多任务的操作系统,这是权限设置的基础,一切权限设置都是基于用户和进程而言的,不同的用户在访问这台计算机时,将会有不同的权限。DOS是个单任务、单用户的操作系统。但是我们能说DOS没有权限吗?不能!当我们打开一台装有DOS操作系统的计算机的时候,我们就拥有了这个操作系统的管理员权限,而且,这个权限无处不在。所以,我们只能说DOS不支持权限的设置,不能说它没有权限。随着人们安全意识的提高,权限设置随着NTFS的发布诞生了。

Windows NT里,用户被分成许多组,组和组之间都有不同的权限,当然,一个组的用户和用户之间也可以有不同的权限。下面我们来谈谈NT中常见的用户组。 Administrators,管理员组,默认情况下,Administrators中的用户对计算机/域有不受限制的完全访问权。分配给该组的默认权限允许对整个系统进行完全控制。所以,只有受信任的人员才可成为该组的成员。

Power Users,高级用户组,Power Users 可以执行除了为 Administrators 组保留的任务外的其他任何操作系统任务。分配给 Power Users 组的默认权限允许 Power Users 组的成员修改整个计算机的设置。但Power Users 不具有将自己添加到 Administrators 组的权限。在权限设置中,这个组的权限是仅次于Administrators的。

Users:普通用户组,这个组的用户无法进行有意或无意的改动。因此,用户可以运行经过验证的应用程序,但不可以运行大多数旧版应用程序。Users 组是最安全的组,因为分配给该组的默认权限不允许成员修改操作系统的设置或用户资料。Users 组提供了一个最安全的程序运行环境。在经过 NTFS 格式化的卷上,默认安全设置旨在禁止该组的成员危及操作系统和已安装程序的完整性。用户不能修改系统注册表设置、操作系统文件或程序文件。Users 可以关闭工作站,但不能关闭服务器。Users 可以创建本地组,但只能修改自己创建的本地组。

Guests:来宾组,按默认值,来宾跟普通Users的成员有同等访问权,但来宾帐户的限制更多。

Everyone:顾名思义,所有的用户,这个计算机上的所有用户都属于这个组。

其实还有一个组也很常见,它拥有和Administrators一样、甚至比其还高的权限,但是这个组不允许任何用户的加入,在察看用户组的时候,它也不会被显示出来,它就是SYSTEM组。系统和系统级的服务正常运行所需要的权限都是靠它赋予的。由于该组只有这一个用户SYSTEM,也许把该组归为用户的行列更为贴切。

权限是有高低之分的,有高权限的用户可以对低权限的用户进行操作,但除了Administrators之外,其他组的用户不能访问 NTFS 卷上的其他用户资料,除非他们获得了这些用户的授权。而低权限的用户无法对高权限的用户进行任何操作。

我们平常使用计算机的过程当中不会感觉到有权限在阻挠你去做某件事情,这是因为我们在使用计算机的时候都用的是Administrators中的用户登陆的。这样有利也有弊,利当然是你能去做你想做的任何一件事情而不会遇到权限的限制。弊就是以 Administrators 组成员的身份运行计算机将使系统容易受到特洛伊木马、病毒及其他安全风险的威胁。访问 Internet 站点或打开电子邮件附件的简单行动都可能破坏系统。不熟悉的 Internet 站点或电子邮件附件可能有特洛伊木马代码,这些代码可以下载到系统并被执行。如果以本地计算机的管理员身份登录,特洛伊木马可能使用管理访问权重新格式化您的硬盘,造成不可估量的损失,所以在没有必要的情况下,最好不用Administrators中的用户登陆。Administrators中有一个在系统安装时就创建的默认用户----Administrator,Administrator 帐户具有对服务器的完全控制权限,并可以根据需要向用户指派用户权利和访问控制权限。因此强烈建议将此帐户设置为使用强密码。永远也不可以从 Administrators 组删除 Administrator 帐户,但可以重命名或禁用该帐户。由于大家都知道“管理员”存在于许多版本的 Windows 上,所以重命名或禁用此帐户将使恶意用户尝试并访问该帐户变得更为困难。对于一个好的服务器管理员来说,他们通常都会重命名或禁用此帐户。Guests用户组下,也有一个默认用户----Guest,但是在默认情况下,它是被禁用的。如果没有特别必要,无须启用此账户。我们可以通过“控制面板”--“管理工具”--“计算机管理”--“用户和用户组”来查看用户组及该组下的用户。

我们用鼠标右键单击一个NTFS卷或NTFS卷下的一个目录,选择“属性”--“安全”就可以对一个卷,或者一个卷下面的目录进行权限设置,此时我们会看到以下七种权限:完全控制、修改、读取和运行、列出文件夹目录、读取、写入、和特别的权限。“完全控制”就是对此卷或目录拥有不受限制的完全访问。地位就像Administrators在所有组中的地位一样。选中了“完全控制”,下面的五项属性将被自动被选中。“修改”则像Power users,选中了“修改”,下面的四项属性将被自动被选中。下面的任何一项没有被选中时,“修改”条件将不再成立。“读取和运行”就是允许读取和运行在这个卷或目录下的任何文件,“列出文件夹目录”和“读取”是“读取和运行”的必要条件。“列出文件夹目录”是指只能浏览该卷或目录下的子目录,不能读取,也不能运行。“读取”是能够读取该卷或目录下的数据。“写入”就是能往该卷或目录下写入数据。而“特别”则是对以上的六种权限进行了细分。读者可以自行对“特别”进行更深的研究,鄙人在此就不过多赘述了。

下面我们对一台刚刚安装好操作系统和服务软件的WEB服务器系统和其权限进行全面的刨析。服务器采用Windows 2000 Server版,安装好了SP4及各种补丁。WEB服务软件则是用了Windows 2000自带的IIS 5.0,删除了一切不必要的映射。整个硬盘分为四个NTFS卷,C盘为系统卷,只安装了系统和驱动程序;D盘为软件卷,该服务器上所有安装的软件都在D盘中;E盘是WEB程序卷,网站程序都在该卷下的WWW目录中;F盘是网站数据卷,网站系统调用的所有数据都存放在该卷的WWWDATABASE目录下。这样的分类还算是比较符合一台安全服务器的标准了。希望各个新手管理员能合理给你的服务器数据进行分类,这样不光是查找起来方便,更重要的是这样大大的增强了服务器的安全性,因为我们可以根据需要给每个卷或者每个目录都设置不同的权限,一旦发生了网络安全事故,也可以把损失降到最低。当然,也可以把网站的数据分布在不同的服务器上,使之成为一个服务器群,每个服务器都拥有不同的用户名和密码并提供不同的服务,这样做的安全性更高。不过愿意这样做的人都有一个特点----有钱:)。好了,言归正传,该服务器的数据库为MS-SQL,MS-SQL的服务软件SQL2000安装在d:\ms-sqlserver2K目录下,给SA账户设置好了足够强度的密码,安装好了SP3补丁。为了方便网页制作员对网页进行管理,该网站还开通了FTP服务,FTP服务软件使用的是SERV-U 5.1.0.0,安装在d:\ftpservice\serv-u目录下。杀毒软件和防火墙用的分别是Norton Antivirus和BlackICE,路径分别为d:\nortonAV和d:\firewall\blackice,病毒库已经升级到最新,防火墙规则库定义只有80端口和21端口对外开放。网站的内容是采用动网7.0的论坛,网站程序在e:\www\bbs下。细心的读者可能已经注意到了,安装这些服务软件的路径我都没有采用默认的路径或者是仅仅更改盘符的默认路径,这也是安全上的需要,因为一个黑客如果通过某些途径进入了你的服务器,但并没有获得管理员权限,他首先做的事情将是查看你开放了哪些服务以及安装了哪些软件,因为他需要通过这些来提升他的权限。一个难以猜解的路径加上好的权限设置将把他阻挡在外。相信经过这样配置的WEB服务器已经足够抵挡大部分学艺不精的黑客了。读者可能又会问了:“这根本没用到权限设置嘛!我把其他都安全工作都做好了,权限设置还有必要吗?”当然有!智者千虑还必有一失呢,就算你现在已经把系统安全做的完美无缺,你也要知道新的安全漏洞总是在被不断的发现。权限将是你的最后一道防线!那我们现在就来对这台没有经过任何权限设置,全部采用Windows默认权限的服务器进行一次模拟攻击,看看其是否真的固若金汤。

假设服务器外网域名为,用扫描软件对其进行扫描后发现开放WWW和FTP服务,并发现其服务软件使用的是IIS 5.0和Serv-u 5.1,用一些针对他们的溢出工具后发现无效,遂放弃直接远程溢出的想法。打开网站页面,发现使用的是动网的论坛系统,于是在其域名后面加个/upfile.asp,发现有文件上传漏洞,便抓包,把修改过的ASP木马用NC提交,提示上传成功,成功得到WEBSHELL,打开刚刚上传的ASP木马,发现有MS-SQL、Norton Antivirus和BlackICE在运行,判断是防火墙上做了限制,把SQL服务端口屏蔽了。通过ASP木马查看到了Norton Antivirus和BlackICE的PID,又通过ASP木马上传了一个能杀掉进程的文件,运行后杀掉了Norton Antivirus和BlackICE。再扫描,发现1433端口开放了,到此,便有很多种途径获得管理员权限了,可以查看网站目录下的conn.asp得到SQL的用户名密码,再登陆进SQL执行添加用户,提管理员权限。也可以抓SERV-U下的ServUDaemon.ini修改后上传,得到系统管理员权限。还可以传本地溢出SERV-U的工具直接添加用户到Administrators等等。大家可以看到,一旦黑客找到了切入点,在没有权限限制的情况下,黑客将一帆风顺的取得管理员权限。

那我们现在就来看看Windows 2000的默认权限设置到底是怎样的。对于各个卷的根目录,默认给了Everyone组完全控制权。这意味着任何进入电脑的用户将不受限制的在这些根目录中为所欲为。系统卷下有三个目录比较特殊,系统默认给了他们有限制的权限,这三个目录是Documents and settings、Program files和Winnt。对于Documents and settings,默认的权限是这样分配的:Administrators拥有完全控制权;Everyone拥有读运,列和读权限;Power users拥有读运,列和读权限;SYSTEM同Administrators;Users拥有读运,列和读权限。对于Program files,Administrators拥有完全控制权;Creator owner拥有特殊权限;Power users有完全控制权;SYSTEM同Admin

如何防上黑客在mysql注入代码

防范注入可以用Web应用防火墙(WAF),使用WAF可以防范大多数的注入攻击

(还有其他类型的网络攻击),应付一般的黑客足够了。另外还可以在网站中使用防注入代码库,可以充分过滤用户输入,减少产生注入漏洞的几率。还有就是网站建成后进行充分的Web渗透测试,解决掉注入漏洞才是根本。

怎么样才能写出安全的Java代码?不被黑客攻击?

在本文中,我们讨论了对付 13 种不同静态暴露的技巧。对于每种暴露,我们解释了不处理这些安全性问题所造成的影响。我们还为您推荐了一些准则,要开发不受这些静态安全性暴露威胁的、健壮且安全的 Java 应用程序,您应该遵循这些准则。一有合适的时机,我们就提供代码样本(既有暴露的代码也有无暴露的代码)。

对付高严重性暴露的技巧

请遵循下列建议以避免高严重性静态安全性暴露:

限制对变量的访问

让每个类和方法都成为 final,除非有足够的理由不这样做

不要依赖包作用域

使类不可克隆

使类不可序列化

使类不可逆序列化

避免硬编码敏感数据

查找恶意代码

限制对变量的访问

如果将变量声明为 public,那么外部代码就可以操作该变量。这可能会导致安全性暴露。

影响

如果实例变量为 public,那么就可以在类实例上直接访问和操作该实例变量。将实例变量声明为 protected 并不一定能解决这一问题:虽然不可能直接在类实例基础上访问这样的变量,但仍然可以从派生类访问这个变量。

清单 1 演示了带有 public 变量的代码,因为变量为 public 的,所以它暴露了。

清单 1. 带有 public 变量的代码

class Test {

public int id;

protected String name;

Test(){

id = 1;

name = "hello world";

}

//code

}

public class MyClass extends Test{

public void methodIllegalSet(String name){

this.name = name; // this should not be allowed

}

public static void main(String[] args){

Test obj = new Test();

obj.id = 123; // this should not be allowed

MyClass mc = new MyClass();

mc.methodIllegalSet("Illegal Set Value");

}

}

建议

一般来说,应该使用取值方法而不是 public 变量。按照具体问题具体对待的原则,在确定哪些变量特别重要因而应该声明为 private 时,请将编码的方便程度及成本同安全性需要加以比较。清单 2 演示了以下列方式来使之安全的代码:

清单 2. 不带有 public 变量的代码

class Test {

private int id;

private String name;

Test(){

id = 1;

name = "hello world";

}

public void setId(int id){

this.id = id;

}

public void setName(String name){

this.name = name;

}

public int getId(){

return id;

}

public String getName(){

return name;

}

}

让每个类和方法都为 final

不允许扩展的类和方法应该声明为 final。这样做防止了系统外的代码扩展类并修改类的行为。

影响

仅仅将类声明为非 public 并不能防止攻击者扩展类,因为仍然可以从它自己的包内访问该类。

建议

让每个类和方法都成为 final,除非有足够的理由不这样做。按此建议,我们要求您放弃可扩展性,虽然它是使用诸如 Java 语言之类的面向对象语言的主要优点之一。在试图提供安全性时,可扩展性却成了您的敌人;可扩展性只会为攻击者提供更多给您带来麻烦的方法。

不要依赖包作用域

没有显式地标注为 public、private 或 protected 的类、方法和变量在它们自己的包内是可访问的。

影响

如果 Java 包不是封闭的,那么攻击者就可以向包内引入新类并使用该新类来访问您想保护的内容。诸如 java.lang 之类的一些包缺省是封闭的,一些 JVM 也让您封闭自己的包。然而,您最好假定包是不封闭的。

建议

从软件工程观点来看,包作用域具有重要意义,因为它可以阻止对您想隐藏的内容进行偶然的、无意中的访问。但不要依靠它来获取安全性。应该将类、方法和变量显式标注为 public、private 或 protected 中适合您特定需求的那种。

使类不可克隆

克隆允许绕过构造器而轻易地复制类实例。

影响

即使您没有有意使类可克隆,外部源仍然可以定义您的类的子类,并使该子类实现 java.lang.Cloneable。这就让攻击者创建了您的类的新实例。拷贝现有对象的内存映象生成了新的实例;虽然这样做有时候是生成新对象的可接受方法,但是大多数时候是不可接受的。清单 3 说明了因为可克隆而暴露的代码:

清单 3. 可克隆代码

class MyClass{

private int id;

private String name;

public MyClass(){

id=1;

name="HaryPorter";

}

public MyClass(int id,String name){

this.id=id;

this.name=name;

}

public void display(){

System.out.println("Id ="+id+"

"+"Name="+name);

}

}

// hackers code to clone the user class

public class Hacker extends MyClass implements Cloneable {

public static void main(String[] args){

Hacker hack=new Hacker();

try{

MyClass o=(MyClass)hack.clone();

o.display();

}

catch(CloneNotSupportedException e){

e.printStackTrace();

}

}

}

建议

要防止类被克隆,可以将清单 4 中所示的方法添加到您的类中:

清单 4. 使您的代码不可克隆

public final Object clone()

throws java.lang.CloneNotSupportedException{

throw new java.lang.CloneNotSupportedException();

}

如果想让您的类可克隆并且您已经考虑了这一选择的后果,那么您仍然可以保护您的类。要做到这一点,请在您的类中定义一个为 final 的克隆方法,并让它依赖于您的一个超类中的一个非 final 克隆方法,如清单 5 中所示:

清单 5. 以安全的方式使您的代码可克隆

public final Object clone()

throws java.lang.CloneNotSupportedException {

super.clone();

}

类中出现 clone() 方法防止攻击者重新定义您的 clone 方法。

使类不可序列化

序列化允许将类实例中的数据保存在外部文件中。闯入代码可以克隆或复制实例,然后对它进行序列化。

影响

序列化是令人担忧的,因为它允许外部源获取对您的对象的内部状态的控制。这一外部源可以将您的对象之一序列化成攻击者随后可以读取的字节数组,这使得攻击者可以完全审查您的对象的内部状态,包括您标记为 private 的任何字段。它也允许攻击者访问您引用的任何对象的内部状态。

建议

要防止类中的对象被序列化,请在类中定义清单 6 中的 writeObject() 方法:

清单 6. 防止对象序列化

private final void writeObject(ObjectOutputStream out)

throws java.io.NotSerializableException {

throw new java.io.NotSerializableException("This object cannot

be serialized");

}

通过将 writeObject() 方法声明为 final,防止了攻击者覆盖该方法。

使类不可逆序列化

通过使用逆序列化,攻击者可以用外部数据或字节流来实例化类。

影响

不管类是否可以序列化,都可以对它进行逆序列化。外部源可以创建逆序列化成类实例的字节序列。这种可能为您带来了大量风险,因为您不能控制逆序列化对象的状态。请将逆序列化作为您的对象的另一种公共构造器 — 一种您无法控制的构造器。

建议

要防止对对象的逆序列化,应该在您的类中定义清单 7 中的 readObject() 方法:

清单 7. 防止对象逆序列化

private final void readObject(ObjectInputStream in)

throws java.io.NotSerializableException {

throw new java.io.NotSerializableException("This object cannot

be deserialized");

}

通过将该方法声明为 final,防止了攻击者覆盖该方法。

避免硬编码敏感数据

您可能会尝试将诸如加密密钥之类的秘密存放在您的应用程序或库的代码。对于你们开发人员来说,这样做通常会把事情变得更简单。

影响

任何运行您的代码的人都可以完全访问以这种方法存储的秘密。没有什么东西可以防止心怀叵测的程序员或虚拟机窥探您的代码并了解其秘密。

建议

可以以一种只可被您解密的方式将秘密存储在您代码中。在这种情形下,秘密只在于您的代码所使用的算法。这样做没有多大坏处,但不要洋洋得意,认为这样做提供了牢固的保护。您可以遮掩您的源代码或字节码 — 也就是,以一种为了解密必须知道加密格式的方法对源代码或字节码进行加密 — 但攻击者极有可能能够推断出加密格式,对遮掩的代码进行逆向工程从而揭露其秘密。

这一问题的一种可能解决方案是:将敏感数据保存在属性文件中,无论什么时候需要这些数据,都可以从该文件读取。如果数据极其敏感,那么在访问属性文件时,您的应用程序应该使用一些加密/解密技术。

查找恶意代码

从事某个项目的某个心怀叵测的开发人员可能故意引入易受攻击的代码,打算日后利用它。这样的代码在初始化时可能会启动一个后台进程,该进程可以为闯入者开后门。它也可以更改一些敏感数据。

这样的恶意代码有三类:

类中的 main 方法

定义过且未使用的方法

注释中的死代码

影响

入口点程序可能很危险而且有恶意。通常,Java 开发人员往往在其类中编写 main() 方法,这有助于测试单个类的功能。当类从测试转移到生产环境时,带有 main() 方法的类就成为了对应用程序的潜在威胁,因为闯入者将它们用作入口点。

请检查代码中是否有未使用的方法出现。这些方法在测试期间将会通过所有的安全检查,因为在代码中不调用它们 — 但它们可能含有硬编码在它们内部的敏感数据(虽然是测试数据)。引入一小段代码的攻击者随后可能调用这样的方法。

避免最终应用程序中的死代码(注释内的代码)。如果闯入者去掉了对这样的代码的注释,那么代码可能会影响系统的功能性。

可以在清单 8 中看到所有三种类型的恶意代码的示例:

清单 8. 潜在恶意的 Java 代码

public void unusedMethod(){

// code written to harm the system

}

public void usedMethod(){

//unusedMethod(); //code in comment put with bad intentions,

//might affect the system if uncommented

// int x = 100;

// x=x+10; //Code in comment, might affect the

//functionality of the system if uncommented

}

建议

应该将(除启动应用程序的 main() 方法之外的)main() 方法、未使用的方法以及死代码从应用程序代码中除去。在软件交付使用之前,主要开发人员应该对敏感应用程序进行一次全面的代码评审。应该使用“Stub”或“dummy”类代替 main() 方法以测试应用程序的功能。

对付中等严重性暴露的技巧

请遵循下列建议以避免中等严重性静态安全性暴露:

不要依赖初始化

不要通过名称来比较类

不要使用内部类

不要依赖初始化

您可以不运行构造器而分配对象。这些对象使用起来不安全,因为它们不是通过构造器初始化的。

影响

在初始化时验证对象确保了数据的完整性。

例如,请想象为客户创建新帐户的 Account 对象。只有在 Account 期初余额大于 0 时,才可以开设新帐户。可以在构造器里执行这样的验证。有些人未执行构造器而创建 Account 对象,他可能创建了一个具有一些负值的新帐户,这样会使系统不一致,容易受到进一步的干预。

建议

在使用对象之前,请检查对象的初始化过程。要做到这一点,每个类都应该有一个在构造器中设置的私有布尔标志,如清单 9 中的类所示。在每个非 static 方法中,代码在任何进一步执行之前都应该检查该标志的值。如果该标志的值为 true,那么控制应该进一步继续;否则,控制应该抛出一个例外并停止执行。那些从构造器调用的方法将不会检查初始化的变量,因为在调用方法时没有设置标志。因为这些方法并不检查标志,所以应该将它们声明为 private 以防止用户直接访问它们。

清单 9. 使用布尔标志以检查初始化过程

public class MyClass{

private boolean initialized = false;

//Other variables

public MyClass (){

//variable initialization

method1();

initialized = true;

}

private void method1(){ //no need to check for initialization variable

//code

}

public void method2(){

try{

if(initialized==true){

//proceed with the business logic

}

else{

throw new Exception("Illegal State Of the object");

}

}catch(Exception e){

e.printStackTrace();

}

}

}

如果对象由逆序列化进行初始化,那么上面讨论的验证机制将难以奏效,因为在该过程中并不调用构造器。在这种情况下,类应该实现 ObjectInputValidation 接口:

清单 10. 实现 ObjectInputValidation

interface java.io.ObjectInputValidation {

public void validateObject() throws InvalidObjectException;

}

所有验证都应该在 validateObject() 方法中执行。对象还必须调用 ObjectInputStream.RegisterValidation() 方法以为逆序列化对象之后的验证进行注册。 RegisterValidation() 的第一个参数是实现 validateObject() 的对象,通常是对对象自身的引用。注:任何实现 validateObject() 的对象都可能充当对象验证器,但对象通常验证它自己对其它对象的引用。RegisterValidation() 的第二个参数是一个确定回调顺序的整数优先级,优先级数字大的比优先级数字小的先回调。同一优先级内的回调顺序则不确定。

当对象已逆序列化时,ObjectInputStream 按照从高到低的优先级顺序调用每个已注册对象上的 validateObject()。

不要通过名称来比较类

有时候,您可能需要比较两个对象的类,以确定它们是否相同;或者,您可能想看看某个对象是否是某个特定类的实例。因为 JVM 可能包括多个具有相同名称的类(具有相同名称但却在不同包内的类),所以您不应该根据名称来比较类。

影响

如果根据名称来比较类,您可能无意中将您不希望授予别人的权利授予了闯入者的类,因为闯入者可以定义与您的类同名的类。

例如,请假设您想确定某个对象是否是类 com.bar.Foo 的实例。清单 11 演示了完成这一任务的错误方法:

清单 11. 比较类的错误方法

if(obj.getClass().getName().equals("Foo")) // Wrong!

// objects class is named Foo

}else{

// object's class has some other name

}

建议

在那些非得根据名称来比较类的情况下,您必须格外小心,必须确保使用了当前类的 ClassLoader 的当前名称空间,如清单 12 中所示:

清单 12. 比较类的更好方法

if(obj.getClass() == this.getClassLoader().loadClass("com.bar.Foo")){

// object's class is equal to

//the class that this class calls "com.bar.Foo"

}else{

// object's class is not equal to the class that

// this class calls "com.bar.Foo"

}

然而,比较类的更好方法是直接比较类对象看它们是否相等。例如,如果您想确定两个对象 a 和 b 是否属同一个类,那么您就应该使用清单 13 中的代码:

清单 13. 直接比较对象来看它们是否相等

if(a.getClass() == b.getClass()){

// objects have the same class

}else{

// objects have different classes

}

尽可能少用直接名称比较。

不要使用内部类

Java 字节码没有内部类的概念,因为编译器将内部类转换成了普通类,而如果没有将内部类声明为 private,则同一个包内的任何代码恰好能访问该普通类。

影响

因为有这一特性,所以包内的恶意代码可以访问这些内部类。如果内部类能够访问括起外部类的字段,那么情况会变得更糟。可能已经将这些字段声明为 private,这样内部类就被转换成了独立类,但当内部类访问外部类的字段时,编译器就将这些字段从专用(private)的变为在包(package)的作用域内有效的。内部类暴露了已经够糟糕的了,但更糟糕的是编译器使您将某些字段成为 private 的举动成为徒劳。

建议 如果能够不使用内部类就不要使用内部类。

对付低严重性暴露的技巧

请遵循下列建议以避免低严重性静态安全性暴露:

避免返回可变对象

检查本机方法

避免返回可变对象

Java 方法返回对象引用的副本。如果实际对象是可改变的,那么使用这样一个引用调用程序可能会改变它的内容,通常这是我们所不希望见到的。

影响

请考虑这个示例:某个方法返回一个对敏感对象的内部数组的引用,假定该方法的调用程序不改变这些对象。即使数组对象本身是不可改变的,也可以在数组对象以外操作数组的内容,这种操作将反映在返回该数组的对象中。如果该方法返回可改变的对象,那么事情会变得更糟;外部实体可以改变在那个类中声明的 public 变量,这种改变将反映在实际对象中。

清单 14 演示了脆弱性。getExposedObj() 方法返回了 Exposed 对象的引用副本,该对象是可变的:

清单 14. 返回可变对象的引用副本

class Exposed{

private int id;

private String name;

public Exposed(){

}

public Exposed(int id, String name){

this.id = id;

this.name = name;

}

public int getId(){

return id;

}

public String getName(){

return name;

}

public void setId(int id){

this.id=id;

}

public void setName(String name){

this.name = name;

}

public void display(){

System.out.println("Id = "+ id + " Name = "+ name);

}

}

public class Exp12{

private Exposed exposedObj = new Exposed(1,"Harry Porter");

public Exposed getExposedObj(){

return exposedObj; //returns a reference to the object.

}

public static void main(String[] args){

Exp12 exp12 = new Exp12();

exp12.getExposedObj().display();

Exposed exposed = exp12.getExposedObj();

exposed.setId(10);

exposed.setName("Hacker");

exp12.getExposedObj().display();

}

}

建议

如果方法返回可改变的对象,但又不希望调用程序改变该对象,请修改该方法使之不返回实际对象而是返回它的副本或克隆。要改正清单 14 中的代码,请让它返回 Exposed 对象的副本,如清单 15 中所示:

清单 15. 返回可变对象的副本

public Exposed getExposedObj(){

return new Exposed(exposedObj.getId(),exposedObj.getName());

}

或者,您的代码也可以返回 Exposed 对象的克隆。

检查本机方法

本机方法是一种 Java 方法,其实现是用另一种编程语言编写的,如 C 或 C++。有些开发人员实现本机方法,这是因为 Java 语言即使使用即时(just-in-time)编译器也比许多编译过的语言要慢。其它人需要使用本机代码是为了在 JVM 以外实现特定于平台的功能。

影响

使用本机代码时,请小心,因为对这些代码进行验证是不可能的,而且本机代码可能潜在地允许 applet 绕过通常的安全性管理器(Security Manager)和 Java 对设备访问的控制。

建议

如果非得使用本机方法,那么请检查这些方法以确定:

它们返回什么

它们获取什么作为参数

它们是否绕过安全性检查

它们是否是 public、private 等等

它们是否含有绕过包边界从而绕过包保护的方法调用

结束语

编写安全 Java 代码是十分困难的,但本文描述了一些可行的实践来帮您编写安全 Java 代码。这些建议并不能解决您的所有安全性问题,但它们将减少暴露数目。最佳软件安全性实践可以帮助确保软件正常运行。安全至关重要和高可靠系统设计者总是花费大量精力来分析和跟踪软件行为。只有通过将安全性作为至关紧要的系统特性来对待 — 并且从一开始就将它构建到应用程序中,我们才可以避免亡羊补牢似的、修修补补的安全性方法。

参考资料

请通过单击文章顶部或底部的讨论来参加本文的论坛。

了解关于 Java 安全性 API 的更多知识。

developerWorks 安全专题上通常含有有关计算机安全性的优秀资源。

Larry Koved、 Anthony J. Nadalin、Don Neal 和 Tim Lawson 合作编写的 “The evolution of Java security”(developerWorks,1998 年)对 Java 语言的安全性模型早期开发进行了深入探讨。

Sing Li 在他的 Java 安全性系列文章(由两部分组成的)(developerWorks, 2001 年 2 月)中向开发人员显示:尽管社区可能不得不重新考虑 Java 2 中的安全性设计,还是出现了只对开发人员有帮助,可以满足他们的需求的一致的进展:

第一部分

第二部分

John Viega、Tom Mutdosch、 Gary McGraw 和 Ed Felten 合著的 “Statically scanning Java code for security vulnerabilities” (IEEE Software,2000 年 9 月)介绍了一种 Java 工具,可以使用该工具来检查您的 Java 代码中的安全性漏洞。

G. McGraw 和 E. Felten 合作编写的 Securing Java: Getting Down to Business with Mobile Code(John Wiley 和 Sons,1998 年)深入涵盖了 Java 安全性。(文档是 PDF 格式的。)

定期检查 IBM 研究 Java 安全页面以便 IBM 在安全性领域的创新有重要发展时能够跟踪这一创新。

如果您的 Java 代码运行在 S/390 系统上,那么您将需要查阅 S/390 Java 安全页面以获取额外的信息。

关于作者

Bijaya Nanda Sahu 是就职于印度 IBM Global Services 的软件工程师。他从事过各种因特网技术和框架(J2EE、WSBCC、JADE)、 WebSphere 相关技术、UML 和 OOAD 方面的工作。目前,他从事因特网银行安全性问题方面的工作,重点在 WebSphere Application Server 和 Portal Server 上。可以通过 bijaya.sahu@in.ibm.com 和他联系

如何防范别人在我的网页里加入黑客代码

字符过滤。过滤有以下代码的字符串。iframe/iframescript/script

我的电脑如何有效的防范黑客的攻击?

一、计算机的设置

1.关闭“文件和打印共享”

文件和打印共享应该是一个非常有用的功能,但在不需要它的时候,也是黑客入侵的很好的安全漏洞。所以在没有必要“文件和打印共享”的情况下,我们可以将它关闭。用鼠标右击“网络邻居”,选择“属性”,然后单击“文件和打印共享”按钮,将弹出的“文件和打印共享”对话框中的两个复选框中的钩去掉即可。 虽然“文件和打印共享”关闭了,但是还不能确保安全,还要修改注册表,禁止它人更改“文件和打印共享”。打开注册表编辑器,选择

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\NetWork

主键,在该主键下新建DWORD类型的键值,键值名为“NoFileSharingControl”,键值设为“1”表示禁止这项功能,从而达到禁止更改“文件和打印共享”的目的;键值为“0”表示允许这项功能。这样在“网络邻居”的“属性”对话框中“文件和打印共享”就不复存在了。

2.把Guest账号禁用

有很多入侵都是通过这个账号进一步获得管理员密码或者权限的。如果不想把自己的计算机给别人当玩具,那还是禁止的好。打开控制面板,双击“用户和密码”,单击“高级”选项卡,再单击“高级”按钮,弹出本地用户和组窗口。在Guest账号上面点击右键,选择属性,在“常规”页中选中“账户已停用”。另外,将Administrator账号改名可以防止黑客知道自己的管理员账号,这会在很大程度上保证计算机安全。

3.禁止建立空连接

在默认的情况下,任何用户都可以通过空连接连上服务器,枚举账号并猜测密码。因此,我们必须禁止建立空连接。方法是修改注册表:打开注册表

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA

将DWORD值“RestrictAnonymous”的键值改为“1”即可。

二、隐藏IP地址

黑客经常利用一些网络探测技术来查看我们的主机信息,主要目的就是得到网络中主机的IP地址。IP地址在网络安全上是一个很重要的概念,如果攻击者知道了你的IP地址,等于为他的攻击准备好了目标,他可以向这个IP发动各种进攻,如DoS( 拒绝服务 )攻击、Floop溢出攻击等。隐藏IP地址的主要方法是使用代理服务器。 与直接连接到Internet相比,使用代理服务器能保护上网用户的IP地址,从而保障上网安全。代理服务器的原理是在客户机(用户上网的计算机)和远程服务器(如用户想访问远端WWW服务器)之间架设一个“中转站”,当客户机向远程服务器提出服务要求后,代理服务器首先截取用户的请求,然后代理服务器将服务请求转交远程服务器,从而实现客户机和远程服务器之间的联系。很显然,使用代理服务器后,其它用户只能探测到代理服务器的IP地址而不是用户的IP地址,这就实现了隐藏用户IP地址的目的,保障了用户上网安全。提供免费代理服务器的网站有很多,你也可以自己用代理猎手等工具来查找。

三、关闭不必要的端口

黑客在入侵时常常会扫描你的计算机端口,如果安装了端口监视程序(比如Netwatch),该监视程序则会有警告提示。如果遇到这种入侵,可用工具软件关闭用不到的端口。

四、更换管理员账户

Administrator账户拥有最高的系统权限,一旦该账户被人利用,后果不堪设想。黑客入侵的常用手段之一就是试图获得Administrator账户的密码,所以我们要重新配置Administrator账号。 首先是为Administrator账户设置一个强大复杂的密码,然后我们重命名Administrator账户,再创建一个没有管理员权限的Administrator账户欺骗入侵者。这样一来,入侵者就很难搞清哪个账户真正拥有管理员权限,也就在一定程度上减少了危险性。

五、杜绝Guest账户的入侵

Guest账户即所谓的来宾账户,它可以访问计算机,但受到限制。不幸的是,Guest也为黑客入侵打开了方便之门!网上有很多文章中都介绍过如何利用Guest用户得到管理员权限的方法,所以要杜绝基于Guest账户的系统入侵。

禁用或彻底删除Guest账户是最好的办法,但在某些必须使用到Guest账户的情况下,就需要通过其它途径来做好防御工作了。首先要给Guest设一个强壮的密码,然后详细设置Guest账户对物理路径的访问权限。举例来说,如果你要防止Guest用户可以访问tool文件夹,可以右击该文件夹,在弹出菜单中选择“安全”标签,从中可看到可以访问此文件夹的所有用户。删除管理员之外的所有用户即可。或者在权限中为相应的用户设定权限,比方说只能“列出文件夹目录”和“读取”等,这样就安全多了。

六、安装必要的安全软件

我们还应在电脑中安装并使用必要的防黑软件,杀毒软件和 防火墙 都是必备的。在上网时打开它们,这样即便有黑客进攻我们的安全也是有保证的。

七、防范木马程序

木马程序会窃取所植入电脑中的有用信息,因此我们也要防止被黑客植入木马程序,常用的办法有:

● 在下载文件时先放到自己新建的文件夹里,再用杀毒软件来检测,起到提前预防的作用。

● 在“开始”→“程序”→“启动”或“开始”→“程序”→“Startup”选项里看是否有不明的运行项目,如果有,删除即可。将注册表里

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

下的所有以“Run”为前缀的可疑程序全部删除即可。

八、不要回陌生人的邮件

有些黑客可能会冒充某些正规网站的名义,然后编个冠冕堂皇的理由寄一封信给你要求你输入上网的用户名称与密码,如果按下“确定”,你的账号和密码就进了黑客的邮箱。所以不要随便回陌生人的邮件,即使他说得再动听再诱人也不上当。

九、做好IE的安全设置

ActiveX控件和 Applets有较强的功能,但也存在被人利用的隐患,网页中的恶意代码往往就是利用这些控件编写的小程序,只要打开网页就会被运行。所以要避免恶意网页的攻击只有禁止这些恶意代码的运行。IE对此提供了多种选择,具体设置步骤是:“工具”→“Internet选项”→“安全”→“自定义级别”,建议您将ActiveX控件与相关选项禁用。谨慎些总没有错! 另外,在IE的安全性设定中我们只能设定Internet、本地Intranet、受信任的站点、受限制的站点。不过,微软在这里隐藏了“我的电脑”的安全性设定,通过修改注册表把该选项打开,可以使我们在对待ActiveX控件和 Applets时有更多的选择,并对本地电脑安全产生更大的影响。

下面是具体的方法:打开“开始”菜单中的“运行”,在弹出的“运行”对话框中输入Regedit.exe,打开注册表编辑器,点击前面的“+”号顺次展开到:

HKEY_CURRE-NT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\Zones\0

在右边窗口中找到DWORD值“Flags”,默认键值为十六进制的21(十进制33),双击“Flags”,在弹出的对话框中将它的键值改为“1”即可,关闭注册表编辑器。无需重新启动电脑,重新打开IE,再次点击“工具→Internet选项→安全”标签,你就会看到多了一个“我的电脑”图标,在这里你可以设定它的安全等级。将它的安全等级设定高些,这样的防范更严密。

最后建议给自己的系统打上补丁, 微软那些补丁还是很有用的。

  • 评论列表:
  •  黑客技术
     发布于 2022-06-30 22:04:58  回复该评论
  • ed(){ } public Exposed(int id, String name){ this.id = id; this.nam
  •  黑客技术
     发布于 2022-06-30 23:46:36  回复该评论
  • 这些对象。即使数组对象本身是不可改变的,也可以在数组对象以外操作数组的内容,这种操作将反映在返回该数组的对象中。如果该方法返回可改变的对象,那么事情会变得更糟;外部实体可以改变在那个类中声明的 public 变量,这种改变将反映在实际对象中。清单 14 演
  •  黑客技术
     发布于 2022-07-01 01:01:58  回复该评论
  • 是直接比较类对象看它们是否相等。例如,如果您想确定两个对象 a 和 b 是否属同一个类,那么您就应该使用清单 13 中的代码:清单 13. 直接比较对象来看它们是否相等 if(a

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.