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安全基础实践的更多相关文章

  1. 20145308 《网络对抗》Web安全基础实践 学习总结

    20145308 <网络对抗> Web安全基础实践 学习总结 实验内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 基础问题回答 (1)SQL注入攻击原理, ...

  2. 20145326蔡馨熤《网络对抗》—— Web安全基础实践

    20145326蔡馨熤<网络对抗>—— Web安全基础实践 1.实验后回答问题 (1)SQL注入攻击原理,如何防御. 原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程 ...

  3. 20145216史婧瑶《网络对抗》Web安全基础实践

    20145216史婧瑶<网络对抗>Web安全基础实践 实验问题回答 (1)SQL注入攻击原理,如何防御 攻击原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入web应用程序,而这些 ...

  4. 20145227鄢曼君《网络对抗》Web安全基础实践

    20145227鄢曼君<网络对抗>Web安全基础实践 实验后回答问题 1.SQL注入攻击原理,如何防御? SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是 ...

  5. 20145217《网络对抗》 Web安全基础实践

    20145217<网络对抗> Web安全基础实践 一.实践任务 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.实验后回答问题 (1)SQL注入攻击原理,如 ...

  6. 20155326《网络对抗》Web安全基础实践

    20155326<网络对抗>Web安全基础实践 实验后回答的问题 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是在Web应用对后台数据库查询语句处理存在的安全漏洞,通过构建特殊 ...

  7. 20155206《网络对抗》Web安全基础实践

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

  8. 20155211 网络对抗 Exp9 Web安全基础实践

    20155211 网络对抗 Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语 ...

  9. 20155305《网络对抗》Web安全基础实践

    20155305<网络对抗>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL ...

  10. 20155307《网络对抗》Web安全基础实践

    20155307<网络对抗>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL ...

随机推荐

  1. 【Python】百度贴吧-中国好声音评论爬爬【自练OK-csv提取格式及评论提取空格等问题待改进】

    代码编写思路: 学习知识点: 1.class=a b(a假设是字体-宋体,b是颜色-蓝色:class中可以同时有两个参数a,b(宋体+蓝色),两者用空格隔开即可) 2.拓展1:想要soup到某个元素, ...

  2. Oracle与Sql server 在SQL上的不同

    Oracle与Sql server都遵循SQL-92标准:http://owen.sj.ca.us/rkowen/howto/sql92F.html,但是也有一些不同之处,差别如下: Oracle中表 ...

  3. [py]django第三方分页器django-pure-pagination实战

    第三方分页模块: django-pure-pagination 是基于django的pagination做的一款更好用的分页器 参考 配置django-pure-pagination模块 安装 pip ...

  4. spring security积累

    使用数据库管理用户权限: Spring Security默认情况下需要两张表,用户表和权限表 create table users( username varchar_ignorecase(50) n ...

  5. UMI标签学习【转载】

    转自: https://club.1688.com/threadview/50123159.htm 简单介绍一下利用单分子标签(Unique Molecular Identifier,UMI)对残留噪 ...

  6. Linux实验楼学习之三

    查看用户 who am i or who mom likes who 命令其它常用参数 参数 说明 -a 打印能打印的全部 -d 打印死掉的进程 -m 同am i,mom likes -q 打印当前登 ...

  7. 蒙特卡罗(Monte Carlo)方法简介

    蒙特卡罗(Monte Carlo)方法,也称为计算机随机模拟方法,是一种基于"随机数"的计算方法. 二 解决问题的基本思路 Monte Carlo方法的基本思想很早以前就被人们所发 ...

  8. 机器学习理论基础学习14.2---线性动态系统-粒子滤波 particle filter

    一.背景 与卡曼滤波不同的是,粒子滤波假设隐变量之间(隐变量与观测变量之间)是非线性的,并且不满足高斯分布,可以是任意的关系. 求解的还是和卡曼滤波一样,但由于分布不明确,所以需要用采样的方法求解. ...

  9. python接口自动化-token参数关联登录(二)

    原文地址https://www.cnblogs.com/yoyoketang/p/9098096.html 原文地址https://www.cnblogs.com/yoyoketang/p/68866 ...

  10. iOS手机应用开发原型模板及开发流程

    在开始做一个项目的时候,究竟需要准备些什么前期工作呢,在外包公司中,又是一个怎么样的开发步骤呢?下面,按照我的理解,说一下. 项目流程图 看上图,从左往右,如果我们仅是一名开发工程师,只需要关心上图中 ...