20145306 网路攻防 web安全基础实践
20145306 网络攻防 web安全基础实践
实验内容
- 使用webgoat进行XSS攻击、CSRF攻击、SQL注入
- XSS攻击:Stored XSS Attacks、Reflected XSS Attacks
- CSRF攻击:Cross SSite Request Forgery(CSRF)、CSRF Prompt By-Pass
- SQL注入攻击:Numeric SQL Injection、Log Spoofing、String SQL Injection、Database Backdoors step1、Database Backdoors step2、Blind Numeric SQL Injection
实验过程
webgoat
xss攻击
1.stored xss attacks
2.reflectd xss attacks
同样是在输入框中输入代码,之后点击提交攻击。
4.Cross Site Request Forgery 攻击
- 跨站请求伪造攻击。攻击者盗用身份,发送恶意请求。 要完成一次CSRF攻击,受害者必须依次完成两个步骤:1.登录受信任的网站A,并在本地生成Cookie;2.不退出登录的情况下,网文危险网站B。
5.CSRF Prompt By-Pass攻击
- 与上一个实验相似,发送恶意请求。将参数写入title。
SQL注入攻击
Numeric SQL Injection
- 通过sql注入取得所有天气信息。
- 使用Burpsuite代理,对网页传送的内容编辑之后发送给服务器。
- 设置浏览器,与burpsuite:
String SQL Injection
- 和上一个实验类似,通过sql注入实现获得所有数据。
- 构造一个永真试’ or 1=1 ;
Database Backdoors
- 实现多条sql语句的注入。
databases Backdoors 2
- 实现使用SQL语句实现在myBackDoor表中一旦添加新用户,那么户表里新用户的邮箱改为题目固定的邮箱。
log spoofing
- 通过在输入用户名框回车 换行等字符,出现登录成功的假象。
Blind Numeric SQL Injection
- 该实验的目的是要找cc_number为1111222233334444的pin大小。
- 在number框中输入101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 5000 );看值是否大于5000;
- 依次尝试,锁定一个范围2250-2375;
- burpsuite设置好代理 抓包然后暴力破解。
问题回答
- SQL注入攻击原理,防御
- 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。 根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。
- 防御:通过正则表达式来操作,对用户输入矫验;不把机密信息明文存放,加密敏感信息。
- XSS攻击的原理,防御
- 原理:XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。这些代码包括HTML代码和客户端脚本。这种类型的漏洞由于被骇客用来编写危害性更大的phishing攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。
- 防御:对“javascript”这个关键字进行检索,一旦发现提交信息中包含“javascript”,就认定为XSS攻击
- CSRF攻击原理,防御
- SQL注入攻击原理,防御
20145306 网路攻防 web安全基础实践的更多相关文章
- 20145335郝昊《网络攻防》Exp9 Web安全基础实践
20145335郝昊<网络攻防>Exp9 Web安全基础实践 实验内容 理解常用网络攻击技术的基本原理. 完成WebGoat实践下相关实验 实验步骤 XSS注入攻击 Phishing wi ...
- 《网络攻防》Web安全基础实践
20145224陈颢文 <网络攻防>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御: 部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,黑客利用这个bug在数 ...
- 20145326蔡馨熤《网络对抗》—— Web安全基础实践
20145326蔡馨熤<网络对抗>—— Web安全基础实践 1.实验后回答问题 (1)SQL注入攻击原理,如何防御. 原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程 ...
- 20155202《网络对抗》Exp9 web安全基础实践
20155202<网络对抗>Exp9 web安全基础实践 实验前回答问题 (1)SQL注入攻击原理,如何防御 SQL注入产生的原因,和栈溢出.XSS等很多其他的攻击方法类似,就是未经检查或 ...
- 20155210 Exp9 Web安全基础实践
Exp9 Web安全基础实践 实验过程 开启webgoat 输入java -jar webgoat-container-7.1-exec.jar,来运行webgoat 在浏览器输入localhost: ...
- 20155220 Exp9 Web安全基础实践
Exp9 Web安全基础实践 实验过程 开启webgoat 输入java -jar webgoat-container-7.1-exec.jar,来运行webgoat 在浏览器输入localhost: ...
- 20155304 《网络对抗》Exp9 web安全基础实践
20155304 <网络对抗>Exp9 web安全基础实践 实验后回答问题 (1)SQL注入攻击原理,如何防御 攻击原理:web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应 ...
- 20155306白皎 《网络对抗》 Exp9 Web安全基础实践
20155306白皎 <网络对抗> Exp9 Web安全基础实践 一.基本问题回答 SQL注入攻击原理,如何防御 原理是: 就是通过把SQL命令插入到"Web表单递交" ...
- 20145336 张子扬 《网络对抗技术》 web安全基础实践
2014536 张子扬<网络攻防>Exp9 Web安全基础实践 实验准备 开启webgoat 1)开启webgoat,打开WebGoat: java -jar webgoat-contai ...
随机推荐
- python中的字符串切片
python中的字符串切片,似乎有点乱,例如: >>>pystr='Python' >>>pystr[2:5] 就会输出 'tho' 这该怎样理解呢?中括号[2:5 ...
- prometheus and collectd and docker
sudo docker run --name prometheus -d -v /data/prometheusdata/prometheus.yml:/etc/prometheus/prometh ...
- Cocos2d比较好的博客
1 .http://blog.csdn.net/bill_man/article/details/7202458 学习笔记 2.http://cocos2d-x.org/ 官网 3.http://ww ...
- 让WIN7桌面显示IE图标
首先新一个文本文件,将以下代码复制到新建文档中.然后保存为IE.reg,右键以管理员权限运行.此时,注册表注册成功.LOOK,IE图标出来了 Windows Registry Editor Versi ...
- 【python+opencv】轮廓发现
python+opencv---轮廓发现 轮廓发现---是基于图像边缘提取的基础寻找对象轮廓的方法, 所有边缘提取的阈值选定会影响最终轮廓发现的结果. 介绍两种API使用: -cv.findConto ...
- sql server中的日期详解使用(convert)
转自:http://blog.csdn.net/hehe520347/article/details/48496853 有个字段值例如2012-07-02 00:00:00.000 转化成 2012- ...
- Java-小技巧-002-String 转 long
1.转化 long l = Long.parseLong([String]); 相当于 long l = Long.parseLong([String],10); long l = Long.valu ...
- react-native 完整实现登录功能
react native实现登录功能,包括ui的封装.网络请求的封装.导航器的实现.点击事件. demo下载:react-native 完整实现登录功能 后台如果是springmvc实现的需要配置上如 ...
- react-native 相关问题
使用create-react-native-app时,报错,好像是npm版本不对,想问下npm怎么降低版本? npm install npm@4 -g 创建并启动项目 老方法1 创建项目 react ...
- vue中两种路由跳转拼接参数
this.$router.push({name:"Home",query:{id:1,name:2}}) // 取到路由带过来的参数 let routerParams = this ...