20145230熊佳炜《网络对抗》实验九:web安全基础实践
20145230熊佳炜《网络对抗》实验九:web安全基础实践
webgoat
- webgoat的中文是代罪羔羊的意思,而它是一个有很多漏洞的web应用程序,我们可以利用它来研究关于web应用程序的安全性。
- 在我们的kali虚拟机中输入java -jar webgoat-container-7.0.1-war-exec.jar即可运行我们的webgoat。
- webgoat默认使用的是8080端口,打开火狐浏览器,可以进入到webgoat的主页,我们可以找到自己感兴趣的题目进行练习。
Phishing with XSS
- 首先我们需要在搜索栏中输入攻击代码,输入完毕之后点击search。
- search完毕之后它会要求我们输入用户名和密码。
- 输入完毕之后选择确定就可以成功攻击了。

Stored XSS Attacks
- 我们需要创建一个帖子,然后让它在弹出的窗口中显示出来。
- 在标题栏可以随便输入任何指令,消息那一栏需要写入我们的代码。
- 然后点击我们刚才创建的帖子就会看到弹窗,表面攻击成功。

Reflected XSS Attacks
- 还是感觉和上一个Stored XSS攻击的方法差不多。
- 在access那一栏输入一个攻击代码,点击purchase后,如果弹出我们输入的代码的内容,就表示我们攻击成功了。

Cross Site Request Forgery
- CSRF就是冒名登录,用代码伪造请求。
- 写一个URL诱使其他用户点击,从而触发CSRF攻击。
- 还是通过在消息栏输入攻击代码,然后用户点击后会显示我们已经攻击成功了。
CSRF Prompt By-Pass
- 这个和上一个题目攻击方法也是相对比较类似的,但在消息栏输入我们的攻击代码并不能成功。
- 所以只能通过浏览器输入,输入后会看到confirm选项,点击它。
- 最后刷新一下网页,会发现我们已经成功转账。

String SQL Injection
- 这个题目相对来说极其简单,就是我们在web基础里面SQL也用到的' or 1=1 --'这个式子,因为这个式子是一个永真式,所以输入完后点击go,会发现会显示出所有的结果。
LAB:SQL Injection(Stage 1:String SQL Injection)
- 这个题目原理还是要求我们利用' or 1=1 --'这个永真式,但是没有上一题那样简单。
- 这一题我们登陆密码换成了1=1也无济于事,因为网页源码中限制了密码最大长度。
- 我们通过查看网页源码,将最大密码长度修改之后,再登录,便会发现我们成功。
Database Backdoors
- 这是一个关于修改后台数据的一道题目。
- 我们先输入101可以查看到larry的信息,然后我们可以通过攻击代码修改larry的工资信息。
- 在username那我们还可以新建一个后门,将自己的用户名和邮箱应用于数据库中所有用户,这就表明攻击成功。

Log Spoofing
- 这个题目其实顾名思义,就是登陆欺骗用户。
- 原理就是我们输入错误的用户名后,它返回给我们的信息还是我们登陆成功。也就是我们要在用户名那写一个SQL的字符串。
Command Injection
- 这个界面可以执行系统命令并返回给用户。
- 所以我们可以用BurpSuite拦截到一个请求,然后修改其中的参数。最后我们在网页中可以看到修改过后要我们显示的结果。
感受
- 不知道为什么,做这次最后一次实验的时候电脑会出奇的卡,写了很久的东西,眼看快要完成了,电脑莫名其妙的未响应,一天连续出现了好几次。反正很烦,甚至想砸电脑,可能是天气太热了,电脑可能温度太高了吧。自己大概了解了关于SQL和XSS攻击的一些套路吧,但感觉要想更加深入了解,需要自己花很多功夫,不是模仿其他人做几道练习就能成功的。希望自己能控制好自己的情绪,努力学习吧。
基础问答
1.实验后回答问题
(1)SQL注入攻击原理,如何防御
答:
原理:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
防御: 普通用户与系统管理员用户的权限要有严格的区分, 要强迫使用参数化语句,加强对用户输入的验证,多多使用SQL Server数据库自带的安全参数,必要的情况下使用专业的漏洞扫描工具来寻找可能被攻击的点。
(2)XSS攻击的原理,如何防御
答:
原理:XSS是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。
防御:对用户输入数据进行输入检查,也要进行输出检查,对用户输入的html 标签及标签属性做白名单过滤,也可以对一些存在漏洞的标签和属性进行专门过滤。
(3)CSRF攻击原理,如何防御
答:
原理:CSRF通过伪装来自受信任用户的请求来利用受信任的网站。
防御:将持久化的授权方法切换为瞬时的授权方法,在form中包含秘密信息、用户指定的代号作为cookie之外的验证。
20145230熊佳炜《网络对抗》实验九:web安全基础实践的更多相关文章
- 20145233《网络对抗》Exp9 Web安全基础实践
20145233<网络对抗>Exp9 Web安全基础实践 实验问题思考 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符 ...
- 20145209刘一阳《网络对抗》Exp9 Web安全基础实践
20145209刘一阳<网络对抗>Exp9 Web安全基础实践 基础问题回答 1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求 ...
- 20155324《网络对抗技术》web安全基础实践
20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...
- 20145236《网络对抗》Exp9 web安全基础实践
20145236<网络对抗>Exp9 web安全基础实践 一.基础问题回答: SQL注入攻击原理,如何防御 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或 ...
- 20145215《网络对抗》Exp9 Web安全基础实践
20145215<网络对抗>Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符 ...
- 20145208 蔡野 《网络对抗》Exp9 web安全基础实践
20145208 蔡野 <网络对抗>Exp9 web安全基础实践 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验后回答问题 (1)SQL注入攻击原理,如何 ...
- 20145311王亦徐 《网络对抗技术》 Web安全基础实践
2014531王亦徐 <网络对抗技术> Web安全基础实践 实验内容 利用WebGoat平台尝试了一些XSS.CSRF.SQL注入攻击 基础问题回答 1.SQL注入攻击原理,如何防御原理: ...
- 20145325张梓靖 《网络对抗技术》 Web安全基础实践
20145325张梓靖 <网络对抗技术> Web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 XSS攻击:Stored XSS Attacks.Ref ...
- 20155202《网络对抗》Exp9 web安全基础实践
20155202<网络对抗>Exp9 web安全基础实践 实验前回答问题 (1)SQL注入攻击原理,如何防御 SQL注入产生的原因,和栈溢出.XSS等很多其他的攻击方法类似,就是未经检查或 ...
- 20155204《网络对抗》Exp9 Web安全基础实践
20155204<网络对抗>Exp9 Web安全基础实践 一.基础问题回答 SQL注入攻击原理,如何防御? 原理: SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以 ...
随机推荐
- EXSI5.5以上开启KVM二次虚拟化
1,在EXSI5.5上创建centos虚拟机(过程省略) 2,开启EXSI5.5的ssh功能 3,ssh登录虚拟机 4,编辑虚拟配置文件 /vmfs/volumes/datastore1/目录下,找到 ...
- CXF整合Spring之JaxWsProxyFactoryBean调用
1.见解 1.1 客户端的接口代码还一定要和服务端的接口代码一样,连注解都要一样,不够灵活 1.2 当客户端访问服务器的请求地址时,如果服务端没有对应的地址,就会报错,但是又没有cxf的异常捕获处理 ...
- 演示一个简单的Redis队列
0.Windows Service版下载 https://github.com/rgl/redis/downloads 1.新建一个Console项目 打开Nuget控制台,执行以下命令 Instal ...
- BroPHP使用心得
使用BroPHP 学习框架的时候,遇到了不少的问题. 一.修改了mysql 的表结构后,在程序中始终不体现表的修改. 给一个表添加了几个字段,在程序中对表添加数据,无论是用 select(),还是用 ...
- 该死的Kafka,远程连接Kafka超时以及解决办法
关于消息的发布与订阅,之前一直使用的是activeMQ基于JMS的消息队列进行操作的,最近听说有一个更高效的消息的发布与订阅技术,就是Kafka. 关于kafka的介绍,在这里就不做过多讲解了,因为我 ...
- 多线程入门-第六章-线程的调度与控制之join
/* 线程合并:将指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程,即单线程. 如在B线程中调用了A的join方法,则线程A执行完后,才会执行线程B. */ public cla ...
- css冲突2 要关闭的css在项目代码以外,但是是通过<link>标签引入的css(例如bootstrap):解决方法,在APP.css中使用全局样式
css冲突,导致html字体过小. 通过浏览器检查发现,导致字体过小的css来自bootstrap. 现要关闭bootstrap的css: 直接在APP.css中添加: html{ font-size ...
- python模块之PIL模块(生成随机验证码图片)
PIL简介 什么是PIL PIL:是Python Image Library的缩写,图像处理的模块.主要的类包括Image,ImageFont,ImageDraw,ImageFilter PIL的导入 ...
- Spring-ApplicationContext容器
Spring ApplicationContext容器 ApplicationContext是spring中比较高级的容器.和BeanFactory类似,它可以加载配置文件中定义的bean,并将所有b ...
- 前端 javascript 变量
变量: python: name = 'alex' JavaScript: name = 'alex' # 全局变量 声明var var name = 'eric' # 局部变量 写全局变量基本好少J ...