本实践的目标理解常用网络攻击技术的基本原理。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. MariaDB MariaDB、MySQL存储过程、游标基础应用举例说明

    MariaDB.MySQL存储过程.游标基础应用举例说明 by:授客 QQ:1033553122 测试环境: MariaDB-10.0.19-centos7-x86_64 实践操作: # 创建测试数据 ...

  2. excel、xls文件读写操作

    python 常用的excel.xls文件读写操作,有两个模块 xlrd:读 xlwt:写 本次先写一个读的例子: class CaseData(object): def __init__(self, ...

  3. Microsoft SQL 关系数据库的使用指南

    Microsoft SQL 关系数据库的使用指南 https://docs.microsoft.com/zh-cn/sql/relational-databases/database-features

  4. "System.OutOfMemoryException" exception when you execute a query in SQL Server Management Studio (转自MSDN)

    Symptoms When you use Microsoft SQL Server Management Studio (SSMS) to run an SQL query that returns ...

  5. 为何使用Microsoft SQL Server Management Studio连接Integration Services服务失败

    检查是否满足以下各项: 1. 首先你要确保当前你使用的Windows账号是有管理员权限的 2. 其次请在打开Microsoft SQL Server Management Studio时,通过右键Ru ...

  6. Windows10 家庭版没有本地组策略解决方法

    windows 家庭版默认是没有本地组策略的, win+R运行gpedit.msc提示不存在 下面的代码保存一个cmdorbat 脚本文件add_gpedit.cmd, 并执行 add_gpedit. ...

  7. CentOS7 配置静态 ip

    1. 为 CentOS7 配置静态 ip 1.1 修改文件/etc/sysconfig/network-scripts/ifcfg-ens33 sudo vi /etc/sysconfig/netwo ...

  8. Docker容器学习与分享02

    1.docker容器的创建 首先运行一个centos容器,感受一下Docker容器的便捷 首先先看一下镜像仓库 发现仓库里没有镜像,也就是没有创建容器的模板,这时考虑从REPOSITORY中拉取镜像( ...

  9. October 21st 2017 Week 42nd Saturday

    Only I can change my life. No one can do it for me. 只有我可以改变我的命运,没有人可以帮我做. Stop complaining about the ...

  10. Mojave使用pyenv安装python-zlib错误

    mojave使用pyenv编译python出现 zipimport.ZipImportError: can't decompress data; zlib not available错误 解决方案: ...