网页脚本攻击防范全攻略(一)

转载 2006年05月27日 10:39:00
近来,网络上的SQL Injection 漏洞利用攻击,JS脚本,HTML脚本攻击似乎逾演逾烈。陆续的很多站点都被此类攻击所困扰,并非像主机漏洞那样可以当即修复,来自于WEB的攻击方式使我们在防范或者是修复上都带来了很大的不便。HOOO…… 一个站长最大的痛苦莫过于此。自己的密码如何如何强壮却始终被攻击者得到,但如何才能做到真正意义上的安全呢?第一,别把密码和你的生活联系起来;第二,Supermaster的PWD最好只有你自己知道;第三,绝对要完善好你的网站程序。然而怎样才能完善,这将是我们此文的最终目的。

  安全防护,如何做到安全防护?想要防护就要知道对方是如何进行攻击。有很多文章都在写如何攻下某站点,其实其攻击的途径也不过是以下几种:

  1. 简单的脚本攻击

  此类攻击应该属于无聊捣乱吧。比如****:alert(); </table>等等,由于程序上过滤的不严密,使攻击者既得不到什么可用的,但又使的他可以进行捣乱的目的。以目前很多站点的免费服务,或者是自身站点的程序上也是有过滤不严密的问题。

  2. 危险的脚本攻击

  这类脚本攻击已经过度到可以窃取管理员或者是其他用户信息的程度上了。比如大家都知道的cookies窃取,利用脚本对客户端进行本地的写操作等等。

  3. Sql Injection 漏洞攻击

  可以说,这个攻击方式是从动网论坛和BBSXP开始的。利用SQL特殊字符过滤的不严密,而对数据库进行跨表查询的攻击。比如:

  http://127.0.0.1/forum/showuser.asp?id=999 and 1=1

  http://127.0.0.1/forum/showuser.asp?id=999 and 1=2

  http://127.0.0.1/forum/showuser.asp?id=999 and 0<>(select count(*) from admin)

  http://127.0.0.1/forum/showuser.asp?id=999’; declare @a sysname set @a='xp_'+ 'cmdshell' exec @a 'dir c:/'---&aid=9

  得到了管理员的密码也就意味着已经控制的整站,虽然不一定能得到主机的权限,但也为这一步做了很大的铺垫。类似的SQL Injection攻击的方式方法很多,对不同的文件过滤不严密所采取的查询方式也不同。所以说想做好一个完整的字符过滤程序不下一凡功夫是不可能的。

  4. 远程注入攻击

  某站点的所谓的过滤只是在提交表格页上进行简单的JS过滤。对于一般的用户来说,你大可不必防范;对早有预谋的攻击者来说,这样的过滤似乎根本没作用。我们常说的POST攻击就是其中一例。通过远程提交非法的信息以达到攻击目的。

  通过上面的攻击方法的介绍,我们大致的了解了攻击者的攻击途径,下面我们就开始重点的介绍,如何有效的防范脚本攻击!

  让我们还是从最简单的开始:

  l 防范脚本攻击

  JS脚本 和HTML脚本攻击的防范其实很简单:server.HTMLEncode(Str)完事。当然你还不要大叫,怎么可能?你让我把全站类似<%=uid%>都加过滤我还不累死?为了方便的过滤,我们只需要将HTML脚本和JS脚本中的几个关键字符过滤掉就可以了:程序体(1)如下:

  ‘以下是过滤函数

  <%

  function CHK(fqyString)

  fqyString = replace(fqyString, ">", ">")

  fqyString = replace(fqyString, "<", "<")

  fqyString = replace(fqyString, "&#", "&")

  fqyString = Replace(fqyString, CHR(32), " ")

  fqyString = Replace(fqyString, CHR(9), " ")

  fqyString = Replace(fqyString, CHR(34), """)

  fqyString = Replace(fqyString, CHR(39), "'")

  fqyString = Replace(fqyString, CHR(13), "")

  fqyString = Replace(fqyString, CHR(10) & CHR(10), "</P><P> ")

  fqyString = Replace(fqyString, CHR(10), "<BR> ")

  CHK = fqyString

  end function

  %>

  ‘以下是应用实例

  <%=CHK(Username)%>

  Username=CHK(replace(request(“username”),”’”,””))

  使用Include把函数写在公有页面上,这样效率是最好的。


XSS跨站脚本攻击原理及防护方法

概念:     XSS(Cross Site Script)跨站脚本攻击。它指的是恶意攻击者往Web 页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,...
  • lovechuanyu
  • lovechuanyu
  • 2014年10月28日 14:16
  • 4423

跨网站脚本攻击(XSS)的原理与防范对策

摘要:随着计算机网络技术的迅速发展,网络安全问题已变得越来越受到人们的重视,网络攻击形式多种多样,很多蠕虫病毒、木马病毒等植入到某些网页中,给网络用户带来了很大的安全隐患。其中XSS跨网站脚本攻击,恶...
  • bytxl
  • bytxl
  • 2014年11月12日 11:42
  • 1465

WEB网站常见的受攻击方式及预防手段

一.跨站脚本攻击(XSS)     跨站脚本攻击(XSS,Cross-site scripting)是最常见和基本的攻击WEB网站的方法。攻击者在网页上发布包含攻击性代码的数据。当浏览者看到此网...
  • minihoop
  • minihoop
  • 2016年04月18日 20:40
  • 1293

Web攻防系列教程之跨站脚本攻击和防范技巧详解

XSS跨站脚本攻击一直都被认为是客户端Web安全中最主流的攻击方式。因为Web环境的复杂性以及XSS跨站脚本攻击的多变性,使得该类型攻击很难彻底解决。那么,XSS跨站脚本攻击具体攻击行为是什么,又该如...
  • wxz295682941
  • wxz295682941
  • 2017年03月17日 09:03
  • 361

SQL注入攻击的原理与防范

7      然后点击工具栏中的开始按钮开始自动检测 SQL 注入漏洞情况。从检测结果中可以看到, 该网站的 SQL 注入类型为“ Integer (字符型) ” ,后台数据库类型为...
  • langjian2012
  • langjian2012
  • 2014年10月19日 11:05
  • 990

什么叫做SQL注入式攻击,如何防范?

所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串中,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为...
  • hellochenlu
  • hellochenlu
  • 2016年08月13日 17:04
  • 929

浅析XSS和CSRF攻击及防御

XSS攻击CSRF攻击XSS和CSRF的关系XSS防御CSRF防御总结以上介绍的攻击和防御方法都是一些基本的情况,所介绍的防御机制并不能保证绝对安全,但是应该可以防御一般的攻击情况了,我们做了这些处理...
  • koastal
  • koastal
  • 2016年10月23日 22:41
  • 1614

《破坏之王——DDoS攻击与防范深度剖析》

《破坏之王——DDoS攻击与防范深度剖析》 网际空间的发展带来了机遇,也带来了威胁,DDoS是其中最具破坏力的攻击之一。本书从不同角度对DDoS进行了介绍,目的是从被攻击者的角度解答一些基本...
  • chengying332
  • chengying332
  • 2015年05月18日 17:13
  • 325

防范缓冲区溢出攻击的方法--备份返回地址

1 引言 缓冲区溢出是C/C++语言种常见的一种攻击手段,主要是利用了C/C++语言中缺少对数组边界的检查机制。典型的一段代码如下所示: #define N       256 #define n ...
  • u012033027
  • u012033027
  • 2014年01月12日 11:19
  • 1236

木马攻击与防范

BO2K下载: http://sourceforge.jp/projects/sfnet_bo2k/releases/ http://sourceforge.net/projects/bo2k/?so...
  • han_jiang_xue
  • han_jiang_xue
  • 2014年03月18日 19:23
  • 948
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网页脚本攻击防范全攻略(一)
举报原因:
原因补充:

(最多只允许输入30个字)