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. 如何将水晶报表(Crystal Report)导入葡萄城报表

    当从旧的报表平台迁移到葡萄城报表工具时,意味着有大量的报表设计工作要重复去做,如果有一款工具能够在这些工具之间进行自由转换,就能省去报表开发几乎一半的工作量. 葡萄城报表为兼容其他报表控件,提供了简单 ...

  2. 网络基础 利用vnc viewer访问在vmware虚拟机上的linux

    利用vnc viewer访问在vmware虚拟机上的linux by:授客 QQ:1033553122 Linux服务器为架设在VMware之上的虚拟机,那么可以直接使用VMware自带的vnc,而不 ...

  3. WOSA/XFS PTR Form解析库—测试工具预览

  4. innodb compressed 表碰到的问题,BUG么?

    innodb compressed 表碰到的问题 (摘自 http://papaisadba.puyu.me/?p=239) compressed innodb 表是MySQL 5.5开始提供的功能, ...

  5. Gradle 'MYasprj' project refresh failed Error:CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容

    Gradle ‘MYasprj’ project refresh failed Error:CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容.请 ...

  6. logger.error完整打印错误堆栈信息

    所以我们的写法可以是: Logger.error("xxx出错" , e); //第二个参数是e 而不是: Logger.error("xxx出错:" + e) ...

  7. MySQL 支持utf8mb4

    utf8mb4 utf8mb3 utf8 Refer to The utf8mb4 Character Set The utf8 Character Set (Alias for utf8mb3) M ...

  8. Interpreting /proc/meminfo and free output for Red Hat Enterprise Linux 5, 6 and 7

    Interpreting /proc/meminfo and free output for Red Hat Enterprise Linux 5, 6 and 7 Solution Verified ...

  9. IBM ServerGuide引导盘全系列下载网址

    IBM ServerGuide引导盘全系列下载网址 官网链接 https://www.ibm.com/support/home/docdisplay?lndocid=SERV-GUIDE v9.30 ...

  10. SQL 性能不佳的几个原因

    •不准确的统计数据•差劲的索引•差劲的查询设计 •差劲的执行计划,通常是由不正确的参数引起的•过度阻塞和死锁 •非基于集合的操作•不良数据库设计 •过度碎片 •不能重复使用执行计划 •查询频繁重编译 ...