zoukankan      html  css  js  c++  java
  • 代码审计学习之反射型XSS

    0x01 基础介绍

    xss漏洞分类:一般来说分三种

    反射型XSS

    保存型XSS

    基于DOM的XSS

    今天先学习反射型xss:它通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行。它的特点是非持久化,必须用户点击带有特定参数的链接才能引起。

    0x02 造成原因及利用

    一般来说,许多漏洞造成的原因都是因为对用户的输入太信任造成的,没有进行严谨的过滤,通常在代码审计的过程中,审计获取用户输入的函数或者操作如存储等等

    一、对变量直接输出

    例如:

    <?php
    echo$_GET['xss'];
    ?>

    二:$_SERVER变量参数
    $_SERVER['PHP_SELF']

    测试代码:

    <?php
    echo $_SERVER['PHP_SELF'];
    ?>

    弹窗:

    $_SERVER['HTTP_USER_AGENT']

    此函数作用是获取浏览器信息

    <?php
    echo $_SERVER['HTTP_USER_AGENT'];
    ?>

    运行结果:

    Mozilla/5.0 (Windows NT 10.0; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0

    可通过火狐插件Modify headers 修改User-Agent:的内容就行了

    $_SERVER['HTTP_REFERER']

    这一个跟上一个差不多更改Referer就可以了

    $_SERVER['REQUEST_URI']

    此函数是获取url的内容的,而且会对特殊字符进行编码,此时必须用到php中的urldecode才能达到反射型xss的效果。

    有了urldecode()后:

    <?php
    echo urldecode($_SERVER['REQUEST_URI']);
    ?>

    0x03 总结

    知识学的不全,都是一些比较基础的东西,知道原理之后,后面会慢慢深入!

  • 相关阅读:
    matlab做聚类分析
    《帝王三部曲》——二月河
    Sublime Text3--安装使用教程资料整理
    CentOS7没有ftp命令的解决方法
    CentOS7没有telnet命令的解决方法
    程序员如何学习英语
    程序员指法训练
    C/C++语言的学习策略
    零基础、非计算机相关专业的如何转型程序员
    IT培训机构那些不得不说的事儿
  • 原文地址:https://www.cnblogs.com/kanghongsec/p/5201801.html
Copyright © 2011-2022 走看看