美文网首页
WebGoat<三> AJAX Security : AJAX

WebGoat<三> AJAX Security : AJAX

作者: SuperRoot | 来源:发表于2017-07-08 17:25 被阅读0次

01、LAB: Client Side Filtering :客户端过滤
查找Neville Bartholomew 的工资是多少?

客户端过滤,有些时候服务器返回的了很多条信息,只挑选了其中少数进行显示,可以在返回的html源码中看到全部的信息.
选中名字附近元素点击"检查"
在源码中搜索关键词"hidden" "Joanne"等
发现有3个"Joanne",其中一个隐藏了Neville的信息

或 直接抓包-->放包 一步到位

注意:一定要先点开看到别人的额工资后,再看html源码。因为刚开始客户端是没有工资数据的,只有看到别人的工资了,才把数据都返回给客户端了

WechatIMG125.jpeg WechatIMG124.jpeg

Stage2:
打开clientSideFiltering.jsp,
(/Users/chenlei/Documents/WebGoat/.extract/work/Tomcat/localhost/WebGoat/org/apache/jsp/plugin_005fextracted/plugin/ClientSideFiltering/jsp)

 StringBuffer sb = newStringBuffer();
 sb.append("/Employees/Employee/UserID | ");
sb.append("/Employees/Employee/FirstName | ");
sb.append("/Employees/Employee/LastName | ");
sb.append("/Employees/Employee/SSN | ");
sb.append("/Employees/Employee/Salary ");
String expression = sb.toString();

修改为

StringBuffer sb = newStringBuffer();
sb.append("/Employees/Employee[Managers/Manager/text() = " +userid + "]/UserID | ");
sb.append("/Employees/Employee[Managers/Manager/text() = " +userid + "]/FirstName | ");
sb.append("/Employees/Employee[Managers/Manager/text() = " +userid + "]/LastName | ");
sb.append("/Employees/Employee[Managers/Manager/text() = " +userid + "]/SSN | ");
sb.append("/Employees/Employee[Managers/Manager/text() = " +userid + "]/Salary ");
String expression = sb.toString();

[LAB:DOM-Based cross-site scripting]
题目叫我们用WebGoat/images/logos/owasp.jpg 图片来污染网页


第一步,让我们用一个图片来作为名字的输入,从而篡改页面。随便输入姓名页面马上就显示了,于是输入:

屏幕快照 2017-07-09 16.33.16.png

提交后STAGE1完成,,owasp的页面就被调用显示了。

第二步,通过使用image的标签制造一个JS的警告弹出,输入:


,提交,成了。

第三步,用IFRAME标签创造一个JS警告弹出,输入:
<iframe src="javascript:alert('WTF')"></iframe>,提交,成了。

第四步,复制给出的内容提交,页面被改成一个密码输入窗口,随便写点儿啥提交,内容就被截获了,也就是刚才介绍的那种供给情况,攻击者可以获取受害者的信息。

第五步,修改脚本以防止攻击,在“/root/WebGoat-5.3_RC1/tomcat/webapps/webgoat/javascript
”中找到DOMXSS.js,修改成:
function displayGreeting(name) {
if (name != ''){
document.getElementByIdx_x("greeting").innerHTML="Hello, " +escapeHTML(name); + "!";
}
}
保存,然后回到页面,尝试进行攻击,失败了,提示课程完成。escapeHTML是啥可在同目录中找到它,一看便知。

DOM Injection
在输入框中输入任意字符


使用webscarab拦截response,将response的body替换为
“document.forms[0].SUBMIT.disabled = false;”
还有一种在Firefox中可行的方法是直接用firebug修改网页源码,将按钮的属性disabled=‘’去掉就行了

[XML Injection]
使用webscarab拦截response


在root标签中加入另外两个商品
<reward>WebGoatCore Duo Laptop 2000 Pts</reward>
<reward>WebGoatHawaii Cruise 3000 Pts</reward>
点击acceptchanges,另外两个商品的信息已经出现

[JSONInjection]
使用webscarab拦截response

将第一个航班的价格改为100,提交

或者用firebug修改

[SilentTransactions Attacks]
首先填入账号,然后填入转账金额,一定不要超过当前帐户的最大余额,因为网页是在客户端通过JavaScript来验证用户输入的金额是否大于账户余额的


提交后,使用webscarab拦截request,


将amount改为1000000

[InsecureClient Storage]
请原谅我未找到,这是从网上找的答案

启用firebug,在如下位置设置断点


**

**


输入任意字符开始调试


当鼠标停在decrypted上面时,可以看到他的值为PLATINUM,这个值就是code的值



在firebug中查找GRANDTOT,将他的readonly属性去掉,



这样就可以修改下面的值,将其修改为0从而免费获得商品

Dangerous Use of Eval

Eval是php语言中执行一段JS代码的意思,这一道题也是一种典型的反射型XSS展示,与刚刚基于DOM的不同,DOM是直接插入新节点,而这个是使用一定技巧,先关闭原本的DOM,然后写自己的DOM,再组装好刚刚被关闭DOM的后半部分.通过php的Eval,alert被执行123');alert(document.cookie);('123后的');使得原本的DOM不受影响,最后的('闭合掉了原本多出的')符号插入代码的样子是('123');alert(document.cookie);('')

Same Origin Policy Protection
/WebGoat/plugin_extracted/plugin/SameOriginPolicyProtection/jsp/sameOrigin.jsp
http://www.google.com/search?q=aspect+security
把这两个网址再输入一次就可以了

相关文章

  • WebGoat<三> AJAX Security : AJAX

    01、LAB: Client Side Filtering :客户端过滤查找Neville Bartholomew...

  • Webgoat ajax

    静默交易攻击(Silent Transactions Attacks) 要点:前台JS进行了用户身份校验,可直接调...

  • Ajax

    标签: Ajax 正文 一、实现一个原生Ajax 二、Ajax状态 三、将原生的 ajax 封装成 promise

  • 一个有趣的登录问题

    spring security中如何弹出登录模态框(form login与ajax login并存)https:/...

  • AJAX的知识梳理

    【目录】 一、用AJAX加载CSS二、用AJAX加载JS三、用AJAX加载HTML四、用AJAX加载XML五、用A...

  • html5的ajax学习(三)

    一.原生的ajax封装 原生的ajax的调用 二.jquery的ajax 2.1 jquery的语法 三. fun...

  • AJAX

    主要内容: ajax 是什么、原生ajax 写法和jQuery ajax写法。 AJAX 是什么 ajax,即As...

  • JavaScript进阶知识点--AJAX及JSON

    AJAX 关于 AJAX 什么是 AJAX AJAX 的全称是 Asynchronous JavaScript a...

  • HTML5权威指南 | 第五部分 高级功能

    三十二、使用AJAX(上) Ajax起步: 使用Ajax事件: Ajax请求的错误处理: 中止Ajax请求: 三十...

  • ajax学习笔记

    Ajax学习笔记 Ajax简介 1. Ajax是什么? Ajax : Asynochronous javascri...

网友评论

      本文标题:WebGoat<三> AJAX Security : AJAX

      本文链接:https://www.haomeiwen.com/subject/hyjrhxtx.html