本实践的目标理解常用网络攻击技术的基本原理。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安全基础的更多相关文章

  1. 20155208徐子涵《网络对抗》Exp9 Web安全基础

    20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...

  2. 20155312 张竞予 Exp9 Web安全基础

    Exp9 Web安全基础 目录 基础问题回答 (1)SQL注入攻击原理,如何防御 (2)XSS攻击的原理,如何防御 (3)CSRF攻击原理,如何防御 实践过程记录 WebGoat准备工作 1.XSS攻 ...

  3. Exp9 Web安全基础

    Exp9 Web安全基础 20154305 齐帅 一.实验要求 本实践的目标理解常用网络攻击技术的基本原理. Webgoat实践下相关实验: [目录] [第一部分 WebGoat 8.0] 1.Web ...

  4. 20155205 郝博雅 Exp9 Web安全基础

    20155205 郝博雅 Exp9 Web安全基础 一.实验内容 一共做了13个题目. 1.WebGoat 输入java -jar webgoat-container-7.1-exec.jar 在浏览 ...

  5. 20155339 Exp9 Web安全基础

    Exp9 Web安全基础 基础问题回答 (1)SQL注入攻击原理,如何防御 原理:它是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入恶意SQL语句得到 ...

  6. 2017-2018-2 20155314《网络对抗技术》Exp9 Web安全基础

    2017-2018-2 20155314<网络对抗技术>Exp9 Web安全基础 目录 实验目标 实验内容 实验环境 基础问题回答 预备知识 实验步骤--WebGoat实践 0x10 We ...

  7. 20145236《网络对抗》Exp9 web安全基础实践

    20145236<网络对抗>Exp9 web安全基础实践 一.基础问题回答: SQL注入攻击原理,如何防御 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或 ...

  8. 20145215《网络对抗》Exp9 Web安全基础实践

    20145215<网络对抗>Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符 ...

  9. 20145208 蔡野 《网络对抗》Exp9 web安全基础实践

    20145208 蔡野 <网络对抗>Exp9 web安全基础实践 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验后回答问题 (1)SQL注入攻击原理,如何 ...

随机推荐

  1. Android Application中的Context和Activity中的Context的异同

    一.Context是什么: 1.Context是维持Android程序中各组件能够正常工作的一个核心功能类,我们选中Context类 ,按下快捷键F4,右边就会出现一个Context类的继承结构图啦, ...

  2. Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xde如何使用

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  3. MySQL——索引实现原理

    在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式. MyISAM索引实现 MyISAM引擎使用B+Tr ...

  4. 记一款bug管理系统(bugdone.cn)的开发过程(4) - 新增BugTalk功能

    测试人员提出一个Bug,如果开发人员对Bug有疑义,会直接面对面讨论或者通过QQ等线上聊天工具讨论,但过后再去找讨论记录会很麻烦.因此BugDone提出一个全新的概念:将问题的讨论留在问题内.BugD ...

  5. GIT回推本地commit近期版本

    一次意外吧,本地add并且commit之后拉了别人错误的代码下来,后来本地又需要进行编写测试,无奈只能回推到自己刚刚commit过的代码,但是git命令除了拉去提交等其他的不是很熟悉,在度娘之后也遇到 ...

  6. IP地址的分类——a,b,c 类是如何划分的【转】

    ip分类已经是耳熟能详了.但是说的都比较繁琐,这里简述一下,便于以后复习. IP地址,一共分成了5类,范围分别如下: A类IP:从0.0.0.0 – 127.255.255.255,共有1677721 ...

  7. Python中日期时间案例演示

    案例:准备10个人姓名,然后为这10个人随机生成生日[都是90后] 1.统计出那些人是夏季[6月-8月]出生的. 2.最大的比最小的大多少天 3.谁的生日最早,谁的生日最晚 备注:春季[3-5]夏季[ ...

  8. 利用gulp 插件gulp.spritesmith 完成小图合成精灵图,并自动输出样式文件

    安装依赖 yarn add gulp yarn add gulp.spritesmith 本次依赖的版本是: "gulp": "^3.9.1" "gu ...

  9. Arcgis for Js之加载wms服务

    概述:本节讲述Arcgis for Js加载ArcgisServer和GeoServer发布的wms服务. 1.定义resourceInfo var resourceInfo = { extent: ...

  10. BZOJ4556:[TJOI\HEOI2016]字符串(后缀数组,主席树,二分,ST表)

    Description 佳媛姐姐过生日的时候,她的小伙伴从某东上买了一个生日礼物.生日礼物放在一个神奇的箱子中.箱子外边写了一个长为n的字符串s,和m个问题.佳媛姐姐必须正确回答这m个问题,才能打开箱 ...