• 如何利用$_SERVER["PHP_SELF"]变量植入script代码?


    假如我们是黑客,可以诱骗用户访问如下链接,

    相当于用户会在浏览器地址栏中输入以下地址:

    http://www.xxx.com/test_form.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E
    这里文件名后的字符是URL encode characters,其等效于
    <form method="post" action="test_form.php/"><script>alert('hacked')</script>

    在这个页面中我们设置一个表单,表单的设置如下:
    <form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">

    当用户提交表单后(表单也可以为空,这样直接执行了),数据交给action指定的文件也就是当前的页面文件,并执行了后面的Javascript脚本代码(由browser自动执行)
    <form method="post" action="test_form.php/"><script>alert('hacked')</script>

    后面的脚本任何JavaScript代码可以添加在<script>标签中! 黑客可以利用这点重定向页面到另外一台服务器的页面上,页面 代码文件中可以保护恶意代码,代码可以修改全局变量或者获取用户的表单数据。
    例如,可用如下脚本重定向页面<script>location.href('http://www.xxx.com')</script>



    实际动手如下:我们编号含有以上要求的表单文件在index.php中,本地访问(已经搭好了apache服务器)
    http://localhost/phptest/index.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E

    在Edge中效果:

    然后显示:

    在chrome中效果

     
     
  • 相关阅读:
    003.Heartbeat MySQL双主复制
    001.常见监控简介
    微服务探索与实践—服务注册与发现
    设计模式之建造者模式
    .NET Core 3.0之深入源码理解Startup的注册及运行
    【译】.NET Core 3.0 Preview 3中关于ASP.NET Core的更新内容
    C#并发编程之异步编程(三)
    设计模式之中介者模式
    设计模式之单例模式
    设计模式之装饰器模式
  • 原文地址:https://www.cnblogs.com/loanhicks/p/7447735.html
Copyright © 2020-2023  润新知