20145210姚思羽 《网络对抗技术》 Web安全基础实践

实验后回答问题

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

·SQL攻击的原理很简单,就是在用户名输入框里输入SQL语句,来欺骗数据库服务器进行恶意操作

·防御可以从以下几个方面下手:

(1)在web网页设计的时候禁止用户输入的内容写入后台执行程序

(2)设置过滤条件,将可疑的语句过滤掉

2.XSS攻击的原理,如何防御

·XSS攻击的原理主要是通过输入可执行代码来获取目标网站的cookie,从而实现用其他人的身份登录,并进行攻击

·关于XSS的防御也可以设置过滤语句,对于代码、可执行语句等一律过滤掉

3.CSRF攻击原理,如何防御

·CSRF的攻击原理主要是用其他用户的身份访问网站并利用网站生成的cookie向服务器发送请求

·要想防御CSRF攻击可以通过验证码等对正在登录的用户进行验证,同时不在页面中暴露用户的隐私信息

实验总结与体会

这次实验做起来还是挺有趣的,每一个小实验都有明确的目标,做实验的时候也知道自己在做什么,做了几个之后也是慢慢掌握了一些套路吧越做越顺手,想一想如果这些真的应用到了我们的生活中那简直可怕,以后登录网页还是要谨慎

实践过程记录

WebGoat开启

1.在命令行输入java -jar webgoat-container-7.0.1-war-exec.jar开启WebGoat

2.运行一段时间之后出现Starting ProtocolHandler表示开启成功,此时不要关闭命令行,打开浏览器访问localhost:8080/WebGoat

XSS注入攻击:

Phishing with XSS

1.该实验的目的是读取登录用户的用户名和密码。首先输入编辑的XSS攻击的代码,会显示如下界面:

2.输入用户名和密码进行登录,弹出窗口显示读取到用户名和密码

3.攻击成功!

Stored XSS Attacks

1.这个实验的目的是通过在title中输入代码使用户访问时弹出非预期的内容。在这里我们在title中输入代码

<script>alert("你想在页面中显示的内容");</script>

2.窗口弹出,攻击成功!

Reflected XSS Attacks

1.和上一个实验一样,输入代码

<script>alert("你想在页面中显示的内容");</script>

弹出对话框,攻击成功!

CSRF攻击:

Cross Site Request Forgery (CSRF)

1.这个实验的目的是通过邮件的方式伪造一个转账请求。我们需根据题目里给出的数值参数来输入代码,在文本框中写入

<iframe src="attack?Screen=题中给出的scr&menu=题中给出的menu&transferFunds=转账金额"></iframe>

转账成功

题目中具体的参数可以参照右边的参数栏

CSRF Prompt By-Pass

1.和上一个实验类似,但是这个实验要求有转账请求和确认转账成功请求两个请求,在代码的transferFunds部分略有不同

2.输入代码

<iframe
src="attack?Screen=题中给出的scr&menu=题中给出的menu&transferFunds=转账金额">
</iframe> <iframe
src="attack?Screen=题中给出的scr&menu=题中给出的menu&transferFunds=CONFIRM">
</iframe>

3.攻击成功,可以看到有上下两部分信息。

SQL攻击:

Numeric SQL Injection

1.该实验本来选中一个城市之后只能看到一条关于这个城市的天气信息,攻击之后选中这个城市可以显示所有城市的天气信息。

2.在网页代码中在任意一城市后面加上1=1永真式即可实现该题目

3.改好之后选中Columbia,Go!即可获得所有城市的天气

Log Spoofing

1.该试验的目的是在代码中加入用户名admin迷惑用户,当用户登陆的时候登录失败,但以为自己登陆成功了。

2.在user name 处写入代码

20145210%0d%0aLogin Succeed!%0d%0aUsername: admin

3.攻击成功!

String SQL Injection

1.该试验正常只能查看到一个人的信息,攻击后可以查看到所有人的信息了。

2.在输入框中输入' or 1=1;--,攻击成功!

LAB:SQL Injection(Stage 1 String SQL Injection)

1.首先在密码栏中输入' or 1=1 -- 进行SQL注入,但是登录失败

2.发现是密码长度设置太短,于是将密码长度改为20

3.再次登陆,登陆成功!

LAB:SQL Injection(Stage 3:Numeric SQL Injection)

1.首先更改密码限制长度,输入' or 1=1 -- 登录,出现如下界面

2.我们要通过员工来查看老板的信息,更改一下ViewProfile按钮的参数,使老板的信息被排到前面

3.登陆一下,可以看到老板的信息

Database Backdoors

1.先看一下默认的101用户的信息

2.接下来继续输入101; update employee set salary=100000,给用户101张涨工资

3.按照题目里要求的,输入

101 or 1=1;CREATE TRIGGER myBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email='20145210@163.com'WHERE userid = NEW.userid;

将邮箱改为我的邮箱,把101的工资偷走啦

Blind Numeric SQL Injection

1.该实验的目标是找到cc_number为1111222233334444字段的数值,我们首先输入

101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 10000 );

显示账号无效,说明pin的数值比10000小

2.接下来运用二分法慢慢缩小范围,找到pin的值为2364

3.输入找到的pin值,实验成功!

所有成功项目截图

20145210姚思羽 《网络对抗技术》 Web安全基础实践的更多相关文章

  1. 20145308 《网络对抗》Web安全基础实践 学习总结

    20145308 <网络对抗> Web安全基础实践 学习总结 实验内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 基础问题回答 (1)SQL注入攻击原理, ...

  2. 20145326蔡馨熤《网络对抗》—— Web安全基础实践

    20145326蔡馨熤<网络对抗>—— Web安全基础实践 1.实验后回答问题 (1)SQL注入攻击原理,如何防御. 原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程 ...

  3. 20145216史婧瑶《网络对抗》Web安全基础实践

    20145216史婧瑶<网络对抗>Web安全基础实践 实验问题回答 (1)SQL注入攻击原理,如何防御 攻击原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入web应用程序,而这些 ...

  4. 20145227鄢曼君《网络对抗》Web安全基础实践

    20145227鄢曼君<网络对抗>Web安全基础实践 实验后回答问题 1.SQL注入攻击原理,如何防御? SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是 ...

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

    20145217<网络对抗> Web安全基础实践 一.实践任务 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.实验后回答问题 (1)SQL注入攻击原理,如 ...

  6. 20155326《网络对抗》Web安全基础实践

    20155326<网络对抗>Web安全基础实践 实验后回答的问题 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是在Web应用对后台数据库查询语句处理存在的安全漏洞,通过构建特殊 ...

  7. 20155206《网络对抗》Web安全基础实践

    20155206<网络对抗>Web安全基础实践 实验后问题回答 (1)SQL注入攻击原理,如何防御 攻击原理:SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查 ...

  8. 20155211 网络对抗 Exp9 Web安全基础实践

    20155211 网络对抗 Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语 ...

  9. 20155305《网络对抗》Web安全基础实践

    20155305<网络对抗>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL ...

  10. 20155307《网络对抗》Web安全基础实践

    20155307<网络对抗>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL ...

随机推荐

  1. Python Socket 网络编程 (客户端的编程)

    Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页.QQ ...

  2. 使用.NET Reflector 查看Unity引擎里面的DLL文件

    转载标注来源哦! 原地址在这里!在这里. 当你查看unity里面API的时候.是不是有时候追踪了一两步就碰到DLL文件走不下去了呢?非常是不爽吧. 这样的问题我也是常常碰到.这是人家商业引擎不想让你看 ...

  3. ChemDraw是这样预测诺氟沙星NMR谱

    化学绘图软件ChemDraw是一款在生化领域都可以使用的软件,诺氟沙星是一款常用的肠炎药,是生物化学领域的常见研究对象,在研究过程中需要预测它的NMR谱.这个时候如果用最新的ChemOffice 15 ...

  4. redis 集群出现的错误

    1 解决方法: 不用 Jedis jed =new jedis("192.168.56.101"); jed.set(key,value); 用 Set<HostAndPor ...

  5. mybatis 一次执行多条SQL MySql+Mybatis+Druid之SqlException:sql injection violation, multi-statement not allow

    如果用JDBC jdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf8 ...

  6. EasyNVR支持的摄像机、NVR设备接入类型以及关于国标设备是否支持接入EasyNVR无插件流媒体服务器

    背景分析: 随着互联直播的发展,EasyNVR也是顺应时代潮流顺势发展,也是越来越受广大客户的欢迎. 主要是因为EasyNVR可以完美的摆脱网络的限制,可以实现互联网级别的直播分发和录像回看,特别是对 ...

  7. 记录--前端 页面 jquery 被点击按钮修改样式 其他默认

    jquery实现页面条件筛选 此功能类似淘宝的条件筛选,主要是页面样式的更改,问了大神也磨磨唧唧了很久才搞定0.0.... 先贴代码..... 代码知识有 border-radius 设置圆角边框 s ...

  8. influxDB选择类函数

    1)TOP()函数 作用:返回一个字段中最大的N个值,字段类型必须是长整型或float64类型. 语法: SELECT TOP(<field_key>[,<tag_keys>] ...

  9. 巨蟒python全栈开发django3:url&&视图

    1.url正则匹配分组和命名分组 2.路由分发 3.url别名和反向解析 4.httprequest和httpresponse的使用 内容回顾: .jinja2(flask框架,没有内置模板对象,需要 ...

  10. Java基础 - 函数与方法

    java 是一门面向对象编程,其它语言中的函数也就是java中的方法 方法的基本使用方法 package com.demo7; /* * 函数/方法 * * 定义格式: * 修饰符 返回值类型 方法名 ...