WEB漏洞攻击之验证码绕过浅析
最近安全部门对WEB系统进行了一次漏洞整改,发现了某个系统存在验证码绕过风险。
根据安全部门提供的信息,该漏洞构造场景是通过一层中间代理(Burpsuite Proxy)拦截客户端与服务端的请求,通过篡改报文中的账户信息,使用当前请求正确的验证码,从而无限次数的暴力破解账户信息(系统设计年代久远,当时设计可能对WEB攻击考虑不太全面)。
先简单介绍下该系统的鉴权流程:
用户输入账户信息+验证码(刷新页面或手动刷新验证码会从服务器获取验证码,但该验证码缓存于session中),服务端接收到账户信息+验证后会先校验验证码是否正确,若不正确则,返回反之与数据库做对比,符合则返回,客户端接收服务端的请求,若成功则跳转,返回根据不同的错误码提示相应信息,并重新获取服务端生成的新验证码,重新缓存。
看完流程可以很容易想到一个问题:验证码此时并不会重置,一切重置验证码的操作都在浏览器,所以在Session不失效的时效内,可以无限重用验证码。
下面示例使用Burpsuite(以下简称B) 拦截请求,暴力破解的场景。
1.首先配置Burpsuite的代理监听
Proxy->Options->Proxy Listeners->Add 以127.0.0.1:8080为例
2.配置客户端网络代理(以火狐为例)
选项->高级->网络->连接设置->使用手动代理 根据实际情况把代理设置为127.0.0.1::8080
3.访问到系统登录页面,然后打开Burpsuite的拦截Proxy->Intercept->Intercept is on
此时浏览器的请求就会被工具拦截了,任意输入账户信息+验证码登录,B拦截到请求后把验证码参数改为正确的验证码,然后把请求send to Repeater(编辑重发),因为对验证码的刷新操作都在于浏览器收到结果之后,所以此时修改用户名和密码的组合就可达到暴力破解的地步了
ps:通过火狐自带的编辑重发请求的功能也可实现,详情请自行百度。
搞清楚原理之后很容易想到的方法就是在每次验证码通过之后,我们尝试重置session中的验证码,并在入口加一层空的判断,若被重置过的,则提示验证码过期即可。
但是仅仅这样也无法避免问题,session信息也可能被黑客得到,我们可以尝试把session信息缓存到第三方缓存系统中如Memcached,Redis等。这样系统入口安全问题又能得到进一步保障了。
WEB漏洞攻击之验证码绕过浅析的更多相关文章
- web常见攻击
DoS和DDoS攻击 DoS(Denial of Service),即拒绝服务,造成远程服务器拒绝服务的行为被称为DoS攻击.其目的是使计算机或网络无法提供正常的服务.最常见的DoS攻击有计算机网络带 ...
- XXE漏洞攻击与防御整理
一.漏洞原理 1.DTD 文档类型定义(DTD)可定义合法的XML文档构建模块.它使用一系列合法的元素来定义文档的结构.DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用. 内部的 DOC ...
- [web安全]Web应用漏洞攻击分析与防范
网站攻击主要分为以下几类: (1) sql注入攻击 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.它是利 ...
- 绕过WAF进行常见Web漏洞利用
前言 本文以最新版安全狗为例,总结一下我个人掌握的一些绕过WAF进行常见WEB漏洞利用的方法. PS:本文仅用于技术研究与讨论,严禁用于任何非法用途,违者后果自负,作者与平台不承担任何责任 PPS:本 ...
- Web安全之验证码绕过
一,验证码绕过(on client) 首先让burpsuite处于抓包状态,打开pikachu的验证码绕过(on client)随意输入账号和密码,验证码先不输入,点击login,会提示验证码错误 然 ...
- Web 漏洞分析与防御之 CSRF(二)
原文地址:Web 漏洞分析与防御之 CSRF(二) 博客地址:http://www.extlight.com 一.全称 跨站请求伪造(Cross-site Request Forgery) 二.原理 ...
- 黑客攻防技术宝典Web实战篇(二)工具篇DVWA Web漏洞学习
DVWA是一个学习Web漏洞的很好的工具. DVWA全程是Damn Vulnerable Web Application,还有一个跟它一样好的工具尽在http://www.360doc.com/con ...
- WEB漏洞 XSS(一)
1.xss的形成原理 xss 中文名是“跨站脚本攻击”,英文名“Cross Site Scripting”.xss也是一种注入攻击,当web应用对用户输入过滤不严格,攻击者写入恶意的脚本代码(HTML ...
- [网站安全] [实战分享]WEB漏洞挖掘的一些经验分享
WEB漏洞有很多种,比如SQL注入,比如XSS,比如文件包含,比如越权访问查看,比如目录遍历等等等等,漏洞带来的危害有很多,信息泄露,文件上传到GETSHELL,一直到内网渗透,这里我想分享的最主要的 ...
随机推荐
- session失效问题
具体设置很简单,方法有三种: ()在主页面或者公共页面中加入:session.setMaxInactiveInterval();参数600单位是秒,即在没有10分钟活动后,session将失效. 这里 ...
- appium测试代码nullpoint
今天写了个简单向上滑动,执行到向上滑动操作,报nullpoint异常,经过各种乱碰终于解决了,现记录一下过程,以备以后参考! 环境背景:java+testng+appium 在@Test下调用 dir ...
- 忘记root密码,进入单用户模式修改密码
进入单用户模式 rhel61.在系统数秒时,按下键,进入到系统引导菜单 中2.选择系统后 按“e”键 选择kernel后 按“e”键 后空格 1+回车 b:启动系统 进入到单用户模式 rhel71.在 ...
- swift 之 函数
swift的函数跟脚本语言有很多神似之处. 如果有一天用swift开发服务器 ,很期待哇(一切皆有可能,毕竟人家说要跑在Linux上),
- 上传图文{"errcode":40007,"errmsg":"invalid media_id"}解决方案
{"errcode":40007,"errmsg":"invalid media_id"}解决方案 网上关于这个问题的解决一般是把thumb ...
- 机器学习之三:logistic回归(最优化)
一般来说,回归不用在分类问题上,因为回归是连续型模型,而且受噪声影响比较大.如果非要应用进入,可以使用logistic回归. logistic回归本质上是线性回归,只是在特征到结果的映射中加入了一层函 ...
- [Bayesian] “我是bayesian我怕谁”系列 - Continuous Latent Variables
打开prml and mlapp发现这部分目录编排有点小不同,但神奇的是章节序号竟然都为“十二”. prml:pca --> ppca --> fa mlapp:fa --> pca ...
- poj 2345 Central heating
Central heating Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 678 Accepted: 310 Des ...
- poj 2486 Apple Tree(树形DP 状态方程有点难想)
Apple Tree Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9808 Accepted: 3260 Descri ...
- phonegap与H5中的接口对比
接口 HTML5 phonegap 差异 地理定位 geolocation 单次定位: navigator.geolocation.getCurrentPosition(Success, [error ...