XSS学习笔记(一) 概念、基本原理、简单实例及危害

概念

        跨站脚本(Cross-Site Scripting,XSS) 发生在目标网站中目标用户的浏览器层面上,当用户浏览器渲染整个HTML文档的过程中出现了不被预期的脚本指令并执行时,XSS就会发生。为防止与层叠样式表(Cascading Style Sheets,CSS)混淆,因此缩写为XSS进行区分。


基本原理

1.攻击者对某含有漏洞的服务器发起XSS攻击(注入JS代码)

2.诱使受害者打开受到攻击的服务器URL(邮件、留言等,此步骤可选项)

3.受害者在Web浏览器中打开URL,恶意脚本执行。


XSS跨站脚本实例

1.简单的html代码

<html>
	<head></head>
	<body>
		<script> alert("XSS")</script>
	</body>
</html>
HTML的script元素标记中间包含JavaScript,当浏览器遇到这一标记时,它不会将其内容处理成HTML或者XHTML,而是把对于其内容的控制权移交给另一个内置的浏览器代理——脚本处理引擎。又,Web浏览器本身的设计是不安全的,它只负责解释和执行JavaScript等脚本语言,而不会判断代码是否有害。

So,类似于SQL注入,当一个HTML页面能够被攻击者插入JS脚本,那么攻击便开始了。

case1.假如JS脚本是恶意警告框

<script> alert("这是恶作剧")</script>
这样也只能算作是恶作剧了。

case2.XSS输入也可能是HTML代码段。

刷新页面:

<meta http-equiv="refresh" content="0;">
嵌入其他网站URL:

<iframe src=http://www.baidu.com width=0 height=0></iframe>

2.攻击实例

正常操作:将a.html的输入的参数传递给b.html并显示

PS:不想用PHP或者其他通过服务器后台的方式传参,因此简单的使用JS脚本实现参数的传递。未用表单。

a.html

<html>
    <head>
        <title>a.html</title>
    </head>
    <body>
        <input type="text" id="input"></value>
        <input type="button" value="go" οnclick="go()"/>
    </body>
    <script>
        function go(){
            var input = document.getElementById("input").value;
            window.location.href ="b.html?input=" + encodeURI(input);
        }
    </script>
</html>
b.html
<html>
    <head>
        <title>b.html</title>
    </head>
    <body οnlοad="onload()">
    </body>
    <script>  
        function onload(){
            var parma = document.URL.split('?')[1];
            var paramValue = parma.split("=")[1];
            document.write("<div>"+decodeURI(paramValue)+"</div>");
        }
    </script>
</html>
case1:正常输入 点击”go“

result:显示输入内容

case2:输入"<script>alert(/XSS/);</script>" 点击”go“

result:JS脚本被执行,弹出对话框

即:假如我们通过构造特殊打的输入信息,使其一部分内容被当做JS脚本执行,XSS攻击便产生了。

XSS漏洞危害

    早期,XSS危害性并不为人所认识,大多就是弹弹对话框、盗取Cookie或者网页挂马。

    通常的做法是,攻击者先通过注入诸如alert("XSS")之类的JS来证明存在XSS,然后利用该XSS巴拉巴拉。。。

    XSS危害特点:不如SQL注入之类直接危害大,但使用灵活。

危害总结:

    1.网络钓鱼,盗取各类用户的账号

    2.窃取用户Cookie,获取用户隐私,或者利用用户身份进一步执行操作

    3.劫持用户(浏览器)会话,从而执行任意操作,例如进行非法转账、强制发表日志等

    4.强制弹出广告页面,刷流量等

    5..进行恶意操作,例如任意篡改页面信息,删除文章等,传播跨站脚本蠕虫,网页挂马等

    6.进行基于大量的客户端攻击,如DDOS攻击

    7.结合其它漏洞,如CSRF漏洞。

    8.进一步渗透网站



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值