- 39
- 0
- 约2.93千字
- 约 10页
- 2016-08-23 发布于江苏
- 举报
Web应用程序典型安全漏洞实验
1.实验简介
实验所属系列:实用信息安全技术
实验对象: 本科/专科信息安全专业
相关课程及专业:计算机基础,信息安全基础
实验时数(学分):2学时
实验类别:实践实验类
2.预备知识
本实验要求实验者具备如下的相关知识。
1、认证安全漏洞原理
Authentication Flaws是存在于网络设备所使用的互联网操作系统中的一种漏洞。系统中存在认证绕过漏洞,可能允许远程攻击者绕过扩展认证,非授权访问网络资源。 攻击者可以通过向系统发送畸形报文的方式完成扩展认证,非授权访问网络资源。
Forgot Password测试项原理:Web应用程序经常提供一种让他们的用户能够找回忘记的密码的机制,但通常许多Web应用程序无法正确执行这种机制,用来验证用户身份的信息往往是过于简单的。这就在某种程度上提供了一种可攻击的漏洞。
2、测试工具
WebGoat是一个用来演示Web应用程序中的典型安全漏洞的应用程序,受用在应用程序安全审计的上下文中系统、条理地讲解如何测试和利用这些安全漏洞。WebGoat是用Java语言写成的,因此可以安装到所有带有Java虚拟机的平台之上。此外,它还分别为Linux和Windows系统提供了安装程序。部署该程序后,可以使用该程序来完成多个WEB安全漏洞的训练。当前提供的训练课程有30多个,其中包括:跨站点脚本攻击(XSS)、访问控制、线程安全、操作隐藏字段、操纵参数、弱会话cookie、SQL盲注、数字型SQL注入、字符串型SQL注入、Web服务、Open Authentication失效危险的HTML注释等等。
3.实验目的
掌握基于应用层的弱点测试手段与方法。
4.实验环境
软件环境Windows xp
实验工具:WebGoat
5.实验内容和步骤
本实验针对网站存在的各种漏洞,使用WebGoat-5.2对这些漏洞进行攻击实验,具体实验内容如下:
实验步骤一:Forgot Password与Log Spoofin实验
(1)Forgot Password
在存储目录中找到WebGoat-5.2文件夹,打开后双击打开其中的webgoat批处理文件。打开Internet Explorer浏览器,在地址栏中输入:http://localhost/WebGoat/attack,用户名:guest,口令:guest。
在打开的页面中点击“Start WebGoat”。
接下来进行Forgot Password项的攻击。
在左侧列表中找到Forgot Password一项,点击进入。
通常情况下程序员都会采用有意义的名称作为表明和字段名。一般管理员表为admin,新闻表news,留言簿guestbook或guest,文章系统表 article。因此利用一些经验和可能的猜测回答来破解系统,获取用户密码。此处我们尝试admin,然后点击“Submit”。
弹出以下页面,说明用户名存在,现在要求回答认证问题,由页面文字信息可以得知Webgoat用户的答案为red,故猜测问答的答案可能仅仅为简单的颜色。
尝试yellow,发现并没有通过。再尝试green,发现通过,得到了admin账户的密码。
获取结果
(2) Log Spoofing
这一实验方法是“日志欺骗”,然后通过提示可以发现要使用%0d%0a来换行,造成接下来的内容被视为日志,即输入,Smith %0d%0aLogin Succeeded for username: admin,结果如下所示:
实验任务一练习题:支持安全WEB服务的协议是:【单选题】
【A】HTTPS 【B】WINS 【C】SOAP 【D】HTTP
实验任务二:SQL注入实验
(1)String SQL Injection
这里从给出的SQL代码提示可以看出,这是一个select语句:SELECT * FROM user_data WHERE last_name = Your Name,所以尝试进行SQL注入,通过构造永真逻辑,来完成SQL注入,具体如下所示:
对应的SQL代码变为:SELECT * FROM user_data WHERE last_name = Smith or 1 = 1,便会成功列举出所有信息。
(2) Numeric SQL Injection
首先还是先分析代码:SELECT * FROM weather_data WHERE station = 101,从给出的代码可以看出,这段代码依旧存在SQL注入漏洞。但是由于是一个下拉菜单,所以无法直接进行SQL注入,这里利用代理工具burp suite进行抓包修改:
这里可以看出,station代表所需要
原创力文档

文档评论(0)