zoukankan      html  css  js  c++  java
  • XSS跨站脚本攻击详解

    介绍

    跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

    分类

    反射型XSS、存储型XSS、DOM型XSS

    反射型XSS

    原理

    利用方式

    获取cookie值

    1、制作一个JS脚本文件,将获取的cookie发送到vps的88端口中

    2、向服务器提交JS脚本payload

     3、监听88端口,收到cookie

    登录按钮(超链接)

    伪造一个登录按钮,点击之后,会进行弹窗

    图片

    会去查找a.jpg这个图片,如果没有,就会报错onerror,进行弹窗

    事件

    ommouseenter事件,鼠标移动到特定位置出发

    onclick 鼠标单击
    onchange 内容发生改变
    onerror 图片等未找到时
    onload 页面加载
    onmouseover 鼠标悬停
    onmouseout 鼠标移出
    onmousemove 鼠标路过


    XSS重定向

    原理

    利用方式

    1、向服务器提交js脚本

    2、用户点击页面之后,会重定向到百度页面

    危害

    钓鱼攻击、DDOS攻击

    比如,在某宝网站利用XSS攻击重定向到某小公司的网站上,在双十一晚上,所有访问某宝的用户都会被重定向到某小公司网站上,某小公司服务器无法在短时间内处理大量的请求,会造成拒绝服务,导致小公司服务器瘫痪。

    存储型XSS

    原理

    相比较反射型XSS,存储型XSS危害更高,将脚本保存到服务器中,如果管理员没有发现则会一直存在。同时也不需要将页面发送给用户。

    利用方式

    1、将JS脚本上传至服务器中

    2、更换浏览器访问页面,在监听端口得到用户的cookie值

    DOM型XSS

    原理

    利用JS代码修改页面元素,以修改的方式进行XSS攻击。DOM型XSS既属于反射型又属于存储型,取决于输出点的不同。会在客户端产生问题。

    利用方式

    1、随便输入字符,在页面源码中发现输入的内容写入到了<a>标签中,作为超链接使用。

    2、将弹窗脚本写入,发现有点乱,而且没有达到效果。

    分析一下变化,发现 '/' 没有了,少了一个单引号,超链接部分十分混乱

     3、尝试闭合标签,使用单引号闭合掉超链接部分

    4、进行弹窗

    XSS绕过方式

    1、大小写

    2、复写

    3、转码

    4、分步组合

    XSS防御方式

    可以看到不管使用哪一种攻击方式,或者哪一种标签,每个标签都有两个尖括号'<>',我们可以直接过滤尖括号进行防御。

    1、白名单限制

    2、htmlspecialchars:可以把输入内容转换为HTML实体。

    //该函数的语法:htmlspecialchars(string,flags,character-set,double_encode)
    & (和号)成为 &amp
    " (双引号)成为 &quot
    ’ (单引号)成为&#039
    < (小于)成为 &lt
    >(大于)成为 &gt

  • 相关阅读:
    Google TensorFlow 机器学习框架介绍和使用
    Linux下chkconfig命令详解转载
    wireshark----linux
    linux 开机自启转载
    linux 开机自启
    linux 开机自启脚本
    当进行make命令学习是出现error trying to exec 'cc1': execvp: No such file or directory
    centos6.4安装GCC
    安装cmake
    整型数转字符串
  • 原文地址:https://www.cnblogs.com/wszgg/p/14184723.html
Copyright © 2011-2022 走看看