zoukankan      html  css  js  c++  java
  • HTTP攻击与防范-跨站攻击-01简介

    实验目的

    1、掌握WEB渗透测试跨站攻击原理

    2、了解WEB站点的跨站攻击脆弱性

    3、修复存在跨站攻击可能的漏洞

    实验原理

    XSS又叫CSS (Cross Site script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意脚本代码, 当用户浏览该页之时,嵌入其中Web里面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的。

    实验内容

    1、掌握跨站攻击的基本原理

    2、了解WEB站点的脆弱性-XSS

    3、通过掌握的只是能够修复XSS的漏洞

    实验环境描述

    实验环境 VPC1(虚拟PC) 操作系统类型:windows,网络接口:本地连接 VPC1 连接要求 PC 网络接口,本地连接与实验网络直连 软件描述 1、学生机要求安装java环境 2、vpc安装windows 实验环境描述 1、学生机与实验室网络直连; 2、VPC1与实验室网络直连; 3、学生机与VPC1物理链路连通;

    实验步骤

    1.学生进入系统后打开虚拟机,输入用户名和密码,用户为admin密码为 123456 图片描述

    2.进入系统后,首先打开xampp工具,手动开启apache与MySQL服务器

    图片描述

    3.开IE浏览器,输入http://localhsot:8080/xss/ ,即可登录如图所示页面:

    图片描述

    4.我们使用的跨站脚本演示环境如下:

    图片描述

    5.查看跨站脚本演示目录的结构,点击开始->运行->输入cmd,打开命令提示符

    图片描述

    6.进入dos窗口,输入:cd c:\xampp\htdocs\xss

    图片描述

    7.查看代码文档结构树,输入命令如下:tree /f

    图片描述

    8.查看文档info.php代码,输入命令如下:type info.php

    图片描述

    9.查看文档index.php代码,输入命令如下:type index.php

    图片描述

    10.切换到IE浏览器窗口

    图片描述

    11.演示反射型跨站脚本攻击漏洞: 正常情况下,用户会在URL中提交参数name的值为自己的姓名,然后该数据内容会通过以上代码在页面中展示,如用户提交姓名为“张三”,完整的URL地址如下: www.sql.com:8080/xss/info.php?name=张三 点击”反射型XSS跨站脚本攻击漏洞”,在浏览器中访问时,会显示如下图1所示内容:

    图片描述

    12、此时,因为用户输入的数据信息为正常数据信息,经过脚本处理以后页面反馈的源码内容为。

    <p>欢迎您, 张三!</p>
    

    但是如果用户提交的数据中包含有可能被浏览器执行的代码的话,会是一种什么情况呢? 我们继续提交name的值为

    '<script>alert我的名字是张三</script>'
    

    即完整的URL地址为

    /www.sql.com:8080/xss/info.php?name=<script>alert我的名字是张三</script>
    

    我们点击后退按钮,进入xss跨站攻击演示环境

    图片描述

    13.我们点击“反射型XSS跨站脚本攻击”链接,在浏览器中访问时,我们发现会有弹窗提示,如下图所示:

    图片描述

    14、那么此时页面的源码又是什么情况呢? 源码变成了

    “<p>欢迎您, <script>alert我的名字是张三</script>!</p>”
    

    从源代码中我们发现,用户输入的数据中,

    script与/script标签中的代码被浏览器执行了,而这并不是网页脚本程序想要的结果。 这个例子正是最简单的一种XSS跨站脚本攻击的形式,称之为反射型XSS。

    15、在对一个网站进行安全检测的时候,检测者并不知道被检测的网站使用的是什么数据库及网页程序语言,需要对其进行一些手动探测。

    点击刚才弹出的窗口“确定”按钮。

    图片描述

    16.点击后退按钮,进入xss跨站攻击演示环境

    图片描述

    17.切换到dos窗口,我们查看一下“基于DOM的XSS跨站脚本攻击”的演示环境代码

    图片描述

    18.输入命令,type DOM_Based_XSS_Demo.php

    图片描述

    19.切换到IE浏览器窗口

    图片描述

    20.我们点击“基于DOM的XSS跨站脚本攻击”链接

    图片描述

    21.以上代码的作用是提交一个图片的URL地址以后,程序会将图片在页面中进行展示,如我们提交http://127.0.0.1:8080/dvwa/的LOGO图片的地址: http://127.0.0.1:8080/dvwa/dvwa/images/login_logo.png,那么在页面中展示结果如下图所示。

    图片描述

    22.当用户输入完http://127.0.0.1:8080/dvwa的LOGO的地址,点击“提交”按钮后,“提交”按钮的onclick事件会调用xsstest()函数。

    而xsstest()函数会获取用户提交的地址,通过innerHTML将页面的DOM节点进行修改,把用户提交的数据以HTML代码的形式写入页面中并进行展示。

    以上例子中输出的HTML代码为

    "<img src="http://127.0.0.1:8080/dvwa/dvwa/images/login_logo.png"></img>"
    

    图片描述

    23.以上情况为正常的用户输入情况,那黑客又是怎么利用该种类型代码实现XSS跨站脚本攻击的呢?

    黑客可以通过构造如下数据,输入: #' onerror=' javascript:alert(/DOM Based XSS Test/),

    在浏览器中提交后,发现代码果然被执行,出现了弹窗提示,如下图所示。

    图片描述

    24、实验完毕,关闭虚拟机和所有窗口。

  • 相关阅读:
    [Java] xms xmx XX:PermSize XX:MaxPermSize 参数意义解析
    [Java][Weblogic] weblogic.net.http.SOAPHttpsURLConnection incompatible with javax.net.ssl.HttpsURLConnection解决办法
    [Eclipse] Eclipse字体问题解决
    [Outlook] 重新取得outlook中被禁止访问的文件
    [WebService] the namespace on the "definitions" element, is not a valid SOAP version
    [Outlook] outlook如何实现自动CC和BCC邮件发送
    [架构] 分布式和集群的区别
    [Eclipse] eclipse中打开xml文件,使用ctrl+鼠标左键无法跳转至Java源文件【待解决】
    [Linux] 解压tar.gz文件,解压部分文件
    从尾到头打印链表(C++和Python 实现)
  • 原文地址:https://www.cnblogs.com/lzkalislw/p/13674191.html
Copyright © 2011-2022 走看看