Focus on WEB Application and Software Engineering
六月 06
作者:kittow 日期:2006-06-01
BLOG:http://blog.skyhe.com
(本文遵守“创作共用”协议,转载请注明作者和原文地址)

一、各种攻击方式
二、解决方案
三、安全关键点

一、各种攻击方式
(一) XSS/CSS (Cross Site Script) - 跨站脚本攻击
    用户提交的变量没有经过完整过滤Html字符或者根本就没有经过过滤就放到了数据库中,并且在一些地方又直接从数据库中取出来返回给来访问的用户,这就导致了跨站脚本漏洞的产生。因为一个恶意用户提交的Html代码最终被其他浏览该网站的用户访问,通过这些Html代码也就间接控制了浏览者的浏览器,就可以做很多的事情了如窃取敏感信息,引导访问者的浏览器去访问恶意网站等,这样就是导致了跨站脚本漏洞的产生。
    并非任何可利用脚本插入实现攻击的漏洞都被称为xss,还有另一种攻击方式:"script injection",他们的区别在以下两点:
1.(script injection)脚本注入攻击会把我们插入的脚本保存在被修改的远程web页面里,如:sql injection,xpath injection.
2.跨站脚本是临时的,执行后就消失了
    跨站脚本攻击又可以分为以下几种方式:
(1)Normal Input
(2)Cookies
(3)Hidden Field
(4)重放攻击


(二) SQL Injection - SQL注入攻击
    基本上不用多说,很多朋友都注意到的漏洞,简单的举例:
前台URL:xxxx/page?id=1
后台语句:selec * from table1 where id={id}
前台测试注入:xxxx/page?id=1 or 1=1 (如果不报错,就有漏洞)
SQL注入代码:selec * from table1 where id=1 or 1=1 ;delet from...;--
(分号“;”代表一句SQL语句结束,一次可以执行多条语句,“--”注释掉后面的sql代码,保证注入语句可以正常执行)

(三) 规范化问题
由于程序员规范化代码、编程习惯而造成的安全漏洞
例如:把log.txt放在根目录,admin做管理目录,login.asp做登陆页面...

(四) 预知攻击
1、Information Leakage Problem
2、Path Predicted
3、Parameter Predicted

(五) MapPath

(六) Over Run - 溢出攻击


二、解决方案:
页面级安全、代码级安全
永远不要相信用户输入

三、安全的关键点:
技术、人、过程


待续...
本文写作前参考了微软MVP的安全讲座和部分网络资料,表示感谢!


附录:
SQL注入技术和跨站脚本攻击的检测
http://blog.blackwoods.cn/read.php?446
《都是脚本惹得祸——跨站攻击》发表于家用电脑2006年第17期
http://www.pete.cn/article.asp?id=205
跨站脚本攻击的防御
http://www.zjtmd.net/show.php?id=710


当前评分 1.9 , 共有 14 人参与

  • Currently 1.928571/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

添加评论




看不清?点击图片看看
biuquote
Loading



关于我

kittow (天笑)
80年代生于“天府之国”四川
爱好:编程、篮球、数码、旅游
乘一叶兴趣小舟,漂泊于浩瀚IT海洋。。。
TITLE:MSE of UESTC & 软件设计师
Technical Capacity | Last Blog