Web应用程序典型安全漏洞实验.doc_第1页
Web应用程序典型安全漏洞实验.doc_第2页
Web应用程序典型安全漏洞实验.doc_第3页
Web应用程序典型安全漏洞实验.doc_第4页
Web应用程序典型安全漏洞实验.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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实验工具:WebGoat5.实验内容和步骤本实验针对网站存在的各种漏洞,使用WebGoat-5.2对这些漏洞进行攻击实验,具体实验内容如下:1. 实验步骤一: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 【A】HTTPS 【B】WINS 【C】SOAP 【D】HTTP 2. 实验任务二: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代表所需要查询的值,尝试修改为1 or 1=1进行注入尝试:SQL注入结果示意这里尝试在输入框中输入,发现会显示在网页表单下面,可以使用跨站脚本攻击:具体需要注入的代码如下:TomcatPlease login so that you can get more services.Username:Password:继续尝试使用burp suite:(3) Blind SQL Injection实验目的是获取user_data表中的first_name值,由于在表单中填写的数据可以判断用户名是否有效,根据HINT可知:利用ascii函数可以获得字符串首字符的ascii码,substr()函数可以获取字符串的字串,通过搜索userid为15613的字符串first_name值,依次取对应位置的字符,看表达式是否为真,来判断每个字符的ASCII码是什么:通过是“Account number is valid”表示后面的等式成立,帐号存在,若为“Invalid account number”则表达式不成立,如此反复,可以获得第一个字符的ASCII码为74。以此类推,可以获得剩下字符情况如下:将字符串“Joesph”填入,即可通关:实验任务二练习题: SQL注入不包括:【单选题】D【A】盲注 【B】没有正确过滤转义字符的过滤【C】条件相应 【D】暴力破解6.实验报告

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论