2018-2019-2 20162329 《网络对抗技术》Exp9: Web安全基础

目录

  • Exp9: Web安全基础
    • 一、基础知识
      • 1.SQL注入攻击
      • 2.XSS跨站脚本攻击
      • 3.CSRF跨站请求伪造
    • 二、SQL注入
      • 1. 命令注入
      • 2. 数字注入
      • 3. 日志欺骗
    • 三、XSS攻击
      • 1. XSS钓鱼攻击
    • 四、CSRF攻击
      • 1. 跨站请求伪造
    • 五、实验总结与体会

Exp9: Web安全基础

一、基础知识

1.SQL注入攻击

  • 基本原理:
    • 就是不法分子利用编程漏洞,通过表单输入特殊字符和恶意SQL代码,使得后台执行SQL查询时,对数据库产生不可预知或不可逆的攻击或破坏。
  • 防御方法:
    • 避免不必要的表单提交页面。
    • 对表单输入进行控制,如:限制字符类型,限制字符长度等
    • 在数据库层利用授权机制,限制数据库操作行为。

2.XSS跨站脚本攻击

  • 基本原理:
    • 攻击者利用网站漏洞,将恶意脚本代码通过注入,或者其他方式发送或存储到服务器中,通过利用用户对于浏览器的信任,当正常用户访问该服务器时就会受到脚本攻击,例如获得该用户的cookie或其他信息等。
  • 防御方法:
    • 用户尽量不要保存自己在浏览器中输入的用户名和密码
    • 网站开发人员应该对用户上传的数据进行一定的过滤
    • 对输入表单进行控制

3.CSRF跨站请求伪造

  • 基本原理:
    • 当用户访问网站A时输入用户名和密码,在通过验证后,网站A产生Cookie信息并返回,此时登录网站A成功,可正常发送请求到网站A。在未退出网站A前,若访问另一个恶意网站B,网站B可返回一些攻击性代码并请求访问网站A;因此在网站B的请求下,向网站A发出请求。但网站A不知道该请求恶意的,因此还是会执行该恶意代码。
  • 防御方法:
    • 验证请求中的Token
    • 验证Referer
    • 添加随机验证
    • 设定cookie域

二、SQL注入

1. 命令注入

  • 攻击过程:在表单提交中传入恶意命令数据,使其在服务器端执行。
  • 实验过程:
    • 在页面中点击鼠标右键,选择inspect Element
    • 按键盘f12查看网页源代码
      2018-2019-2 20162329 《网络对抗技术》Exp9: Web安全基础_第1张图片
    • 点击view按钮,执行代码结果如下:
      2018-2019-2 20162329 《网络对抗技术》Exp9: Web安全基础_第2张图片

2. 数字注入

  • 攻击过程:在表单输入中输入数字生成永真式,使得注入的SQL语句必定可以执行。
  • 实验过程:
    • 在实验网页上查看源代码,对value='101'进行修改,添加or 1=1构成永真式,如图:
      2018-2019-2 20162329 《网络对抗技术》Exp9: Web安全基础_第3张图片
    • 点击按钮执行,结果如下:
      2018-2019-2 20162329 《网络对抗技术》Exp9: Web安全基础_第4张图片

3. 日志欺骗

  • 攻击过程:不法分子通过在注入脚本,通过脚本修改日志文件。
  • 实验过程:
    • 在实验环境提供的表单中输入2329%0d%0aLogin Succeeded for username: 162329其中%0d%0a为回车符和换行符。
    • 结果如下图:
      2018-2019-2 20162329 《网络对抗技术》Exp9: Web安全基础_第5张图片

三、XSS攻击

1. XSS钓鱼攻击

  • 攻击过程:通过表单输入脚本,修改网页HTML,生成钓鱼网站,当用户输入时获取用户输入的信息。
  • 实验过程:
    • 在实验环境表单中输入脚本代码,构造钓鱼界面。
    • 界面代码如下:



    This feature requires account login:



    Enter Username:

    Enter Password:




  • 将以上代码输入搜索框中,点击搜索如图:
    2018-2019-2 20162329 《网络对抗技术》Exp9: Web安全基础_第6张图片
  • 当用户点击提交时攻击者界面会出现如下图:
    2018-2019-2 20162329 《网络对抗技术》Exp9: Web安全基础_第7张图片

四、CSRF攻击

1. 跨站请求伪造

  • 攻击过程:
    • 给用户发送一个恶意URL诱使其他用户点击,从而触发CSRF攻击。为了使用户更容易受骗,我们可以以图片的形式隐藏URL。
  • 实验过程:
    • 查看参数中src和menu值,为261和900
    • 在message框中输入点击提交后结果如下:
      2018-2019-2 20162329 《网络对抗技术》Exp9: Web安全基础_第8张图片
    • 当用户点击Message字段中的图片时就会盗取用户2329元

五、实验总结与体会

通过本次实验真实的感受了什么是SQL注入,XSS攻击和CRSF攻击,在实验中了解了其中的流程,也自己总结了对这些攻击的防御方法,感觉受益匪浅。

转载于:https://www.cnblogs.com/Zhangxusheng/p/10926028.html

你可能感兴趣的:(web安全,数据库)