• HTTP攻击与防范-PHP客户端脚本攻击


    实验目的

    了解客户端脚本植入攻击的方式

    掌握防范攻击的方法

    实验原理

    了解客户端脚本植入攻击的方式

    掌握防范攻击的方法

    实验内容

    了解客户端脚本植入攻击的方式

    掌握防范攻击的方法

    实验环境描述

    1、 学生机与实验室网络直连;

    2、 VPC1与实验室网络直连;

    3、学生机与VPC1物理链路连通;

    实验步骤

    1.打开虚拟机,输入用户名和密码,用户为admin 密码为 123456

    图片描述

    2.学生进入目标主机,(第一次启动目标主机,还需要打开xampp,手动开启Apache与MySQL服务)

    图片描述

    3.打开浏览器,输入localhost:8080/example_code/ 如图:

    图片描述

    4、点击(3)客户端脚本攻击(script Insertion)。如图:

    图片描述

    5、然后点击演示1,如图:

    图片描述

    6、在正常的情况下来访者在图3-2的“标题”文本框中输入留言的标题,在“姓名”文本框中输入留言者的姓名,在“电子邮件”文本框中输入留言者的电子邮件信箱,在“问题”文本框中输入留言者的问题。 假如在“问题”文本框中输入:

    <h1>我来也</h1>
    

    如图:

    图片描述

    7、然后点击提交,如图:

    图片描述

    8、开始攻击: 点击攻击1,显示简单的对话框 假如在ex3-1.php网页的“问题”文本框中输入:

    <script>alert("吓一跳!");</script>
    

    如图

    图片描述

    9、单击【提交】按钮后,会发生什么情况?如图:

    图片描述

    之所以会这样,是因为您在留言板的“问题”文本框中输入了上述的一串代码 ,而浏览器遇到script 标签时,就会执行客户端的程序代码(在这里JavaScript).所以单击留言板的【提交】按钮后,就会显示一个对话框。

    10、如果点击【提交】按钮后想显示上图所示的对话框,那么请检查下列的两个选项。 (1)检查Intemet Explorer的活动脚本功能是否启动。如果活动脚本功能没有打开,就无法执行网页中的JavaScript代码。     打开打开Internet Explorer的活动脚本功能 在Internet Explorer中选择【工具】一【Inertnet选项】命令,这时会弹出“Inertnet选项”对话框,如图所示:

    图片描述

    11、在“Internet选项”对话框中切换到“安全”选项卡,然后单击下方的【自定义级别】按钮,如图

    图片描述

    12、“安全设置”对话框中,找到“脚本”项中的“Java小程序脚本”选项。确认“Java小程序脚本”的“启用”项目,这样Internet Explorer才会执行网页中的JavaScript代码。

    图片描述

    13、如果点击【确认】按钮后想显示上图所示的对话框,还需要修改另一个参数。

    (2)检查PHP的php.ini文件中,magic_quotes_gpc的当前值是否是Off.如果magic_quotes_gpc的当前值是On,那么alert("吓一跳吧!")中的双引号“"”就会被改成转义字符“\"”,而让这个JavaScript代码无法执行。 所以我们需要将magic_qutes_gpc的值改为off 打开php.ini文件,这个文件位置在C:\Windows文件夹内。在php.ini中找到magic_quotes_gpc选项,如图3-7所示。将magic_quotes_gpc的值设置成Off。如图:

    图片描述

    14、修改php.ini文件后,要重新启动Apache服务器。

    点击桌面上的XAMPP Control Panel,然后点击Apache上的stop再start如图:

    图片描述

    15、点击防护一,使用trip_tags函数来进行HTML输出过滤如图:

    图片描述

    16、点击确认,就不会出现“吓一跳吧!”的对话框了。如图

    图片描述

    17、利用数据库来来攻击,前面所讲的是咋留言板的“问题”文本框中输入:

    <script>alert("吓一跳吧!");</script>
    

    ,点击确认后就会出现一个对话框 但是这只是客户端的黑客行为,只是在自己的浏览器内输入带有攻击效果的JavaScript代码,然后显示在自己的浏览器上而已。对网站而言,根本不会发生什么破坏性的结果。如果说有破坏的话,也只是黑客自己破坏自己的网页而已。 但是要记住,大部分PHP网站所设计的留言板的内容都会保存到MySQL数据库中。也就是说,黑客所录入的具有攻击性的JavaScript代码会被保存到网站的MySQL数据库中。 这样情况就严重了,因为当有权限浏览留言的人打开了具有攻击性的JavaScript代码的留言页面时,就会立即弹出一个对话框。

    18、将具有攻击效果的JavaScript代码填入留言板的文本框中。点击攻击2如图:

    图片描述

    19、单击表单的【提交】按钮,Web应用程序将录入的这段JavaScript代码插入数据库中。立即弹出一个对话框,让浏览留言页的用户觉得莫名其妙

    图片描述

    20、点击查看2:已经新增了55,则说明实验成功。如图:

    图片描述

    21、点击防护2,使用trip_tags函数来进行HTML输出过滤。如图:

    图片描述

    22、单击确认,就不会出现对话框。如图: 图片描述

    这种攻击形式只是小小的恶作剧罢了,因为在网页中弹出一个对话框并不会造成什么破坏。但是试想,如果攻击性的JavaScript代码会破坏网页,例如莫名其妙地弹出许多新窗口,怎么关也关不完。那么这个网站的服务器也就快宕机了

    22、破坏性的攻击手法:显示无穷尽的新窗口 单击演示3,并输入

    
    <script>while(l) (window.open()); </script>
    

    如图:

    图片描述

    23、单击确认,如图:

    图片描述

    24、点击攻击3,如图:

    图片描述

    25、 点击提交后,

    while(l) 会让程序进入无穷循环,而: window.open(); 则会打开一个新的浏览器窗口。如图:

    图片描述

    图片描述

    图片描述

    图片描述

    26、 点击防护3,

    使用strip_tags函数进行HTML输出过滤。如图:

    图片描述

    图片描述

    27、引诱性的攻击手法:跳转网址

    点击演示4,并在“问题”文本框中输入下列 如图:

    图片描述

    28、单击确认,如图:

    图片描述

     29、 单击攻击4,并输入如图代码:

    图片描述

    30、 点击提交,页面正在跳转,如图;(若跳出如下所示的框,只要点击“添加”即添加该网址为信任网址。添加完成后,点击关闭即可。)

    图片描述

    注意:若你本虚拟机不能上网则显示如下图所示的页面,此页面也成功跳转成功。

    图片描述

    31、点击查看新加的数据,已经看见我们刚刚添加的hh002,说明已经添加成功,如图:

    图片描述

    32、点击防护4,使用htmlspecialchars函数进行HTML输出过滤。如图:

    图片描述

    33、单击确定,页面则不会跳转,说明防护成功。如图:

    图片描述

    34、实验完毕,关闭虚拟机和所有窗口。

  • 相关阅读:
    大道至简读后感(第二章)
    大道至简读后感
    将课程中的所有动手动脑的问题以及课后实验性的问题,整理成一篇文档
    python之基础
    python之面向对象
    python之网络编程
    python之函数
    Managing SharePoint 2010 Farm Solutions with Windows PowerShell
    Oracle RMAN vs. Export?
    转帖在oracle中自动大批量生成测试数据
  • 原文地址:https://www.cnblogs.com/lzkalislw/p/13674021.html
Copyright © 2020-2023  润新知