20145302张薇 《网络对抗技术》 web安全基础实践
20145302张薇 《网络对抗技术》 web安全基础实践
实验问题回答
1.SQL注入攻击原理,如何防御
- 原理:攻击者把SQL命令插入到网页的各种查询字符串处,达到欺骗服务器执行恶意的SQL命令。
- 防御:在网页设计时对文本框的输入进行限制,比如说长度限制、不能出现#号等
2.XSS攻击的原理,如何防御
- 原理:攻击者在可输入域插入一些html或脚本语言使服务器执行那些代码
- 防御:关键字防御,比如过滤
<script>
这种敏感词汇,减少被攻击的风险
3.CSRF攻击原理,如何防御
- 原理:一般人A在登陆后,在自己的主机页面点击的各类请求都是以A的名义发送的,即A有A的权限;攻击者B在网页注入一个恶意的CSRF攻击URL地址,在A点击后,B借用A的身份进行非法操作,即B有了A的权限
- 防御:1.cookie的保存时间不宜过长;2.服务器要求用户输入相对应的验证码;3.服务器尽量在表单中使用post方法
实验总结与体会
- 在提交博客的时候发现:博客园没对xss攻击进行防御啊……使用
<iframe>
标签,后面的内容直接就被眯掉了,还有<br>
换行……直接就在网页换行了啊兄弟…… - 还有
<script>
也不行啊!!! - 想实现SQL注入,首先要对SQL语句了解
- 想实现xss攻击,我们需要了解网页前端如何编写
- 想实现CSRF攻击,我们需要了解cookie的原理
实践过程记录
1.phishing with XSS
跨站脚本钓鱼攻击
这道题我们只做出登陆的界面是无法通过的,我们需要使用script语言来捕获用户输入的用户名与密码
2.Stored XSS Attacks
- 储存式XSS攻击
<Script Language="JavaScript"> alert("20145302what??????????"); </Script>
这就是简单的xss攻击啊,在信息框输入我们想要的操作就行
3.Reflected XSS Attacks
反射型XSS攻击
代码只在Enter your three digit access code:这个框输入攻击有效
4.Cross Site Request Forgery (CSRF)
- 跨站请求伪造
- 这道题的题意是攻击者发一个帖子,用户点进去后被攻击者盗用身份进行一些恶意的行为
- 题中告诉我们需要找到screen和menu这两个信息,这两个信息在网页右侧有显示;并告知恶意行为是转5000;另外,为了让用户没有察觉,我们把恶意攻击行为隐藏在一个用户看不见的图片中
<img src='attack?Screen=278&menu=900&transferFunds=5000' width='1' height='1'>
点进我们的帖子,左侧就会显示绿色的小对勾了,帖子显示如下:
可以看到message处没有什么东西的感觉,为了观察明显,我们再发一个帖子,并将图片的长度与宽度调为10:
很明显的观察到了我们的小图片
5.CSRF Prompt By-Pass
- 题意要求转账与确认转账两部分,而且给了格式
test anzunayinger!<img src='attack?Screen=266&menu=900&transferFunds=5000' width='1' height='1'><img src='attack?Screen=266&menu=900&transferFunds=CONFIRM' width='1' height='1'>
点进帖子即可成功,除了用观察不到的图片外,我们可以使用
<iframe>
标签来插入恶意代码(<iframe>
标签不是所有浏览器都支持)
6.String SQL Injection
- 很简单的
7.Database Backdoors
这道题用了上一道题的表,所以输入一个
101 or 1=1;
试一下:
出现了所有人的信息,但是还没成功,我又读了一下题,发现得更新工资栏,所以输入:
101 or 1=1;update employee set salary=5302;
8.Numeric SQL Injection
- 这道题的特点是用户不能在文本框内输入,只能选择按钮,所以我们需要用到代理服务器
- 我们将捕捉到的信息send to repeater,随后我们在send to repeater标签内将Params表格的位置数据改为永真式,这样我们就可以将四个位置的温度都显示出来了
- 之前我试了直接在Raw标签内修改,这种方法是错误的,因为我们可以看到在Params表格内修改后Raw的数据不是普通的十进制数字,而是ASCII码的形式
在右侧,可以观察到SQL语句更变为查找了永真式:
我们将代理服务器拦截关闭后回到webgoat题目部分,即成功
9.Log Spoofing
- ……刚做这个用永真式试了半天一直不对……看了提示才发现……这道题是假装登陆成功
<br>Welcome!admin! You Login succeeded!</br>
- 嘻嘻,这是一个致命的错误,用
<br>
一辈子也成功不了…… - 我们应该使用
%0d%0a
这个回车换行符号来进行欺骗
10.stage 1: String SQL Injection
- 这道题先尝试在密码框输入:
' or 1 = 1 --
,发现密码框被设置只能输入8位,这样登陆是失败的 所以我们在密码框处右键进入Inspect Element,将其长度改为16,格式改为text便于我们查看自己输入的东西:
输入
' or 1 = 1 --
,登陆成功,用户名是larry:)
20145302张薇 《网络对抗技术》 web安全基础实践的更多相关文章
- 20145326蔡馨熤《网络对抗》—— Web安全基础实践
20145326蔡馨熤<网络对抗>—— Web安全基础实践 1.实验后回答问题 (1)SQL注入攻击原理,如何防御. 原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程 ...
- 20145308 《网络对抗》Web安全基础实践 学习总结
20145308 <网络对抗> Web安全基础实践 学习总结 实验内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 基础问题回答 (1)SQL注入攻击原理, ...
- 20145216史婧瑶《网络对抗》Web安全基础实践
20145216史婧瑶<网络对抗>Web安全基础实践 实验问题回答 (1)SQL注入攻击原理,如何防御 攻击原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入web应用程序,而这些 ...
- 20145227鄢曼君《网络对抗》Web安全基础实践
20145227鄢曼君<网络对抗>Web安全基础实践 实验后回答问题 1.SQL注入攻击原理,如何防御? SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是 ...
- 20145312 《网络对抗》 Web安全基础实践
20145312 <网络对抗> Web安全基础实践 问题回答 SQL注入攻击原理,如何防御 原理:攻击者在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,把SQL语句当做 ...
- 20145217《网络对抗》 Web安全基础实践
20145217<网络对抗> Web安全基础实践 一.实践任务 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.实验后回答问题 (1)SQL注入攻击原理,如 ...
- 20155326《网络对抗》Web安全基础实践
20155326<网络对抗>Web安全基础实践 实验后回答的问题 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是在Web应用对后台数据库查询语句处理存在的安全漏洞,通过构建特殊 ...
- 20155206《网络对抗》Web安全基础实践
20155206<网络对抗>Web安全基础实践 实验后问题回答 (1)SQL注入攻击原理,如何防御 攻击原理:SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查 ...
- 20155211 网络对抗 Exp9 Web安全基础实践
20155211 网络对抗 Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语 ...
- 20155305《网络对抗》Web安全基础实践
20155305<网络对抗>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL ...
随机推荐
- gis 相关资料
--gis原理学习 http://group.cnblogs.com/GIS/best-1.html http://www.cnblogs.com/SuperXJ/tag/移动GIS/ --gis坐标 ...
- 源码 time sleep
C:\Users\Administrator\.PyCharm2017.1\system\python_stubs\2083891348\time.py def sleep(seconds): # r ...
- hmm前后向算法
跟医生就医推导过程是一样的 隐马尔科夫模型HMM(一)HMM模型 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数 隐马尔科夫模型HMM ...
- linux系统java的安装
(一)下载java8 下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...
- inux man命令的使用方法(转)
原文:http://www.cnblogs.com/hnrainll/archive/2011/09/06/2168604.html Linux的man手册共有以下几个章节: 代號 代表內容 1 使用 ...
- Java非静态内部类为什么不能有静态成员
我们可以把InnerClass看成OuterClass的非静态成员,它的初始化必须在外部类对象创建后以后进行,要加载InnerClass必须在实例化OuterClass之后完成 ,java虚拟机要求所 ...
- Python安装及运行中可能遇到的问题。
1.报错找不到Selenium. 解决办法: (1)可以调整工具中的以下两项 Setting: (2)Setting中设置此目录为Python安装目录,选择设置中的第一项后配置以下Python3.5的 ...
- python-面向对象-11-异常
异常 目标 异常的概念 捕获异常 异常的传递 抛出异常 01. 异常的概念 程序在运行时,如果 Python 解释器 遇到 到一个错误,会停止程序的执行,并且提示一些错误信息,这就是 异常 程序停止执 ...
- python对象反射和函数反射
python的对象反射功能,经常在编程时使用.相比较其它的编程语言使用非常方便.反射就是用字符串来操作对象或者类,模块中的成员. 一.对象的反射 反射功能的实现,由这4个内置函数来实现(hasattr ...
- XMR恶意挖矿案例简析
前言 数字货币因其技术去中性化和经济价值等属性,逐渐成为大众关注的焦点,同时通过恶意挖矿获取数字货币是黑灰色产业获取收益的重要途径.本文简析通过蜜罐获取的XMR恶意挖矿事件:攻击者通过爆破SSH获取系 ...