前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >web实验

web实验

作者头像
菜菜有点菜
发布2022-03-17 18:32:58
6430
发布2022-03-17 18:32:58
举报
文章被收录于专栏:白菜博客白菜博客

弱口令&&XSS初始

Burt Force(暴力破解漏洞)

Burte Force(暴力破解)概述 “暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。 理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括: 1.是否要求用户设置复杂的密码; 2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp; 3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等); 4.是否采用了双因素认证; ...等等。 千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!

你可以通过“BurteForce”对应的测试栏目,来进一步的了解该漏洞。

从来没有哪个时代的黑客像今天一样热衷于猜解密码 ---奥斯特洛夫斯基

基于表单的暴力破解

登陆抓包,放到 Intruder模块

将账号&&密码字段 设置变量进行爆破 选择 狙击手 设置 Paylod

点击 Start attack开始爆破

爆破完成后,对长度进行排序,可看到有几个返回包的长度不一致,length长度为35035、payload为123456的密码返回包中,发现login success登录成功字样,说明使用账号密码admin/123456即可登录成功,成功对该登录系统进行爆破。

验证码绕过(On Server)

扫到后台,发现系统后台登录处带有验证码。

服务端生成验证码,刷新网页验证码刷新(如果后台验证码刷新了那么上一次的验证吗就无效了)。

抓包后,发现验证码参数,

经测试直接放入Intruder模块爆破即可,不要在 Proxy->Intercept模块放包后刷新页面,因为刷新页面后后台的验证码也会随之刷新,从而使上一次验证码失效,导致爆破不了。

返回包中,返回了login success字样,成功爆破到密码。admin/123456

验证码绕过(On Client)

基于客户端校验

在靶机上输入账号密码(随便输)验证码正确就行

抓取登录的请求包。

删除数据包中的验证码或者不用管它(相当于一个摆设)直接爆破就行。

发现返回包包含login success 说明暴力破解成功

不删除验证码也可以抓包爆破。(但是在前端登录的时候就会校验验证码)

Token防爆破?

token是计算机术语:令牌,令牌是一种能够控制站点占有媒体的特殊帧,以区别数据帧及其他控制帧。token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。基于 Token 的身份验证方法

使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:

1.客户端使用用户名跟密码请求登录

2.服务端收到请求,去验证用户名与密码

3.验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端

4.客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里

5.客户端每次向服务端请求资源的时候需要带着服务端签发的 Token

6.服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据

经过测试发现此题的Token根本没用,删除token参数(或者不用管)即可直接爆破。(删除不能爆破,不知道为啥 求师傅解惑)

XSS跨站脚本攻击(Cross-Site Scripting)

XSS(跨站脚本)概述 Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型: 1.反射性XSS; 2.存储型XSS; 3.DOM型XSS;

XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。 XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理: 输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入; 输出转义:根据输出点的位置对输出到前端的内容进行适当转义; 你可以通过“Cross-Site Scripting”对应的测试栏目,来进一步的了解该漏洞。

反射型XSS(get)

输入框长这样

首先输入 <script>alert('1')</script>发现前端限制输入长度了。

f12大法审查元素,修改一下限制的长度即可

使用Payload <script>alert("1")</script>非作者预期的过滤方法非预期的过滤方法,发现并不会弹框。

测试后失败,审查元素查看源码,发现alert参数值被加干扰了。"会将双引号这类特殊字符变成文本字符串,使原来我们输入的payload无法被正确识别。

沉思许久也没有找到原因,通过网络查阅,造成原因可能是由于php环境版本造成的,部分题目对双引号和单引号进行转义过滤。

这里要讲一下,alert参数是可以连接字符串的,如果不加/或者单引号双引号,会被当做变量处理,如果变量有值则会弹出参数值,如果没有则不会弹窗。而后接数字就可以直接弹出。所以alert参数后接字母需要加/、单引号、双引号,后接数字直接填写。

尝试使用 <script>alert(/1/)</script>

可以执行,尝试使用 <script>alert(1)</script>

补充一点:

GET方式的XSS 还能通过URL进行测试 如图:

反射型XSS(post)

admin/123456登录之后,使用Payload进行测试,发现语句被转义过滤了。情况和上一关相同。(不同在于不能URL进行测试,智能在输入框插入Payload)

使用Payload <script>alert(/1/)</script> 发现Payload被执行

使用 <script>alert(1)</script> 一样可以触发XSS

存储型XSS

本题目输入框中的内容提交后会存储在数据库中,比前两种漏洞危害性更大。 提交payload后页面上会对它进行加载,然后每次打开该页面就会执行。

这一题也是会“/”转义 单、双引号

使用Payload <script>alert(/1/)</script>进行测试

成功触发Payload

使用Payload <img sec=javascript.:alert(1)>也能触发

DOM型XSS

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020 年 08 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 弱口令&&XSS初始
    • Burt Force(暴力破解漏洞)
      • 基于表单的暴力破解
      • 验证码绕过(On Server)
      • 验证码绕过(On Client)
      • Token防爆破?
    • XSS跨站脚本攻击(Cross-Site Scripting)
      • 反射型XSS(get)
      • 反射型XSS(post)
      • 存储型XSS
      • DOM型XSS
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档