20145230熊佳炜《网络对抗》实验九:web安全基础实践
20145230熊佳炜《网络对抗》实验九:web安全基础实践
webgoat
- webgoat的中文是代罪羔羊的意思,而它是一个有很多漏洞的web应用程序,我们可以利用它来研究关于web应用程序的安全性。
- 在我们的kali虚拟机中输入java -jar webgoat-container-7.0.1-war-exec.jar即可运行我们的webgoat。
- webgoat默认使用的是8080端口,打开火狐浏览器,可以进入到webgoat的主页,我们可以找到自己感兴趣的题目进行练习。
Phishing with XSS
- 首先我们需要在搜索栏中输入攻击代码,输入完毕之后点击search。
- search完毕之后它会要求我们输入用户名和密码。
- 输入完毕之后选择确定就可以成功攻击了。

Stored XSS Attacks
- 我们需要创建一个帖子,然后让它在弹出的窗口中显示出来。
- 在标题栏可以随便输入任何指令,消息那一栏需要写入我们的代码。
- 然后点击我们刚才创建的帖子就会看到弹窗,表面攻击成功。

Reflected XSS Attacks
- 还是感觉和上一个Stored XSS攻击的方法差不多。
- 在access那一栏输入一个攻击代码,点击purchase后,如果弹出我们输入的代码的内容,就表示我们攻击成功了。

Cross Site Request Forgery
- CSRF就是冒名登录,用代码伪造请求。
- 写一个URL诱使其他用户点击,从而触发CSRF攻击。
- 还是通过在消息栏输入攻击代码,然后用户点击后会显示我们已经攻击成功了。
CSRF Prompt By-Pass
- 这个和上一个题目攻击方法也是相对比较类似的,但在消息栏输入我们的攻击代码并不能成功。
- 所以只能通过浏览器输入,输入后会看到confirm选项,点击它。
- 最后刷新一下网页,会发现我们已经成功转账。

String SQL Injection
- 这个题目相对来说极其简单,就是我们在web基础里面SQL也用到的' or 1=1 --'这个式子,因为这个式子是一个永真式,所以输入完后点击go,会发现会显示出所有的结果。
LAB:SQL Injection(Stage 1:String SQL Injection)
- 这个题目原理还是要求我们利用' or 1=1 --'这个永真式,但是没有上一题那样简单。
- 这一题我们登陆密码换成了1=1也无济于事,因为网页源码中限制了密码最大长度。
- 我们通过查看网页源码,将最大密码长度修改之后,再登录,便会发现我们成功。
Database Backdoors
- 这是一个关于修改后台数据的一道题目。
- 我们先输入101可以查看到larry的信息,然后我们可以通过攻击代码修改larry的工资信息。
- 在username那我们还可以新建一个后门,将自己的用户名和邮箱应用于数据库中所有用户,这就表明攻击成功。

Log Spoofing
- 这个题目其实顾名思义,就是登陆欺骗用户。
- 原理就是我们输入错误的用户名后,它返回给我们的信息还是我们登陆成功。也就是我们要在用户名那写一个SQL的字符串。
Command Injection
- 这个界面可以执行系统命令并返回给用户。
- 所以我们可以用BurpSuite拦截到一个请求,然后修改其中的参数。最后我们在网页中可以看到修改过后要我们显示的结果。
感受
- 不知道为什么,做这次最后一次实验的时候电脑会出奇的卡,写了很久的东西,眼看快要完成了,电脑莫名其妙的未响应,一天连续出现了好几次。反正很烦,甚至想砸电脑,可能是天气太热了,电脑可能温度太高了吧。自己大概了解了关于SQL和XSS攻击的一些套路吧,但感觉要想更加深入了解,需要自己花很多功夫,不是模仿其他人做几道练习就能成功的。希望自己能控制好自己的情绪,努力学习吧。
基础问答
1.实验后回答问题
(1)SQL注入攻击原理,如何防御
答:
原理:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
防御: 普通用户与系统管理员用户的权限要有严格的区分, 要强迫使用参数化语句,加强对用户输入的验证,多多使用SQL Server数据库自带的安全参数,必要的情况下使用专业的漏洞扫描工具来寻找可能被攻击的点。
(2)XSS攻击的原理,如何防御
答:
原理:XSS是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。
防御:对用户输入数据进行输入检查,也要进行输出检查,对用户输入的html 标签及标签属性做白名单过滤,也可以对一些存在漏洞的标签和属性进行专门过滤。
(3)CSRF攻击原理,如何防御
答:
原理:CSRF通过伪装来自受信任用户的请求来利用受信任的网站。
防御:将持久化的授权方法切换为瞬时的授权方法,在form中包含秘密信息、用户指定的代号作为cookie之外的验证。
20145230熊佳炜《网络对抗》实验九:web安全基础实践的更多相关文章
- 20145233《网络对抗》Exp9 Web安全基础实践
20145233<网络对抗>Exp9 Web安全基础实践 实验问题思考 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符 ...
- 20145209刘一阳《网络对抗》Exp9 Web安全基础实践
20145209刘一阳<网络对抗>Exp9 Web安全基础实践 基础问题回答 1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求 ...
- 20155324《网络对抗技术》web安全基础实践
20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...
- 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注入攻击原理,如何 ...
- 20145311王亦徐 《网络对抗技术》 Web安全基础实践
2014531王亦徐 <网络对抗技术> Web安全基础实践 实验内容 利用WebGoat平台尝试了一些XSS.CSRF.SQL注入攻击 基础问题回答 1.SQL注入攻击原理,如何防御原理: ...
- 20145325张梓靖 《网络对抗技术》 Web安全基础实践
20145325张梓靖 <网络对抗技术> Web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 XSS攻击:Stored XSS Attacks.Ref ...
- 20155202《网络对抗》Exp9 web安全基础实践
20155202<网络对抗>Exp9 web安全基础实践 实验前回答问题 (1)SQL注入攻击原理,如何防御 SQL注入产生的原因,和栈溢出.XSS等很多其他的攻击方法类似,就是未经检查或 ...
- 20155204《网络对抗》Exp9 Web安全基础实践
20155204<网络对抗>Exp9 Web安全基础实践 一.基础问题回答 SQL注入攻击原理,如何防御? 原理: SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以 ...
随机推荐
- Packet for query is too large (1166 > 1024). You can change this value
转载: MySQL max_allowed_packet 设置过小导致记录写入失败 mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_pack ...
- the ONLY_FULL_GROUP_BY SQL mode is enabled (which it is by default) 用户变量
MySQL :: MySQL 8.0 Reference Manual :: 5.1.11 Server SQL Modes https://dev.mysql.com/doc/refman/8.0/ ...
- nodejs(二)
nodejs第二章节 回调函数 Node.js 异步编程的直接体现就是回调 异步编程依托于回调来实现 例子1:http服务器回调 var http = require(“http”);//引入一个ht ...
- Win查询注册表获取CPU与内存参数
#include "stdafx.h" void dump_machine_info( HANDLE fh ) { CHAR Str[MAX_PATH*3]; CHAR MHzSt ...
- Django中间件如何处理请求
Django中间件 在http请求 到达视图函数之前 和视图函数return之后,django会根据自己的规则在合适的时机执行中间件中相应的方法. Django1.9版本以后中间件的执行流程 1. ...
- 007-Hadoop Hive sql语法详解2-修改表结构
一.表 更改表名:ALTER TABLE table_name RENAME TO new_table_name 增加表的元数据信息:ALTER TABLE table_name SET TBLPRO ...
- 判断是否关注了微信公众号 subscribe 0=未关注 1=已关注
$appid=''; $secret=''; //微信网页授权获取openid $web_url='http://www.xxxx.com/shouquan.php'; if (!isset($_GE ...
- Linux-vim与ssh客户端
一.vim使用 Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器. (1)vim安装 (2)vim使用:操作模式 一般模式(默认模式,不 ...
- 批处理delims分割时遇到的问题。。
今天写了个将文件每行按逗号分割并取第六行的批处理.但是结果不对.看图一目了然. for 循环的/f 后面的参数是这样的 然后文件的内容是这样的 亮点是倒数第二行..其实6才是第六列的值.其他行第六列都 ...
- 自己动手写RNN
说的再好,也不如实际行动,今天手写了一个RNN,没有使用Numpy库,自己写的矩阵运算方法,由于这也只是个学习用的demo,所以矩阵运算那一部分写的比较丑陋,见笑了. import com.mylea ...