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注入攻击原理,如何 ...
随机推荐
- SQLServer 事物与索引
SqlServer 事物与索引 分享by:授客 QQ:1033553122 详情点击百度网盘分享链接: SqlServer 事物与索引.ppt
- ViewPager中切换界面Fragment被销毁的问题
ViewPager中切换界面Fragment被销毁的问题分析 使用ViewPager+Fragment实现界面切换,当界面数量大于3时,出现二次滑动后数据消失的情况,下面由Fragment生命周期进行 ...
- 用例设计之API用例覆盖准则
基本原则 本文主要讨论API测试的用例/场景覆盖,基本原则如下: 用户场景闭环(从哪来到哪去) 遍历所有的实现逻辑路径 需求点覆盖 覆盖维度 API协议(参数&业务场景) 中间件检查 异常场景 ...
- memcached 查看所有的key
1. cmd上登录memcache 1 > telnet 127.0.0.1 11211 2. 列出所有keys 1 2 3 4 stats items // 这条是命令 STAT it ...
- 给Jqgrid添加横向滚动条,实现点击行数据,触发事件。
function reloadNoKitScheduleGridData() { $("#noKittingScheduleList").jqGrid({ url: ". ...
- 基于esky实现python应用的自动升级
一.esky介绍 Esky is an auto-update framework for frozen Python applications. It provides a simple API t ...
- Orange Pi 3 GPIO 笔记
这是我写过的最水的文章 设备:Orange pi H6,Pi 3 引脚图: (使用Wiringpi 查看GPIO) +------+-----+----------+------+---+Orange ...
- mysql host'XXX' is not allowed to connect to this mysql server
错误的原因一般是没有添加 IP可远程的权限. 首先以 root 帐户登陆 MySQL 1.在 Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,然后cd 进入MySQL 的 bin ...
- BZOJ4552:[TJOI2016&HEOI2016]排序(线段树,二分)
Description 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题,需要你来帮助他. 这个难题是这样子的:给出一个1到n的全排列,现在对这 ...
- [AHOI2014/JSOI2014]支线剧情
题目 有源汇上下界最小费用可行流 首先注意到要求是每一条边都经过至少一次,所以对于每一条边我们设成\([1,\infty]\)就好了 另外所有点都能结束剧情,所有点都要向汇点\(t\)连一条\([0, ...