20155328 《网络对抗》 实验九 Web安全

基础

实验过程记录

在实验开始之前先把webgoat的jar包放到home目录下。打开终端,用命令java -jar webgoat-container-7.0.1-war-exec.jar开启WebGoat.

输入默认的用户名和密码,登陆webgoat。

XSS攻击

1.Pinishing with XSS跨站脚本钓鱼攻击

在webgoat中打开Pishing with XSS,将写好的前端代码粘贴到输入框中,点击search:

在登陆框输入用户名和密码,登陆后跳出来的框中就显示出来了:

2.Stored XSS Attacks存储型XSS攻击

在WebGoat中打开Stored XSS Attacks,Message框中输入<script>alert("I am zhangyuqing");</script>,点击submit提交:

3.Reflected XSS Attacks反射型XSS攻击

打开XSS第三个攻击,在code框中输入<script>alert("I am groot20155328");</script>,点击purchase出现对话框:

CSRF攻击

4.Cross Site Request Forgery(CSRF)

查看网页右边Parameters中的src和menu值,在title框中输入学号,message框中输入代码<img src='attack?Screen=src值&menu=menu值&transferFunds=转账数额' width='1' height='1'>,提交后

生成链接20155328:

点开链接,可以看到用户操作信息:

5.CSRF Prompt By-Pass

在title框中输入学号,message框中输入代码:

<iframe src="attack?Screen=src值&menu=menu值&transferFunds=转账数额"> </iframe>
<iframe src="attack?Screen=src值&menu=menu值&transferFunds=CONFIRM"> </iframe>

提交后点开生成的名为20155328的链接:

SQL注入攻击

6.命令注入(Command Injection)

调试网页源代码需要用到Firebug,我的浏览器没有,所以就去工具栏的Add-on中下载:

下载并安装好以后,工具栏多出一个小虫子图标,点开就可以开始用firebug进行网页源代码调试啦:

点开虫子图标,在view那一行的复选框中代码后添加"& netstat -an & ipconfig"

点击view按钮,就可以看见刚才输入的命令执行结果了:

7.Log Spoofing日志欺骗

在username中输入5328%0d%0aLogin Succeeded for username: admin,点击Login:

8.String SQL Injection字符串型注入

选择String SQL Injection,输入查询的用户名Zhang' or 1=1--(Zhang之后的引号与之前的引号形成闭合,而1=1是永真式,--之后的内容被注释掉了,即可查询表中所有数据):

9.LAB:SQL Injection

在密码框中输入' or 1=1 --,登陆失败;使用Firebug查看网页源码,发现密码有长度限制,就将maxlength改为100,再次尝试;成功:

10.Database Backdoors

输入实例101尝试,获得了用户号为101的用户信息:

输入语句101; update employee set salary=99999,将用户工资变为99999:

输入语句101 or 1=1;CREATE TRIGGER myBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email='20155328@hackme.com' WHERE userid = NEW.userid,则表中一旦添加新用户,该用户的邮箱即为我设置的邮箱。

实验后问题回答

  • SQL注入攻击原理是啥?如何防御?

原理是将SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。防御方法就是尽量替换单引号,并删除用户输入内容中的所有连字符。

  • XSS攻击原理是啥?如何防范?

原理是往Web网页中插入恶意HTML代码,当用户浏览该页时,恶意代码就会被执行。防范方法:在表单提交或者url参数传递前,对需要的参数进行过滤。

  • CSRF攻击原理是啥?如何防范?

钓鱼,让用户在不知情的情况下攻击自己登陆的一个系统。防御:尽量不要在页面的链接中暴露用户隐私信息;避免全站通用的cookie,严格设置cookie的域。

实践总结与体会

哇,最后一次实验敲到这里也就要说拜拜了。9次实验里面感觉学了很多很厉害的东西(虽然对于专业人士而言只是一点皮毛),但也感觉超绝快乐!!学而不思则罔,希望自己接下来的学习路也能一边思考一边学吧。ヾ(◍°∇°◍)ノ゙加油!

20155328 《网络对抗》 实验九 Web安全的更多相关文章

  1. 2017-2018-2 20155225《网络对抗技术》实验九 Web安全基础

    2017-2018-2 20155225<网络对抗技术>实验九 Web安全基础 WebGoat 1.String SQL Injection 题目是想办法得到数据库所有人的信用卡号,用Sm ...

  2. 20155313 杨瀚 《网络对抗技术》实验九 Web安全基础

    20155313 杨瀚 <网络对抗技术>实验九 Web安全基础 一.实验目的 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.基础问题回答 1.SQL注入攻 ...

  3. 20155201 网络攻防技术 实验九 Web安全基础

    20155201 网络攻防技术 实验九 Web安全基础 一.实践内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.报告内容: 1. 基础问题回答 1)SQL注入攻击 ...

  4. 20155235 《网络攻防》 实验九 Web安全基础

    20155235 <网络攻防> 实验九 Web安全基础 实验内容 SQL注入攻击 XSS攻击 CSRF攻击 WebGoat WebGoat是OWASP组织研制出的用于进行web漏洞实验的应 ...

  5. 20145233《网络对抗》Exp9 Web安全基础实践

    20145233<网络对抗>Exp9 Web安全基础实践 实验问题思考 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符 ...

  6. 20145209刘一阳《网络对抗》Exp9 Web安全基础实践

    20145209刘一阳<网络对抗>Exp9 Web安全基础实践 基础问题回答 1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求 ...

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

    20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...

  8. 20155324王鸣宇 《网络对抗技术》Web基础

    20155324王鸣宇 <网络对抗技术>Web基础 实践要求 ①Web前端HTML: 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HT ...

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

    20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...

随机推荐

  1. JMeter4.0的界面汉化

    1.安装好之后 2.界面汉化 options->choose language->chinese(simplified) 3.汉化完成

  2. 【转】python version 2.7 required,which was not found in the registry

    源地址:http://www.cnblogs.com/thinksasa/archive/2013/08/26/3283695.html 方法:新建一个register.py 文件,把一下代码贴进去, ...

  3. WebAPI返回时间数据不带T

    最近一段时间项目里面使用WebAPI比较多,但是在返回时间数据的时候回默认带上T,就像这样子 "2016-04-21T13:26:17.4701811+08:00", 这样的数据在 ...

  4. SerialPort类的用法与示例

    转:https://www.cnblogs.com/hwBeta/p/6926363.html Microsoft .Net框架SerialPort类的用法与示例 从Microsoft .Net 2. ...

  5. Sql2008R2的一个补丁BUG-大家使用时请注意

    我们都知道Sqlserver为了提高并发,允许乐观隔离级别(读提交快照,快照)以便读与写之间不阻塞.这里有一个在Sqlserver2008R2 SP2 的热补丁(CU11)下RCSI(读提交快照)隔离 ...

  6. 使用托管快照创建作为 Azure 托管磁盘存储的 VHD 的副本

    创建快照 创建 OS 或数据磁盘 VHD 的快照,以便将其用作备份或用于排查 VM 问题. 快照是 VHD 的完整只读副本. 使用 Azure 门户创建快照 登录到 Azure 门户. 首先在左上角单 ...

  7. SQL Server 如何设置数据库的默认初始大小和自动增长大小

    我们在SQL Server中新建数据库的时候,可以选择数据库文件及日志文件的初始大小.自动增长大小和最大大小,如下图所示: 可以通过设置更改数据库初始大小.自动增长大小和最大大小: 但是其实在SQL ...

  8. Angular 服务的简单使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. mysql INSERT的几个语法 IGNORE|REPLACE|LOW_PRIORITY | DELAYED

    INSERT IGNORE 与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据.这样就可以保留 ...

  10. 高斯求积公式 matlab

    1. 分别用三点和四点Gauss-Chebyshev公式计算积分 并与准确积分值2arctan4比较误差.若用同样的三点和四点Gauss-Legendre公式计算,也给出误差比较结果. 2*atan( ...