20145202马超《网络对抗》Exp9*_* Web安全基础实践
本实践的目标理解常用网络攻击技术的基本原理。Webgoat实践下相关实验。
1.实验后回答问题
(1)SQL注入攻击原理,如何防御
- 感觉上次做的也是sql注入,就是故意的非法输入(输入的是一些指令)让他读进去,然后在里面执行。
- 防御手段:一个是字符串检测,另一个是限制输入字符串的长度。
(2)XSS攻击的原理,如何防御 - xss攻击就是攻击网页使得其他用户查看网页时受到影响。
- 防御手段:程序员应该防止下发界面显示html标签,把</>等符号转义
(3)CSRF攻击原理,如何防御 - 通过伪装来自受信任用户的请求来利用受信任的网站,即受害用户登录受信任网站后,在本地生成了COOKIE而又在不登出该网站的情况下,访问了危险网站,而此时访问的危险网站可能就已经写入了利用你的身份进行而恶意操作的代码
- 防御手段:少登陆不知名网站,不长时间保存cookie
实验指导:http://www.cnblogs.com/20145224kevs/p/6826084.html
2.实验总结与体会 - 感觉我所做的就是站在巨人的肩膀上稍微跳了一下,因为这次课题负责人是我舍友感觉他在自己做的时候还是很累的,然而我们做的时候是可以根据他找到的答案来直接将结果做出来,是比较快,而且轻松的,这可能也就是研究性学习和普通学习之间的区别。
3.实践过程记录
这次尝试一波文字描述
启动WebGoat
- 在终端使用指令java -jar webgoat-container-7.0.1-war-exec.jar,等待其显示
信息: Starting ProtocolHandler ["http-bio-8080"] 打开浏览器,访问localhost:8080/WebGoat,登陆即可开始答题。
Injection Flaws
- Command Injection:命令注入,要求能够在目标主机上执行任意系统命令即可;
1.首先我们需要确定进行注入的位置,网页中并没有文本框,只有一个下拉的选项栏,所以我们只能修改这个下拉栏的值。有两种方式可以修改,可以使用BurpSuite拦截再修改,也可以直接修改页面源代码;
2.我这次试验并没有用到BurpSuite使用的是修改页面代码的方法
3.使用组合键Shift+Ctrl+C查看页面源代码,鼠标单击下拉选项栏,这时候会自动的帮你定位到相应的代码段,找到其中一个option,右键鼠标Edit HTML,这时候就可写东西了。
4.css应该是内嵌或者外嵌的框架,右键了以后发现并不能改,script里面可以在代码段里设置断点,html里面可以直接编辑。
5.直接在option后加上"&&ifconfig"即可,然后回到网页,找到并且提交刚刚修改过的选项。ifconfig是看ip和网关,用别的也行 - Numeric SQL Injection:数字型SQL注入,要求通过注入SQL字符串的方式查看所有的数据;
1.同样是修改页面代码,先查看页面源代码。
2.然后锁定到具体的代码,点击下拉栏。
3.往里面加入代码,这里在Value后加上or 1 = 1 - -即可 - Log Spoofing:日志欺骗,要求使用户名为“admin”的用户在日志中显示“成功登录”(实际上并没有成功);
这个实验主要是为了欺骗人眼,由于页面会将输入的用户名返回,所以我们可以在用户名上动手脚,输入用户名%0d%0aLogin Succeeded for username: admin;
其中%0a%0d是ASCII码的回车换行的意思 - String SQL Injection:字符串注入,要求通过SQL注入将所有信用卡信息显示出来;
有文本框的题相对来说都比较轻松,输入' or 1 = 1 --即可 LAB SQL Injection【SQL注入实验】:
1.String SQL Injection:字符串型注入,要求使用SQL注入绕过认证,实现无密码登陆;
先把长度限定改为15,把文本框格式改为text,在密码栏输入' or 1 = 1。
2。Numeric SQL Injection:数字型注入,要求使用一个普通员工的账户,浏览其BOSS的账户信息;
首先通过Larry的账户登陆(密码为larry),我们先试着把Value的值改为Boss的对应值修改为112 or 1= 1,这次成功了输出信息,但是还是Larry的信息,看了别人的博客发现应该是将最首位的信息输出。那么这次我们可以对信息进行排序让他排在首位。用社会工程学解释老板应该是工资最高的,所以为了把老板排到第一个SQL注入排序如下112 or 1=1 order by salary desc;Database Backdoors:数据库后门,要求使用SQL注入修改员工工资;
如果熟悉SQL语句的话可以指定,修改信息用update语句,具体注入语句为:101 or 1=1; update employee set salary=100000Blind Numeric SQL Injection:数字型盲注入,要求找到pins表中cc_number字段值为1111222233334444的记录中pin字段的数值;
感觉利用折半查找会比较快一点,但是我没有用,因为看别人的博客答案已经被确定为为2364,我试了一下,竟然2364是对的,那就说明每个人的答案都一样,这并不是随机的。Blind String SQL Injection:字符串型盲注入,要求找到pins表中cc_number字段值为4321432143214321的记录中pin字段的数值。pin字段类型为varchar;
这个题目我依旧是抄的答案只不过是猜ASCII的值罢了,答案是Jill;
上面这两个题目如果要自己做的话会比较久,可能需要专门写个脚本不停的循环来试,不过计算机的优点也就在于速度快。Cross-Site Scripting (XSS)
- Phishing with XSS:XSS钓鱼,要求创建一个表单,诱骗访问者输入用户名密码,并将表单提交到http://localhost:8080/WebGoat/capture/PROPERTY=yes&ADD_CREDENTIALS_HERE
代码:This feature requires account login:
Enter Username:Enter Password:
上面那段代码竟然会直接在博客园以这种方式呈现,不过这样也好。 - Stored XSS Attacks:存储型XSS攻击,要求在信件中写入一个网页或弹窗:
具体代码应该是 - Reflected XSS Attacks:反射型XSS攻击,要求得到脚本访问信用卡表单字段
"); - Cross Site Repuest Forgery
1.这个实践是利用cookie冒名登录,用代码伪造请求
2.在message里面输入 CSRF Prompt By-Pass
这个问题大家写的大概分为两种,一中是写两个iframe的另一种是蔡野同学的,这个攻击我并不是很懂而且通过评语来看写两个frame好像不太对,但我用两个frame确实能够做出来。
注释:这博客园有个大问题,应该算是个漏洞吧,我在博客院里面写web的代码他会直接识别(至少是直接识别一部分),我打算免考题往这个方向做。
20145202马超《网络对抗》Exp9*_* Web安全基础实践的更多相关文章
- 20155324《网络对抗技术》web安全基础实践
20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...
- 20145311王亦徐 《网络对抗技术》 Web安全基础实践
2014531王亦徐 <网络对抗技术> Web安全基础实践 实验内容 利用WebGoat平台尝试了一些XSS.CSRF.SQL注入攻击 基础问题回答 1.SQL注入攻击原理,如何防御原理: ...
- 20145325张梓靖 《网络对抗技术》 Web安全基础实践
20145325张梓靖 <网络对抗技术> Web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 XSS攻击:Stored XSS Attacks.Ref ...
- 20155217《网络对抗》Exp09 Web安全基础实践
20155217<网络对抗>Exp09 Web安全基础实践 实践内容 关于webgoat:询问了很多人在安装webgoat时出现了错误,安装失败,因此直接通过同学copy了老师的虚拟机进行 ...
- 20145302张薇 《网络对抗技术》 web安全基础实践
20145302张薇 <网络对抗技术> web安全基础实践 实验问题回答 1.SQL注入攻击原理,如何防御 原理:攻击者把SQL命令插入到网页的各种查询字符串处,达到欺骗服务器执行恶意的S ...
- 20145321 《网络对抗技术》 Web安全基础实践
20145321<网络对抗技术> Web安全基础实践 基础问题回答 1.SQL注入攻击原理,如何防御? SQL注入就是通过把SQL命令插入到“Web表单递交”或“输入域名”或“页面请求”的 ...
- 20145337《网络对抗技术》Web安全基础实践
20145337<网络对抗技术>Web安全基础实践 一.实验后回答问题 1.SQL注入攻击原理,如何防御 SQL注入攻击的本质是利用SQL语法,针对应用程序开发过程中的漏洞,从一个数据库获 ...
- 20145214 《网络对抗技术》 Web安全基础实践
20145214 <网络对抗技术> Web安全基础实践 1.实验后回答问题 (1)SQL注入攻击原理,如何防御 SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的 ...
- 20145210姚思羽 《网络对抗技术》 Web安全基础实践
20145210姚思羽 <网络对抗技术> Web安全基础实践 实验后回答问题 1.SQL注入攻击原理,如何防御 ·SQL攻击的原理很简单,就是在用户名输入框里输入SQL语句,来欺骗数据库服 ...
- 20145336 张子扬 《网络对抗技术》 web安全基础实践
2014536 张子扬<网络攻防>Exp9 Web安全基础实践 实验准备 开启webgoat 1)开启webgoat,打开WebGoat: java -jar webgoat-contai ...
随机推荐
- 360网站卫士SQL注入绕过案例一个
不要以为用了360就可以高枕无忧,直接在netcraft的site_report中找到源站服务器IP,直接SQL脱裤,甚至可获取服务器权限. 存在漏洞的网站: 手工测试存在注入点: 但是网站有360保 ...
- java学习第一步,使用IntelliJ IDEA编写自己的第一个java程序
首先下载java的jdk,然后说一下IDEA的配置 IntelliJ IDEA目前公认的最好的java开发工具,不过一般的学校的教学还是使用eclipse来进行java的开发.所以老师一般只会教你如何 ...
- JQuery获取和设置Select选项的常用方法总结
1.获取select 选中的 text: $("#cusChildTypeId").find("option:selected").text(); $(&q ...
- UVa 11082 - Matrix Decompressing(最大流)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- Yii2控制器 返回 json 格式数据
Yii::$app->response->format = Response::FORMAT_JSON; $data = User::find()->where([])->as ...
- Java之生成Pdf并对Pdf内容操作
虽说网上有很多可以在线导出Pdf或者word或者转成png等格式的工具,但是我觉得还是得了解知道是怎么实现的.一来,在线免费转换工具,是有容量限制的,达到一定的容量时,是不能成功导出的;二来,业务需求 ...
- 如何设置ASP.NET页面的运行超时时间 (转载)
全局超时时间 服务器上如果有多个网站,希望统一设置一下超时时间,则需要设置 Machine.config 文件中的 ExecutionTimeout 属性值.Machine.config 文件位于 % ...
- qsort()与sort的用法(收藏)
sort()函数是C++中的排序函数其头文件为:#include<algorithm>头文件: qsort()是C中的排序函数,其头文件为:#include<stdlib.h> ...
- 前端基础-CSS的属性相关设置
一 字体属性 二 文本属性 三 背景属性 四 盒子模型 五 盒子模型各部分详解 一. 字体属性 1.font-weight:文字粗细(表格中*为重点) 取值 描述 normal 默认值,标准粗细 ...
- Nodejs中获取参数以及处理参数
先看题干效果 在这里我们建了一个表单 填入表单需要提交的信息 对两个参数进行获取和一个加法计算 表单html代码 <form action='http://localhost:8080' met ...