20145337《网络对抗技术》Web安全基础实践
20145337《网络对抗技术》Web安全基础实践
一、实验后回答问题
1.SQL注入攻击原理,如何防御
SQL注入攻击的本质是利用SQL语法,针对应用程序开发过程中的漏洞,从一个数据库获得未经授权的访问和直接检索
防御:采用sql语句预编译和绑定变量;严格检查参数的数据类型,使用安全函数;给用户信息加密
2.XSS攻击的原理,如何防御
- 是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚 本语言。XSS攻击的主要目的则是,想办法获取目标攻击网站的cookie,因为有了cookie相当于有了seesion,有了这些信息就可以在任意能接进互联网的pc登陆该网站,并以其他人的生份登陆,做一些破坏。
- 防御:当恶意代码值被作为某一标签的内容显示:在不需要html输入的地方对html 标签及一些特殊字符( ” < > & 等等 )做过滤,将其转化为不被浏览器解释执行的字符;当恶意代码被作为某一标签的属性显示,通过用 “将属性截断来开辟新的属性或恶意方法:属性本身存在的 单引号和双引号都需要进行转码;对用户输入的html 标签及标签属性做白名单过滤,也可以对一些存在漏洞的标签和属性进行专门过滤。
3.CSRF攻击原理,如何防御
- 原理:
- 防御:通过 referer、token 或者 验证码 来检测用户提交;尽量不要在页面的链接中暴露用户隐私信息;对于用户修改删除等操作最好都使用post 操作 ;避免全站通用的cookie,严格设置cookie的域。
二、实验总结与体会
- 学会了使用burpsuite,不过只是部分功能
- 这次的实践,sql部分比较容易弄懂,XSS和CSRF就有一丢丢难,总的来说,完成了最后一次实验,real开心。因为不用再做实验了呀~
三、实践过程记录
1.SQL字符串注入
- 通过观察题目中SQL语句,注入 ' or 1=1 --构成永真式
- SELECT * FROM user_data WHERE last_name = '' or 1=1 --'
- 注入成功
2.数字型SQL注入
- 数字型的题目比较简单,也无需封闭引号,通过设置代理,修改Params选项下的参数101 为 101 or 1=1
- SELECT * FROM weather_data WHERE station = 101 or 1=1
- 注入成功
3.命令注入
题目要求:理解基于身份的认证,回答问题
不是很明白要干什么,查看提示:使用系统命令,返回文件目录
通过注入一条指令,更改显示内容
使用burpsuite查看捕到的包的内容,
type='SUBMIT' value='View'><br><br><hr width='90%'>ExecResults for '[/bin/sh, -c, cat "/root/.extract/webapps/WebGoat/plugin_extracted/plugin/CommandInjection/resources/AccessControlMatrix.html"]'<br>Output...<br>
type属性为submit,为“View”按钮,动态执行cat命令——显示整个文件并输出
注入AccessControlMatrix.help"&&cal"
点击GO之后,显示成功
4.登陆电子欺骗
- 题目要求:添加用户名,使其登陆的时候失败,但以为自己登陆成功
- 在username中添加:
20145337%0d%0aLogin Succeeded
- 注入成功
5.LAB:Stage 1
- 和字符串注入一样,在password那里注入' or 1=1 --'
- 注入成功
6.盲数字注入
- 允许用户输入帐号并确定其有效与否
- 构造AND XXXX 语句来进行注入,判断其范围
- 注入
101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 100 );
判断其上限 101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 1000 );
判断其下限- 多次尝试得到正确结果为:2364
7.跨站脚本钓鱼攻击
编写钓鱼网站的页面(我并不会)
在用户点击Search时出现另一个登陆界面,待用户输入用户名及密码后,攻击成功
8.存储型XSS攻击
- 提示:放一个HTML标签在message中
- 在title里输入标题,在message中注入脚本语言
- 攻击成功
9.反射型XSS
A simple script is <SCRIPT>alert('bang!');</SCRIPT>.
好吧,就用这句提示
<SCRIPT>alert('bang!');</SCRIPT>
攻击成功
10.CSRF
- 你的目标是发一个email给newsgroup,内容包括一个有恶意URL请求的图片。URL要指向“attack”(包含参数“Screen”和“Menu”,还有一个额外参数“transferFunds”)。当收到含有CSRF页面的邮件时,就会执行transferFunds
- 在message中输入:`<img src='attack?Screen=277&menu=900&transferFunds=5000' width='1' height='1'>`
- 当受害者浏览这个网页时,会在当前界面发送一个transferFunds的请求,浏览器认为得到图片,但实际上是一个资金转移。
WebGoat截图
20145337《网络对抗技术》Web安全基础实践的更多相关文章
- 20145308 《网络对抗》Web安全基础实践 学习总结
20145308 <网络对抗> Web安全基础实践 学习总结 实验内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 基础问题回答 (1)SQL注入攻击原理, ...
- 20145326蔡馨熤《网络对抗》—— Web安全基础实践
20145326蔡馨熤<网络对抗>—— Web安全基础实践 1.实验后回答问题 (1)SQL注入攻击原理,如何防御. 原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程 ...
- 20145216史婧瑶《网络对抗》Web安全基础实践
20145216史婧瑶<网络对抗>Web安全基础实践 实验问题回答 (1)SQL注入攻击原理,如何防御 攻击原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入web应用程序,而这些 ...
- 20145227鄢曼君《网络对抗》Web安全基础实践
20145227鄢曼君<网络对抗>Web安全基础实践 实验后回答问题 1.SQL注入攻击原理,如何防御? SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是 ...
- 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 ...
- 20155307《网络对抗》Web安全基础实践
20155307<网络对抗>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL ...
随机推荐
- 图论——最小生成树_prim
今天是最小生成树的prim的算法,因为本人水平有限所以堆优化都不是很会啊,但邻接表好像出了点小差错所以上邻接矩阵比较好一点,尽管比Kruskal慢了很多很多但这种贪心思想还是要学习的.从第一条边开始取 ...
- AT2043 AND Grid 构造
正解:构造 解题报告: 传送门传送门! 这题psj讲了俩做法,一个是最常见的解法,还一种还不知道484对的QAQ 然后先把psj讲的不知正确性的做法港下QwQ 大概就是说,第一个图,先把底给染完 然后 ...
- android动态设置边框颜色
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...
- Sqoop导入HBase,并借助Coprocessor协处理器同步索引到ES
1.环境 Mysql 5.6 Sqoop 1.4.6 Hadoop 2.5.2 HBase 0.98 Elasticsearch 2.3.5 2.安装(略过) 3.HBase Coprocessor实 ...
- (转)使用git stash解决git pull时的冲突
在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息: error: Your local changes to 'c/environ.c' would be overwritten b ...
- [LeetCode] 183. Customers Who Never Order_Easy tag: SQL
Suppose that a website contains two tables, the Customers table and the Orders table. Write a SQL qu ...
- android studio 3.0 安装配置
1. 安装jdk1.8 2.复制android sdk 设置代理 mirrors.neusoft.edu.cn 端口 80 http代理 更新sdk 安装 android support ...
- Android常用权限permission列表摘录
一个Android应用程序需要权限才能调用某些android系统的功能:一个android应用也可能被其他应用调用,因此也需要声明调用自身所需要的权限.除了平时常用的权限记得比较熟悉,还有很多的权限一 ...
- SSH无密码登录:只需两个简单步骤 (Linux)
最后更新 2017年4月8日 分类 最新文章 服务器安全 标签 RSA SSH Key 非对称加密 如果你管理一台Linux服务器,那么你就会知道每次SSH登录时或者使用scp复制文件时都要输入密码是 ...
- EditPlus 4.3.2583 中文版已经发布
新的版本提升了括号匹配的性能.请点击页面左上角连接下载.