20145304 Exp9 Web安全基础实践
20145304 Exp9 Web安全基础实践
实验后回答问题
(1)SQL注入攻击原理,如何防御
SQL注入是将查询语句当做查询内容输入到查询的框中,以此来使服务器执行攻击者想让它执行的语句,而不是正常的应该执行的查询语句。
可在编写Web时进行输入语句合法性的判断,例如不允许出现SQL注入攻击中常出现的单引号或规定输入内容的类型等来判断输入是否合理,以此来防御攻击。
(2)XSS攻击的原理,如何防御
XSS是指将可以被浏览器执行的代码放入URL中,使其被执行。
可在编写Web时对输入语句进行合法性判断,例如不允许出现尖括号之类的判断条件。
(3)CSRF攻击原理,如何防御
CSRF是指用户登录信任网站时,也访问了危险网站,执行了危险网站中的一些恶意请求。
开wireshark捕包,看是否访问了恶意网站;设置web不长时间保存cookie;重要的网站使用专用的cookie等。
实验总结与体会
此次实验,掌握了SQL、XSS和CSRF攻击的同时,掌握了很多单词,还有了想去网站测试SQL注入的冲动,虽然能成功的概率很小。Web编程是一项很严谨的工作,需要注意的地方有很多,对输入的合法性要严格把控,不要盲目的执行用户输入,要先进行思考。
实践过程记录
Stored XSS Attacks
存储式XSS攻击
在进行攻击之前,先试了一下该任务的正常功能,输入标题和信息后,在Message List下多出来一个可点选的标题,点开后可以看到自己的发的帖子。
在message或title中填写可在Web网页下可以执行的代码即可完成攻击,但效果不同,在title中填写的代码会在submit后立即执行且不会再list下产生新的东西,而在massage中填写,则需点击该message的title才会执行添加的代码,在list中留有痕迹。
此次实验在massage中攻击成功后算通过。
Reflected XSS Attacks
反弹式XSS攻击
通过对题意的猜测,应该是利用服务器验证用户输入内容时对其进行攻击,提示可以将其发送到某一网站或发邮件,是受害者点击它。
实现了较为简单的在输入3个验证数字的框中多增添一个编好的并不属于原网站所需输入项来进行攻击,为方便观察,还是输入一个文本框
input=<script>alert("ha ha ha!");</script>
CSRF
发送一个email给新团体,包含指向恶意请求的URL
根据提示修改相应值,自动连接包含恶意请求的URL,像是钓鱼网站,在不知情的情况下登陆了了攻击者的URL。
- 点击生成的邮件,攻击成功。
CSRF Prompt By-Pass
- 该实验有两个要求,第一是包含恶意请求,第二是确认第一个要求是否攻击成功。
<iframe
src="attack?Screen=271&menu=900&transferFunds=5000">
</iframe>
<iframe
src="attack?Screen=271&menu=900&transferFunds=CONFIRM">
</iframe>
CSRF Token By-Pass
- 按照提示填写了代码,但没有找到提示中的token将其附加上去,导致失败,待再研究,可能是理解错了。
Log Spllfing
- 注入语句,使其显示登陆成功但其实并未登陆成功,即将登陆成功打印出来。
- 使用回车换行,将语句打印出来
String SQL Injection
- 通过SQL注入,将所有信息打印出来,而不只是需要查询的人。
- 利用永真式和注释符来实现。
Numeric SQL Injection
数字型SQL注入
下拉表单的注入,用户无法自由的输入,但可截获发送出去的请求包,修改后,再发送到服务器。
要求选择一个时打印出全部,可以使用永真式。
尝试了一下在网页上直接修改其代码
Database Backdoors
注入语句,修改数据库中的资料。
第一步:修改101的salary值
第二步:修改所有用户邮箱为固定邮箱。
Blind Numeric SQL Injection
- 查看题目,发现只能查询输入的账户是否存在,然而,题目要求我们查询cc_number为1111222233334444的pins值。
- 此时只能猜测数据库中的内容,利用已有信息与AND语句来让其判断是否为真,从而猜测到数据库中的内容。
Blind String SQL Injection
- 猜测数据库中的字符串内容
- 猜测数据库中的字符串内容
20145304 Exp9 Web安全基础实践的更多相关文章
- 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注入攻击原理,如何 ...
- 20155202《网络对抗》Exp9 web安全基础实践
20155202<网络对抗>Exp9 web安全基础实践 实验前回答问题 (1)SQL注入攻击原理,如何防御 SQL注入产生的原因,和栈溢出.XSS等很多其他的攻击方法类似,就是未经检查或 ...
- 20155204《网络对抗》Exp9 Web安全基础实践
20155204<网络对抗>Exp9 Web安全基础实践 一.基础问题回答 SQL注入攻击原理,如何防御? 原理: SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以 ...
- 20155210 Exp9 Web安全基础实践
Exp9 Web安全基础实践 实验过程 开启webgoat 输入java -jar webgoat-container-7.1-exec.jar,来运行webgoat 在浏览器输入localhost: ...
- 20155211 网络对抗 Exp9 Web安全基础实践
20155211 网络对抗 Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语 ...
- 20155216 Exp9 Web安全基础实践
Exp9 Web安全基础实践 基础问题回答 1.SQL注入攻击原理,如何防御? 1.对用户的输入进行校验,可以通过正则表达式,双"-"进行转换等. 2.不要使用动态拼装sql,可以 ...
- 20155220 Exp9 Web安全基础实践
Exp9 Web安全基础实践 实验过程 开启webgoat 输入java -jar webgoat-container-7.1-exec.jar,来运行webgoat 在浏览器输入localhost: ...
随机推荐
- linux系统下top命令参数详解
简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...
- Docker Hub Mirror
什么是Docker Hub Mirror? 根据Docker的官方文档,Mirror的定义是: Such a registry is provided by a third-party hosting ...
- Django - 补充目录
Django项目部署 importlib应用 - django contenttypes - django组件 Django - Model操作 Django - 用户认证.用户组.用户权限 Djan ...
- 洛谷P3243 [HNOI2015]菜肴制作 拓扑排序+贪心
正解:拓扑排序 解题报告: 传送门! 首先看到它这个约束就应该要想到拓扑排序辣QwQ 首先想到的应该是用优先队列代替队列,按照节点编号排序 然后也很容易被hack:<5,1> 正解应为5, ...
- linux桌面与命令模式切换
在图形下面按Ctrl+alt+F1(F2\F3\F4)进入命令模式 在命令模式下,按Ctrl+alt+F7回到图形,或登录用户输入startx进入图形!
- Python 列表 extend() 方法
描述 Python 列表 extend() 方法通过在列表末尾追加可迭代对象中的元素来扩展列表. 语法 extend() 方法语法: L.extend(iterable) 参数 iterable -- ...
- 版本 ------- 2017年最受开发者欢迎的10个Linux发行版
1.Arch Linux Arch Linux在安装过程中提供了强大的可定制选择,支持你下载和安装自己所需的程序包.虽然这个选择对新手来说没有多大的帮助,但是它确实能够帮助那些使用Arch构建系统和存 ...
- col-md-1
.col-md-12 { width: 100%; } .col-md-11 { width: 91.66666666666666%; } .col-md-10 { widt ...
- sqlplus与shell互相传值的几种情况
2578人阅读 sqlplus与shell互相传值的几种情况 情况一:在shell中最简单的调用sqlplus $cat test.sh #!/bin/sh sqlplus oracle/orac ...
- 深入浅出TCP之listen
原文:http://blog.chinaunix.net/uid-29075379-id-3858844.html int listen(int fd, int backlog); 有几个概念需要在开 ...