l LAB:DOM-Based cross-site scripting
题目叫我们用WebGoat/images/logos/owasp.jpg 图片来污染网页
可以看到当我们在文本框中出入字符后网页会立即显示输入的字符,所以我在文本框中输入如下的html代码,提交后STAGE1完成
Stage2:
文本框中输入
Stage3:
在文本框中输入
Stage4:
在文本框中输入Please enter yourpassword:
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,将response的body替换为
“document.forms[0].SUBMIT.disabled = false;”
还有一种在Firefox中可行的方法是直接用firebug修改网页源码,将按钮的属性disabled=‘’去掉就行了
l XML Injection
使用webscarab拦截response
在root标签中加入另外两个商品
点击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从而免费获得商品