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. RaPC栅格化多边形裁剪之——进化0.1

    采用整数二维数组进行cell的归属标记,将所有符合条件的cell输出,不进行整体多边形重构,用以统计面积. 上图: INTERSECT: 网格区域为离散化的空间范围,黄色部分为求交结果. differ ...

  2. 存折打印机测量和毫米方式Form配置说明

    一.打印一把尺子(单位:mm) 存折打印机测试程序:D:\Inspur\InspXfs\Bin\InspPassbook\NuDevPassbookTest.exe .) 二.测量存折(横向和纵向) ...

  3. onlyoffice新版5.1.2版解决中文汉字输入重复等问题

    一个星期前新版更新,从5.07到了5.1.2.9.所以我的网盘中的镜像也做了相应的更新. 原来说的几个缺点,已经修改了几个,比如chrome浏览器和opera浏览器中,输入汉字,然后输入符号的时候,会 ...

  4. Pycharm代码补齐功能中的图标的意思

    分清楚图标的意思就能更好的使用对应的方法.类,避免错误使用括号 PS:博主老是给属性方法加上括号   代表方法: 红色的m.f,   代表类变量: 黄色的f     之前遇到个属性方法: 好像是p,无 ...

  5. 【three.js练习程序】随机生成100个方块

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. 关于SQLSERVER走起公众帐号推送视频的通知

    关于SQLSERVER走起公众帐号推送视频的通知 为了SQLSERVER走起这个微博帐号和微信帐号更加多样化,内容更加丰富 也为了发挥微信.微博的媒介传播威力,在以后的微博.微信每日推送中会在适当的时 ...

  7. SqlServer 全文索引指令大全(转载)

    -- 创建测试表 -- DROP TABLE FullTextIndexing CREATE TABLE FullTextIndexing ( ID ,) NOT NULL, Sentence VAR ...

  8. Grafana是一个可视化面板-安装配置介绍

    Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite.zabbix.InfluxDB.Prometheus和Ope ...

  9. CISCO ASA 5505 经典配置案例

    nterface Vlan2 nameif outside  ----------------------------------------对端口命名外端口  security-level 0 -- ...

  10. ShellCode初体验

    写在前面的话: ShellCode是一门艺术,就像围棋手门追求的“神之一手”,今天就来初探一下这让人疯狂的艺术: 零.代码0 相信手写opcode,目前很少有人干了,其实,也确实已经没有这个必要了,毕 ...