20155325 Exp9 Web安全基础
本实践的目标理解常用网络攻击技术的基本原理。Webgoat实践下相关实验。
实验后回答问题
(1)SQL注入攻击原理,如何防御
原理:SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
防御:有一些软件,比如安全狗。对输入进行过滤,对数据库增加保护。
参考链接:
SQL注入攻击原理以及基本方法
(2)XSS攻击的原理,如何防御
详见 实践过程记录-》something different
(3)CSRF攻击原理,如何防御
原理

防御
通过 referer、token 或者 验证码 来检测用户提交。
尽量不要在页面的链接中暴露用户隐私信息。
对于用户修改删除等操作最好都使用post 操作 。
避免全站通用的cookie,严格设置cookie的域。
参考链接:
CSRF攻击原理及防御
实验总结与体会
这学期的实验令我收获颇多,知道了,哦,原来这样攻击就可以达到什么样的效果。也深深地体会到了“没有绝对的安全”,是该庆幸一下在我还没有那么值钱的时候认识到了这一点哈哈哈。
感谢老师设置了分批实验的实验方式,让我能够完成实验,并有所得,不至于把很多精力浪费在“好难好崩溃好怀疑人生”的情绪上面。
感谢各位大佬写得非常详细的博客,救我汪命,哈哈哈。
实践过程记录
XSS
1.Phishing with XSS 跨站脚本钓鱼攻击
2.Reflected XSS Attacks 反射型XSS攻击
3.Reflected XSS Attacks 反射型XSS攻击
CSRF
4.CSRF Prompt By-Pass
5.Cross Site Request Forgery(CSRF)
6.CSRF Token By-Pass
SQL
7.Blind String SQL Injection
8.LAB:SQL Injection(Stage 1:String SQL Injection)
9.LAB:SQL Injection(Stage 3:Numeric SQL Injection)
10.Database Backdoors
11.Command Injection
something different
XSS
1.Phishing with XSS 跨站脚本钓鱼攻击


2.Reflected XSS Attacks 反射型XSS攻击

3.Reflected XSS Attacks 反射型XSS攻击

CSRF
4.CSRF Prompt By-Pass

5.Cross Site Request Forgery(CSRF)

6.CSRF Token By-Pass



SQL
7.Blind String SQL Injection


8.LAB:SQL Injection(Stage 1:String SQL Injection)

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

10.Database Backdoors


11.Command Injection

something different
原理
当存在“提取用户提交的输入并将其插入到服务器响应的HTML代码中”这样的功能时,就有可能有XSS漏洞。
XSS漏洞分为以下三种:反射型XSS漏洞、存储型XSS漏洞、基于DOM的XSS漏洞。
反射型

存储型

基于DOM

图片来自文档:《Web安全渗透测试研究_蒲石》
举例
1.钓鱼攻击:显示类似的登录界面,欺骗用户输入登录信息
2.根据同源策略,浏览器不允许一个网站传送的脚本访问另一个站点的Cookie,否则,会话就很容易被劫持。而且,只有发布 Cookie 的站点能够访问这些 Cookie,仅能在返回发布站点的 HTTP 请求中提交 Cookie;只有通过该站点返回的页面所包含或加载的 Java Script 才能访问 Cookie。
所以另一种攻击方式为:发帖诱导查看,帖界面包含获取cookie的js代码跳转。获取新cookie文件,将内容项替换新cookie,获取新cookie权限。
3.余弦新提出的一种利用方法为:通过浏览器保存密码和表单自动填充这两种机制来获取密码。让浏览器误以为是原来的登录界面,从而将密码和表单自动填入。
代码
源码下载:https://github.com/ezyang/htmlpurifier
http://htmlpurifier.org/
工具使用:
https://blog.csdn.net/hanzengyi/article/details/43019479
https://www.jianshu.com/p/bf8a816fde47
有关XSS的代码:
https://www.cnblogs.com/coco1s/p/5777260.html
防范
1.养成良好的上网习惯:不随意打开链接
2.开发者采取相应的防御措施:完善过滤策略、使用安全编码、谨慎使用DOM操作、静态分析、动态分析(详见《XSS漏洞综述》)
参考链接
http://www.cnblogs.com/20155305ql/p/9029172.html
http://www.cnblogs.com/lovezh/p/9064309.html#_label2_3
20155325 Exp9 Web安全基础的更多相关文章
- 20155208徐子涵《网络对抗》Exp9 Web安全基础
20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...
- 20155312 张竞予 Exp9 Web安全基础
Exp9 Web安全基础 目录 基础问题回答 (1)SQL注入攻击原理,如何防御 (2)XSS攻击的原理,如何防御 (3)CSRF攻击原理,如何防御 实践过程记录 WebGoat准备工作 1.XSS攻 ...
- Exp9 Web安全基础
Exp9 Web安全基础 20154305 齐帅 一.实验要求 本实践的目标理解常用网络攻击技术的基本原理. Webgoat实践下相关实验: [目录] [第一部分 WebGoat 8.0] 1.Web ...
- 20155205 郝博雅 Exp9 Web安全基础
20155205 郝博雅 Exp9 Web安全基础 一.实验内容 一共做了13个题目. 1.WebGoat 输入java -jar webgoat-container-7.1-exec.jar 在浏览 ...
- 20155339 Exp9 Web安全基础
Exp9 Web安全基础 基础问题回答 (1)SQL注入攻击原理,如何防御 原理:它是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入恶意SQL语句得到 ...
- 2017-2018-2 20155314《网络对抗技术》Exp9 Web安全基础
2017-2018-2 20155314<网络对抗技术>Exp9 Web安全基础 目录 实验目标 实验内容 实验环境 基础问题回答 预备知识 实验步骤--WebGoat实践 0x10 We ...
- 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注入攻击原理,如何 ...
随机推荐
- JavaScript Data.parse()转化时间戳安卓和ISO不兼容
Data.parse()获取时间戳,在Android是没有问题的,但是在ISO就不行了,原因在于转化成时间戳的时间格式不一样. Android的格式是如“2017-12-12 12:12:12”,IS ...
- [Android] 状态栏的一些认识
前段时间遇到几个关于状态栏的问题,又了解了一下状态栏相关的知识,现在做一下记录. 本文地址:http://www.cnblogs.com/rossoneri/p/4316343.html 前戏和问题 ...
- C#安全加密类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.S ...
- 如何从 Windows 虚拟机分离数据磁盘
当不再需要附加到虚拟机的数据磁盘时,可以轻松地分离它. 这会从虚拟机中删除该磁盘,但不会从存储中删除它. Warning 如果用户分离磁盘,它不会自动删除. 如果订阅了高级存储,则将继续承担该磁盘的存 ...
- Azure 中的 Windows 虚拟机概述
Azure 虚拟机 (VM) 是 Azure 提供的多种可缩放按需分配计算资源之一. 通常情况下,如果需要以更大的力度(相对于其他控制选项)控制计算环境,则应选择 VM. 本文介绍创建 VM 之前的注 ...
- Visual Studio 2012自动添加注释(如版权信息等)
转自:http://blog.163.com/guohuan88328@126/blog/static/69430778201381553150156/ 如何使用Visual Studio 2012给 ...
- RecyclerView使用技巧(item动画及嵌套高度适配解决方案)
原文地址 · Frank-Zhu http://frank-zhu.github.io/android/2015/02/26/android-recyclerview-part-3/?utm_sou ...
- 【mpu6050】学习笔记——基础知识点记录
如图: 假设为三维空间有一个向量R 满足关系: 即为加速度计的x轴,y轴,z轴. 对于MPU6050 其求出的数值为: 分母为灵敏度, ADCRx为读出值. 我关心的是Axr,Ayr,Azr即 ...
- 常用npm 命令
npm 官方网站:npm的使用说明 安装模块 npm install 安装当前目录package.json文件中配置的dependencies模块 安装本地的模块文件 npm install ...
- 关于Vue的nextTick的一点小理解
官方文档表示:为了在数据变化之后等待Vue完成更新DOM,可以在数据变化之后立即执行Vue.$nextTick(callback),这样回调函数就可以在数据变化之后立即执行. 这段话的意思是: 例如: ...