·设为首页 ·加入收藏 ·中知库微信
咨询成果
典型项目
专题研究
资料下载
联系我们 Contact us

公司地址
广东省广州市天河区元京路8号远洋天骄广场B3  825
电话:020-87563821
传真:020-87563821
邮箱:hd@zzkchina.com
联系人:陈小姐



 
您现在的位置:首页 > 咨询成果 > 专题研究 >
浅谈WEB攻击与防护
来源:ZZKCHINA | 发布时间:2014-04-09 16:10 | 浏览次数:

引言

随着网络应用的普及和深入,企业用户租用ASP的服务器和软件系统来进行自己的业务管理有着很大的益处:第一,降低企业管理信息化的成本,节省大笔用于IT建设方面的资金。第二,ASP的用户可以随时随地在短时间内采用各种方式获得应用和服务,软件类服务产品通过网络在短时间内组成一个高效、完善、先进的企业管理系统,迅速获得企业一体化的运营管理方案。目前,大部分网站特别是电子商务方面的网站,在其前后台大都使用ASP技术来实现,所以ASP在网站应用上越来越普遍。虽然ASP作为一种快速的网站开发工具,表现出了强大的快速开发能力,但是作为ASP自身存在的一些安全性问题却往往被忽视。

1  ASP工作原理

ASP(Microsoft Active Server Pages)是服务器端脚本编写环境。可以混合使用HTML、脚本语言以及组件来创建和运行动态、交互的Web 页和服务器端功能强大的WEB应用程序。如果之前创建过的站点混合了HTML、脚本语言以及组件,就可以在其中加入ASP程序代码。通过将脚本命令加入到HTML页面中,你可以创建一个HTML用户界面,并且,还可以通过使用组件包含一些商业逻辑规则。组件可以被脚本程序调用,也可以由其他的组件调用。由于脚本运行于服务器端,等Web服务器完成所有处理后,将标准的HTML页面送往浏览器。所以ASP只能在可以支持的服务器上运行,并且客户端看到的是HTML而不是ASP的源代码。但是由于ASP自身也存在一些安全漏洞。所以经常容易导致各种攻击的产生。

2  数据库路径泄露漏洞的利用、成因及防范

在针对ASP等各种交互式网站的脚本攻击中,最直接有效的就是暴库攻击。通过构造特殊URL或者访问特定文件,可以使ACCESS数据库路径泄露,这种攻击方法简称暴库攻击。使得数据库路径泄露的漏洞就简称为数据库路径泄露漏洞,简称暴库漏洞。攻击者利用数据库路径泄露漏洞获取数据库路径后,就可以直接下载数据库,从而获取网站数据信息,造成企业内部信息泄露。并能通过数据信息进一步入侵网站,篡改网站数据或进一步入侵服务器等,从而造成企业的名誉,财产等发生损失。

2.1 数据库路径泄露漏洞的利用及成因

数据库路径泄露漏洞的利用方式主要有两种,一是通过直接访问数据库连接文件获得数据库文件路径,另外就是通过构造特定的URL获得数据库文件路径。

2.1.1直接访问数据库连接文件获得数据库文件路径的方法

一般而言,数据库连接文件地址都有一定的规律可寻,大多都会处于网站的INC目录下,文件名为CONN.ASP。另外,由于许多网站使用的是开源的网站系统,所以其数据库连接文件地址是公开的。而直接访问数据库连接文件暴库的方法通过直接访问数据库连接文件使服务器产生错误,通过服务器返回的错误信息提示暴出数据库地址的。其效果如图1所示。

图1

2.1.2直接访问数据库连接文件获得数据库文件路径的成因

要清楚为什么会导致数据库路径泄露,首先要理解什么是相对路径和绝对路径。一个网站架设在服务器中,必须在IIS中设定这个网站目录的路径,如d:\wwwroot,这个路径就是网站的绝对路径,假如这个网站目录下还有一个文件夹名为BBS,则d:\wwwroot\bbs就是这个目录的绝对路径,而/bbs就是这个目录的相对路径。

通过直接访问数据库连接文件可以导致数据库路径泄露的根本原因是服务器中的相对路径出错。现在假设数据库连接文件的相对路径为inc/conn.asp。系统的conn.asp是放在根目录下的inc目录运行的,但许多文件都是在根目录下通过语句:调用conn.asp文件运行的。因此,考虑到执行目录的不同,conn.asp中数据库的相对地址是写成“数据库所在目录/数据库名”的,如:db="database/bbs.mdb"当conn.asp被根目录下的其它文件调用时,其连接的是根目录中database目录下的  bbs.mdb文件。而当我们直接访问inc目录下的conn.asp文件时,根据conn.asp中的内容,服务器会去请求连接inc目录下的database目录下的bbs.mdb,相对路径就变成了/inc/database/bbs.mdb   。因为inc目录下没有database目录和bbs.mdb文件,于是服务器就会报错,从而导致了数据库路径的泄露。

2.1.3通过构造特定的URL获得数据库文件路径的方法

  通过构造特定的URL,也可以使得服务器返回错误的信息提示,从而暴出数据库地址。其做法是把型为http://www.xxx.com/bbs/xxx.asp的URL改成http://www.xxx.com/bbs%5cxxx.asp。效果如图2所示

图2

2.1.4通过构造特定的URL获得数据库文件路径的成因

前面说过,通过直接访问数据库连接文件可以导致数据库路径泄露的根本原因是服务器中的相对路径出错。而通过构造特定的URL暴库的成因则是服务器中的绝对路径出错。在通过构造特定的URL暴库的方法中,我们把URL中最后的一个"\"变成了"%5c",而代码"%5c"在URL编码中所代表的是符号"\",只不过如果我们直接在浏览器中提交符号"\"则会自动被浏览器转换为符号"/"。在IIS中,有一个功能叫虚拟目录,而虚拟目录的标志正是符号"\",当IIS遇到我们提交的符号"\"时,便以为遇到了一个虚拟目录,于是就停止了继续向上解析。前面说过,一般数据库连接文件里面是这样写的:db="bbs/data/data.mdb"正常情况下,其数据库绝对路径为D:\wwwroot\bbs\data\data.mdb而遇到符号"\"后就会被解析为D:\wwwroot\data\data.mdb,因为wwwroot下没有data文件夹和data\data.mdb文件,所以IIS就会返回错误信息,这样攻击者就可以得到数据库的路径了。

2.2 数据库路径泄露漏洞的防范

2.2.1安装专业的网站防攻击,防篡改软硬件

可以通过安装专业的网站防攻击,防篡改软硬件来保证数据库路径不被泄露,同时还能防止其他针对网站的攻击。但相应的软硬件一般成本较高,适合大型企业、政府机关已经有需要的中小企业使用。

2.2.2屏蔽IIS错误信息

  我们可以通过设置IIS,屏蔽掉IIS错误信息的方法来防范数据库路径泄露漏洞(图3)。这个方法是一个一劳永逸的治本方法。但进行这个操作需要拥有服务器权限,同时也对系统的调试带来了不便。

图3

2.2.3禁止下载数据库文件

①利用URLSCAN软件禁止下载数据库

URLSCAN软件是微软推出的免费的IIS安全工具,可以通过黑名单设置禁止访问MDB后缀的文件,从而达到禁止下载数据库文件的目的。但是安装该安全工具需要拥有服务器权限。

②数据库文件名中带特殊符号防下载

如果数据库文件名中包含符号"#",那么当浏览器解析到符号"#"时就会自动停止解析,从而达到禁止下载数据库文件的目的。但只需要把符号"#"改成它的URL编码"%23",或者使用迅雷等下载工具,就可以绕开这一个限制,不推荐使用。

③更改数据库文件后缀名并加入防下载语句

更改数据库文件后缀名并加入防下载语句的方法是目前比较常见的防范方法。通过把数据库的后缀名改为ASP,并在数据库中建立一个以不规范ASP语句命名的表,如<%nodown%>,从而达到禁止下载数据库文件的目的。但这个做法容易被攻击者利用,通过其他方式往数据库中写入一句话ASP木马,直接把数据库当ASP木马使用,所以这里也不推荐使用。

2.2.4在数据库连接文件中加入容错语句

一般做法是在数据库连接文件最后加入语句:On Error Resume Next。通过在数据库连接文件中加入容错语句,可以屏蔽因数据库连接文件产生的错误信息。因为无论是通过直接访问数据库连接文件,还是通过构造特殊的URL来实现获得数据库文件路径的目的,都需要通过数据库连接文件来返回错误信息提示。这防范个方法是目前运用得最广泛的方法,且不需要服务器权限,但需要操作人员具备一定的专业知识。

2.2.5通过空白数据库替换

通过数据库路径泄露漏洞检测后,我们可以在服务器错误信息提示的路径中建立一个同名的文件夹及空白的同名数据库文件,这样服务器就能找到相关文件,从而不会继续报错了。

3  跨站(XSS)漏洞危害、成因及防护

跨站脚本英文名称是( Cros s Site Script) , 为了与层叠样式表( Cas cading Style Sheets) 区分, 故命名为XSS。

XSS 攻击是指入侵者在远程WEB 页面的HTML 代码中插入具有恶意目的的数据, 用户认为该页面是可信赖的, 但是当浏览器下载该页面时, 嵌入其中的脚本将被解释执行。

3.1 XSS漏洞的成因

XSS 其实就是Html 的注入问题, 攻击者的输入没有经过严格的控制进入了数据库最终显示给来访的用户, 导致可以在来访用户的浏览器里以浏览用户的身份执行Html 代码。

3.2 XSS漏洞常用的攻击流程及方法

3.2.1XSS攻击的流程

XSS攻击的流程是: 恶意用户的HTML 输入→Web程序→进入数据库→Web程序→用户浏览器。跨站攻击有多种方式, 主要的攻击方法分别是在Web应用程序中偷cookie、利用iframe或frame存取管理页面或后台页面、利用XMLHttpRequest存取管理页面或后台页面。

3.2.2本地的XSS(DOM-based XSS)漏洞

此漏洞为基于DOM 或者为本地跨站脚本的漏洞。此类型的漏洞存在于页面中客户端脚本自身。例如:如果JavaScript 代码访问URL 请求参数,并使用这个信息在自身所在的页面中输出一些HTML,而这个信息没有使用HTML 实体编码, 则这个被输出的HTML 数据可以重新被浏览器进行解释执行,所以出现了此类型的XSS 漏洞。此类型的XSS一般出现在".htm"、".chm"、".mht"等文件中,另外".dll"、".exe"等PE文件的内部资源中也可能存在XSS。这类XSS的利用方式及危害一般为攻击用户桌面。如弹出信息提示,弹出非法站点窗口等。

3.2.3无存储的XSS

无存储的XSS ,也称为反射跨站脚本攻击(Reflected XSS),这是最常见的XSS 攻击,当Web 客户端提交数据后,服务器端立刻为这个客户生成结果页面, 如果生成的页面中包含未验证的客户端输入数据,那么就会允许客户端的脚本直接注入到动态页面中。传统的例子是站点搜索引擎, 如果我们搜索一个包含特殊HTML 字符的字符串时,通常在返回页面上仍然会有这个字符串来告知我们搜索的是什么,如果这些返回的字符串未被编码,那么,就会存在XSS 漏洞了。这类XSS一般存在于搜索引擎,错误信息提示等在页面中显示用户输入的WEB应用中,其主要利用方式及危害是窃取COOKIES,更改返回页面内容等。

3.2.4存储式跨站脚本攻击(Stored XSS)

存储式跨站脚本攻击是最强大的一种XSS 攻击, 所谓存储跨站攻击是指用户提交给Web 应用程序的数据首先就被永久的保存在服务器的数据库,文件系统或其他地方,后面且未做任何编码就能显示到Web 页面,如通用防注入程序的某个版本中就对注入语句不加何过滤地写入了数据库,防注入管理后台直接显示了出来,造成了典型的Stored XSS。此类XSS通常出现在BBS,论坛,BLOG,留言板等储存用户数据并提供显示的WEB应用中。击者通常会利用此类漏洞进行XSS WORM攻击及STORED XSS攻击。

3.3 XSS漏洞的防范

3.3.1代码修改防御

首先对用户所有提交内容进行验证,包括URL、查询关键字、

HTTP 头、POST 数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其它的一律过滤。

接下来就是实现Session 标记、CAPTCHA 系统或者HTTP引用头检查,以防功能被第三方网站所执行。

最后一步就是确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag,去掉任何对远程内容的引用,使用HTTP only 的cookie。

3.3.2部署专业的防御设备

对于一些安全性和应用性较高的网站,较好的方式是采用部署专业的防御设备。但部分入侵防御产品采用的还是传统的特征匹配方法,如对经典的XSS 攻击:IMG SRC=”javascript:alert(‘XSS’);”来说, 就是定义“javascript”这个关键字进行检索,一旦发现提交信息中包含“javascript”,就认定为XSS 攻击。用户在选择相应的产品之前,因此在进行防御设备的部署时最好选择那些基于攻击手法或者说基于攻击原理检测的入侵防御产品。如可以选用基于行为特征分析方式的IDS,通过分析XSS 所有可能的攻击手法,建立一个XSS 攻击行为库来分析判断XSS 攻击,可以避免传统安全产品在XSS 攻击检测上的漏报和误报,提高防御的针对性。

3.3.3设置客户端安全性

对于客户端而言,可以通过禁止浏览器运行JavaScript和ActiveX代码等方法预防XSS攻击,同时用户不要轻易访问别人给你的链接,良好的安全意识和使用习惯是最好的安全保障。

4  SQL注入漏洞危害、成因及防护

 结构化查询语言SQL是用来和关系数据库进行交互的文本语言。它允许用户对数据进行有效的管理,包含了对数据的查询、操作、定义和控制等几个方面,例如向数据库写入、插入数据,从数据库读取数据等。

关系数据库广泛应用于网站中,用户一般通过动态网页和数据库间接进行交互。

常见的动态网页一般都通过形如

“http://domain-name/page.asp?arg=value”等带有参数的URL来访问。动态网页可以是asp、php、jsp或perl等类型。一个动态网页中可以有一个或多个参数,参数类型也可能是整型或字符串型等。

安全性考虑不周的网站应用程序(动态网页)使得攻击者能够构造并提交恶意URL,将特殊构造的SQL语句插入到提交的参数中,在和关系数据库进行交互时获得私密信息,或者直接篡改Web数据,这就是所谓的SQL注入攻击。

4.1 SQL注入漏洞的成因

SQL注入攻击的主要方式是构造巧妙的SQL语句,和网页提交的内容结合起来进行注入攻击。比较常用的技巧有使用注释符号、恒等式(如1=1)、使用union语句进行联合查询、使用insert或update语句插入或修改数据等。此外还可以利用一些内置函数辅助攻击,如使用phpinfo函数显示基本信息,char函数规避单引号等。

4.2 SQL注入漏洞的危害

从前述的简介可以看出,只要是带有参数的动态网页,且此网页访问了数据库,就有可能存在SQL注入攻击,因此SQL注入攻击潜在的发生概率相对于其他Web攻击要高很多,危害面也更广。其主要危害包括:获取系统控制权、未经授权状况下操作数据库的数据、恶意篡改网页内容、私自添加系统帐号或数据库使用者帐号等。

目前基于数据库的网络应用越来越多。与此同时,用于搜索SQL注入点的软件在网络上随处可见,攻击者只需要具备少量的专业知识就可以利用这些软件寻找目标进行攻击。攻击目标和攻击者的增加使得SQL注入攻击在近几年出现扩大的趋势。

4.3 SQL注入漏洞的主要攻击方式

4.3.1用户非法登录网站

大部分网站登陆页面都包含输入用户名和密码两个对话框,用户输入的信息会传递到后台利用执行SQL语句来判断该用户是否为合法用户。当用户在密码文本框中输入类似“or 1=1”等恒成立的判断条件后,即可以屏蔽or之前输入的密码的准确性,从而成功登陆网站,该用户成为了该网站的合法用户。并且有可能利用类似的方法直接获得网站系统管理员权限。

4.3.2用户非法查阅网站信息

对于存在SQL注入漏洞的网站,用户可以通过构造SQL语句非法查阅网站数据库中存储的所有信息,包括但不限于网站管理员及所有用户的用户名、密码,收费的文章信息等。

4.3.3破坏网站信息及入侵服务器

通过SQL注入攻击,用户还可以直接对数据库进行操作,如添加新的网站管理员,替换管理员密码,添加非法文章,删除数据库记录等。同时,还可以通过SQL差异备份等方法获取服务器管理权限,对服务器进行进一步攻击。

4.4 SQL注入漏洞的防范

4.4.1经常检查数据库

目前, 攻击者( 黑客) 常常使用如HDSI、NBSI 和Domain( 明小子) 等软件工具进行SQL 注入攻击, 这些软件都会在数据库中生成一些临时表。通过查看数据库中最近新建表的结构和内容等来判断是否曾经发生过SQ L 注入攻击。

4 .4.2屏蔽出错信息和定期检查IIS 日志

在配置IIS 服务时, 不要使用默认的Web 站点、删除系统盘下的虚拟目录, 如: _vt i_bin、I ISSamples、Script s、I IShelp、IISAdmin、IIShelp、MSADC 等。删除不必要的IIS 扩展名映射。通常情况下, SQL 注入入侵是根据IIS 给出的ASP 错误提示信息来入侵的, 是把IIS 设置成不管出什么样的ASP 错误, 只给出一种错误提示信息, 即ht tp 500 错误, 这样他人就无法入侵了。同时, 要设置好在IIS 中的每个网站执行权限。例如,不给那些静态网站以 脚本和可执行权限。动态网站只要给个 纯脚本权限就够了。对于那些存放网站后台

管理中心上传文件的目录执行权限设为无, 这样, 即使黑客上传运行ASP 木马也无法执行。另外 IIS 日志会记录访问者的IP 地址, 访问文件等信息, 通过定期查看日志文件中的内容与信息, 判断是否发生过SQ L 注入攻击。

4.4.3给用户密码加密

用户密码加密一般要采用md5 函数进行加密, 即密文= md5( 明文) 。通常情况下, 攻击者都会通过ht�tp: / / w w w . cmd5. com 网站查询, 把MD5 加密后的密文变为明文密码。因此, 可以在原来的加密的基础上增加一些非常规的方式, 即在md5 加密的基础上附带一些值, 如密文= md5( md5( 明文) + 123456) , 这样会更安全。另外,我们可以改变常用的MD5加密函数,并对普通用户和管理员的密码分别采用不同的MD5函数加密来保证密码的安全。

4.4.4经常检查系统服务器信息

往往SQL 注入攻击成功后, 入侵者往往会添加用户、开放3389 远程终端服务以及安装木马后门等, 可以通过查看系统管理员账号、远程终端服务器开启情况、系统最近日期产生的一些文件等信息, 判断是否发生过SQ L 注入攻击。

4.4.5采用规范的通用防注入程序。

可以在网站的数据库连接文件后加入规范的通用防注入程序,这样所有需要访问数据库的操作都需要先经过通用防注入程序的检查,保证了网站的安全性。

4.4.6采用专业的软硬件防范

  对于对安全需求较高的网站,还可以采用专业的软硬件防护系统对网站进行安全防护,从而可以最大程度避免了网站安全遭受威胁。

5  其他脚本安全漏洞

除了上述几种常见的脚本安全漏洞外,一般WEB系统中还存在以下的一些安全威胁。

5.1 旁注攻击

旁注攻击是指在找不到网站脚本漏洞的情况下,通过查询域名的WHOIS信息,得到域名所在服务器的IP,然后通过这个IP反向WHOIS查询这个IP绑定了几个域名,然后通过入侵同一服务器下其他网站的方式入侵所想入侵的网站。防范这类攻击的方法一般是在服务器上做好权限的配置,防止同一服务器上不同站点的相互影响。

5.2 上传漏洞

上传漏洞是指上传文件代码对所上传的文件过滤不严造成的,入侵者可以通过这个上传漏洞直接上传ASP文件所引起的漏洞。解决方法是加强上传代码的检测等。

5.3 数据库备份安全问题

指入侵者入侵后台后通过数据库备份或者在存在SQL注入漏洞的注入点通过SQL差异备份获取WEBSHELL的问题。解决方法是使用FTP而不是后台备份数据库,并采用相应设备防止SQL注入漏洞。

5.4 写入过滤不严问题

是指对后台或者前台写入的信息过滤不严,导致可以写入ASP语句到某个系统配置文件,而这个配置文件又是一个ASP文件,导致系统被入侵。或者由于过滤不严导致ASP语句写入了数据库,而数据库又被改成了ASP后缀。防范方法是在可以写入数据库或者配置的地方加强代码检测,防止非法数据写入。

5.5 文件泄露的问题。

 是指服务器权限配置不当或者代码读取信息判断不当,导致机密文件泄露,主要表现在使用GOOGLE能搜索出许多机密文件和通过某些动态文件可以下载任意文件。防范方法是适当的配置好服务器权限及代码判断,并通过URLSCAN等工具对可下载的文件进行过滤。

5.6 WEBSHELL的查找

如果网站已经遭受到攻击并被上传了WEBSHELL,可以使用思易ASP木马追捕及其他WEB安全工具查找ASP木马文件。

6  综合实例

6.1 需求分析

某网吧位于某移动营业厅对面,周围有政府,汽车站,电信,移动,邮政等单位,客流量大。自2005年10月开业以来,经过数次的装修和添加新客户机,配置服务器,现已成为拥有客服机80台,电影和游戏服务器各一台的中型网吧。现根据市场推广需要,拟使用游戏服务器兼做WEB服务器,架设内部新闻发布系统,宣传网吧最新活动及各种政策法规等。为求方便快速,现已经使用动力文章管理系统3.51版本搭建了新闻发布平台,但自从平台搭建后,游戏服务器经常遭受莫名攻击,虽然没有造成什么大的损失,但也影响了游戏服务器的正常运转。

6.2 漏洞分析

动力文章管理系统是一款历史悠久的优秀文章管理系统,其最新产品已经向WEB程序的各个分支中得到了广泛的发展,但因其新版本程序过于庞大繁杂,许多对WEB程序需求不高的客户仍然选择了其老版本的程序使用。在其老版本的程序中,存在了许多脚本安全隐患,下面我将通过搭建一个测试用的动力文章系统3.51,对这些漏洞逐一进行分析。

6.2.1数据库路径泄露漏洞

此文章系统存在数据库路径泄露漏洞,通过直接访问数据库连接文件"inc/conn.asp"可以直接得到数据库路径,从而可以进一步下载利用(如图4所示)。

图4

6.2.2SQL注入漏洞

 使用SQL注入检测工具,可以看到此系统存在SQL注入漏洞,通过次漏洞可以得知管理员的用户名和密码等资料(如图5,图6,图7所示)

 图5:注入工具检测到有可用注入点

图6:注入工具猜解出了管理员用户名和密码

图7:通过在线解密网站破解出加密的密码为admin888

6.2.3文件上传漏洞

通过查阅资料可知,动力文章管理系统3.51版存在文件上传漏洞,可以绕过系统检测上传ASP文件,直接得到WEBSHELL。

6.2.4数据库备份恢复漏洞

  根据参考文献《<利用ACCESS得到WEBSHELL>补充》一文记载的方法,一般情况下,如果站长为了防止数据库的非法下载,会把数据库的后缀改成".asp",这时候,只需要先将ASP木马文件的后缀改成合法的后缀,如“.JPG”等,然后通过数据库恢复的方法把此文件恢复,然后通过利用数据库路径泄露漏洞获得的数据库地址直接访问数据库文件,就可以获得WEBSHELL了。

6.2.5其他脚本安全漏洞

  通过网络搜索,还可得知此版本动力文章管理系统还存在跨站XSS漏洞,COOKIES欺骗漏洞等漏洞。

6.3 漏洞的解决方案

6.3.1数据库路径泄露漏洞解决方案

 根据前文所述,我们可以选择在数据库连接文件后加容错语句或者配置服务器错误信息的方法来防止数据库路径泄露漏洞,当然也可以使用URLSCAN软件防止数据库的非法下载(如图8,图9所示)。

图8:加入容错语句后,直接访问数据库连接文件无法暴库

图9:配置IIS错误信息显示后的显示

 

6.3.2SQL注入漏洞解决方案

根据前文内容,我们可以在数据库连接文件后加入通用防注入程序防止注入漏洞。效果如图10、图11所示。

图10:手动注入弹出提示信息

 

图11:SQL注入检测无效

6.3.3文件上传漏洞防范

  对于文件上传漏洞,我采用的是强制后缀法,将所有图片文件后缀强制改成了JPG。即是,将上传代码中的 filename=year(now)&month(now)&day(now)&ranNum&"fileEXT"改成

filename=year(now)&month(now)&day(now)&ranNum&"jpg"

6.3.4数据库备份恢复漏洞的防范

使用FTP备份和恢复数据库,删除数据库备份恢复页面。如图12所示

图12:数据库相关功能被禁止

6.3.5其他脚本漏洞的防范

  对于跨站(XSS)漏洞,在防注入通用程序里面已经集成了HTM代码转换功能代码,代码如下:

 

post过滤sql注入代防范及HTML防护开始

function nosql(str)

if isnull(str) then

str = ""

exit function

end if

str=trim(str)

str=replace(str,"&","&") '&

str=replace(str,";",";") '分号

str=replace(str,"'","'") '单引号

str=replace(str,"""",""") '双引号

str=replace(str,"chr(9)"," ") '空格

str=replace(str,"chr(10)","
") '回车

str=replace(str,"chr(13)","
") '回车

str=replace(str,"chr(32)"," ") '空格

str=replace(str,"chr(34)",""") '双引号

str=replace(str,"chr(39)","'") '单引号

str=Replace(str, "script", "script")'script

str=replace(str,"<","<")         '左<

str=replace(str,">",">")         '右>

str=replace(str,"(","(")         '左(

str=replace(str,")",")")         '右)

str=replace(str,"*","*")         '*

str=replace(str,"--","--")      'SQL注释符

nosql=str

 

对于COOKIES欺骗漏洞,可以通过COOKIES加密的方法解决。在CONN.ASP中添加一句,然后创建文件“sjm.asp”代码如下:

 

<%

Function getSalt(intLen)

Dim strSalt

Dim intIndex, intRand

 

If Not IsNumeric(intLen) Then

getSalt = "00000000"

exit function

ElseIf CInt(intLen) <> CDbl(intLen) Or CInt(intLen) < 1 Then

getSalt = "00000000"

exit function

End If

 

Randomize

 

For intIndex = 1 to CInt(intLen)

intRand = CInt(Rnd * 1000) Mod 16

strSalt = strSalt & getDecHex(intRand)

Next

 

getSalt = strSalt

 

End Function

 

Function getDecHex(strHex)

Select Case CInt(strHex)

    Case 0

       getDecHex = "0"

    Case 1

       getDecHex = "1"

    Case 2

       getDecHex = "2"

    Case 3

       getDecHex = "3"

    Case 4

       getDecHex = "4"

    Case 5

       getDecHex = "5"

    Case 6

       getDecHex = "6"

    Case 7

       getDecHex = "7"

    Case 8

       getDecHex = "8"

    Case 9

       getDecHex = "9"

    Case 10

       getDecHex = "A"

    Case 11

       getDecHex = "B"

    Case 12

       getDecHex = "C"

    Case 13

       getDecHex = "D"

    Case 14

       getDecHex = "E"

    Case 15

       getDecHex = "F"

    Case Else

       getDecHex = "Z"

    End Select

End Function

%>

 

“MD5加密代码”

6.3.6安全加强措施

  此外,还可以通过一些措施加强程序的安全性,包括

①:变换MD5加密方式。找到MD5加密文件中的如下代码:

    a = &H67452301

    b = &HEFCDAB89

    c = &H98BADCFE

d = &H10325476

把a,b,c,d后面的值的任意一个稍加更改,如改成:

    a = &H67452301

    b = &HEFCDAB76

    c = &H98BADCFE

    d = &H10325476

②:为前台和后台配置不同的MD5加密

按①的方法更改出不同的MD5加密,一个沿用原文件名"md5.asp",另一个命名为"adminmd5.asp",并把所有以“admin_”开头的文件中的

代码更改为

 

③:设置复杂的后台路径,如dslfdle@#$87766.asp

注意:在使用①和②进行安全加固前,仍需要使用原版MD5文件,登录后台使用修改密码功能,填好新密码后点确定前,使用FTP将新的MD5文件进行覆盖,再确定修改,否则无法知道新版MD5加密的结果及解密的密码。

后记

通过对WEB系统代码的修改及安全加固,网吧的游戏服务器不再受到影响。

脚本入侵只是一种从网站程序入手的攻击方式。此外还有针对服务器系统入手的攻击手段, 比如NTserver和FTP 弱口令以及系统所开放的服务和端口。

所谓"知己知彼,百战不殆",了解怎么攻击的同时也就知道怎么建立更安全的防御体系。网络安全是保证Internet 健康发展的基础,是保证企业信息系统正常运行, 保护国家信息基础设施成功建设的关键。

 

参考文献

[1]  光芒果(吴频). ASP脚本攻防手册[J].黑客X档案,2006,3期

[2]  光芒果(吴频). 暴库防范新方法[J].黑客手册,2006,9期

[3] 光芒果(吴频). 对《利用ACCESS得到WEBSHELL》一文的补充[J].黑客X档案,2006,5期

[4] 曾云好.精通脚本黑客[M].齐鲁电子音像出版社

[5]  王芸,陈晓前.Asp+access 网站的安全问题及其防范[J].软件导刊,2010 第9卷 第8期.

[6]  白艳玲.ASP安全问题及解决方案[J].郑州铁路职业技术学院学报,2006.12 第18卷 第4期.

[7]  李晓辉.ASP网站安全性探析[J].信息与电脑,2010.11.

[8]  苏勇.ASP脚本安全策略初探[J].武汉科技学院学报,2001.12第14卷 第4期.

[9]  王科,习胜丰,吴鸣.XSS攻击与防范研究[J].科技信息,2010年 第17期

[10]  刘威.电子商务企业盈利模式研究[D].西华大学硕士学位论文,2007(4).

[11]  罗来曦,朱渔.XSS跨站脚本攻击方法初探[J].宜春学院学报,2009年12月 第31卷 第6期。

[12]  王佩凯,XSS跨站脚本攻击分析[J].信息安全,2010.9

[13]  韦相龙,陆月然,黄瑞政.基于ASP 网站中SQL 注入攻击及其安全防御策略的研究[J].百色学院学报,2009年6月 第22卷第3期.

[14]  吴耀斌,王科,龙岳红.基于跨站脚本的网络漏洞攻击与防范[J].计算机系统应用,2008年第一期.

[15]  古开源,周安民.跨站脚本攻击远离与防范[J].网络安全技术与应用,2005年12月.

[16]  陈嘉迅.论跨站脚本(XSS)攻击的危害、成因及防范[J].学术交流,期号不详.

[17]  吴飞.网络安全之脚本入侵[J].福建电脑,2010年第11期.

[18]  张岸,张毅东.政府网站安全防护解决方案研究[J].情报探索,2010年11月

[19]  http://www.eviloctal.com/

[20]  http://www.nohack.me/

[21]  吴频,柳州钢铁(集团)有限公司脚本安全培训PPT.北京天融信信息科技有限公司南宁办事处.2010-8-3.

[22]  http://wenku.baidu.com/

[23]  http://www.cnki.net/

[29]  Lee KB,Yu S,Kim SJ. Analysis of Pricing Strategies for E-business Companies Providing Information Goods and Services [J].Computers & Industrial Engineering,2006(9):72-78.

[30]  Ray,Amy W,Ray,Julian J. Strategic benefits to SMEs from Third Party Web Services: An Auction Research Analysis[J].Journal of Strategic Information Systems,2006(9):273-291.

 

 
 
打印本页 || 关闭窗口
 上一篇:风险评估在信息安全管理体系持续改进中常见的问题及对策
 下一篇:数据库路径泄露漏洞的利用、成因及防范
关于我们 | 联系方式 | 新闻动态 | 成功案例 | 友情链接
广东中知库企业管理有限公司版权所有 粤ICP备14014491号-2 Power by DedeCms