一、验证码作用

0,之前都是普通漏洞,今天开始的都是逻辑漏洞逻辑漏洞:~不是代码层面的错误~另外逻辑漏洞基本可以是通杀~现在的很多大厂,基本不会有普通漏洞,但是逻辑漏洞是很难避免
1,本质:简单的说,验证码是为了区分用户是计算机还是人的一种全自动工具
2,作用:利用较为简单的程序就可以有效防止:密码破解、刷票、论坛灌水(霸屏)等等

二、验证码绕过的常见姿势

1,绕过方向通过验证码的逻辑进行入手通过python、Golang等程序自动识别
2,额外增加假如通过验证码绕过爆出后台可以提交两个漏洞~验证码绕过---逻辑漏洞基本~后台弱密码//不出意外,一个高危,一个中危
3,登录处绕过~前端验证验证码,并没有后端验证。直接抓包然后进行跑数据包~验证码设置了但是并没有校验,乱输验证码也能够成功的登录(少见)~验证码有规则,比如是时间戳的后6位~验证码可以重复使用,比如现在的验证码1111,然后虽然你登录失败后验证码会变,但是你输入1111他却判定你验证码正确        (常见)~验证码空值绕过,比如,我们现在抓一个包,发现登录参数是user=admin&password=admin&yzm=4123。 yzm验证码参数,但是我们如果去掉yzm的传参我们就可以绕过验证码机制,直接传参user=admin&password=admin,验证码就失效了  (常见)~有万能验证码,验证无论是什么,只要输入000000就能直接绕过。~验证码有的时候回藏有cookie里面,分析一下是不是存在验证码的参数。

三、密码找回漏洞

1,理解主要是一些短信验证码登录,这类验证实际上是区分身份的,比如平时登录的微信、QQ、支付宝等等,当你QQ密码忘记时,会要求你输入验证码。这类验证码一般都是5-30分钟的时效性,但是如果没有做限制,是不是可以直接进行穷举爆破~~~
2,常见漏洞~验证码无次数限制可爆破~验证码可控点击获取验证码,抓包,发现包内有传参,比如:yzm=2020,放包,手机接到验证码为2020。假如这样的话,就很危险。因为包内的另一个参数:phone,也就是手机号。被人利用的话,就可以发送大量垃圾短信,钓鱼链接。例如:phone:110&yzm:I want to go in~验证码发送后前端返回点击获取验证码后,抓包,放包,会将验证码返回给前端抓包处这样是不是可以任意修改别人的密码~直接跳转修改密码页面正常步骤:输入找回密码账户,给浏览器cookie,点击获取验证码,输入正确的验证码,跳转到A站(修改密码的站)攻击步骤:输入找回密码账户,给浏览器cookie,修改发包,直接伪造请求跳转A站的数据包,跳转A站~缺失的身份认证-->绑定别人的账号到自己的手机        //(常见)点击获取验证码,抓包,看内容有:userid='自己账户id'&phone='自己手机号'假如服务端不进行userid与phone进行校验,直接攻击攻击步骤:点击获取验证码,抓包,改userid='别人的id'&phone='自己的'然后就成功修改别人密码,只要知道别人的账户就可以了
3,密保改密码  ~密保问题可能容易直接被猜测  很多学校知道学号与身份证号即可找回密码而这些信息可以谷歌语法很容易得到~密保问题答案页面中显示(即验证码前端返回,一个道理)

验证码绕过,密码找回漏洞

1.验证码是什么?
验证码分两种:
1.验证码是一种区分用户是计算机还是人的公共全自动程序(比如登陆的时候要填写的)
2.识别身份,比如短信验证码、电话验证码、邮箱验证码2.验证码有哪几种
有中文字符,纯数字,点击字符、数学运算,移动方块等等3.验证码有什么作用
可以防止恶意破解密码、刷票、论坛灌水,有效防止黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。4.验证码一定可靠吗
不一定可靠,验证码如果在书写代码的时候存在逻辑漏洞,就比较容易绕过。即使没有逻辑漏洞,如果验证码的图片混淆比较简单,可以写脚本自动识别(python有)5.验证码的常见安全问题
一.前端验证验证码,并没有后端验证
二.验证码设置了但是并没有效验
三.验证码可以重复使用
四.空值绕过
五.验证码可控制
六.验证码有规则
七.有万能验证码
八.验证码放在cookie参数里6.前端验证码如何绕过
直接抓包进行,因为后端没有验证7.验证码的规则一般是什么
有很多种,不一定,要看代码怎么写,很多时候使用的rand函数生成随机数8.万能验证码一般是什么
一般是000000 或者 888888 9.验证码空值绕过是怎么回事
去除数据包里的验证码参数,发现绕过了传参机制,你不传这个参数,然后就没有进入验证码校验流程10.验证码可控是什么情况
验证码可能存在于url传参里,url设置定,验证码可控11.验证码放在cookie参数里要怎么去找
查看cookie参数里有没有相应的值(验证码或相应参数名)12.验证码有时效性吗
一般来说会有时效性,常见的是30分钟13.密码找回有哪几种方法
1.通过邮箱发送重置链接或数字|字符串验证码
2.通过短信发送验证码14.密码找回一般有什么安全问题
1.验证码发送前端返回
2.验证码输入无次数限制
3.验证码可控
4.直接访问修改密码页面发现直接可以改(缺失身份认证)
5.越权(自己手机的验证码,把别人密码改掉了)
6.密码保护问题出存在缺陷15.前端返回怎么利用
查看返回的数据包(可以通过浏览器或者抓包工具)16.验证码可控有什么危害
可以发送垃圾邮件,钓鱼网站链接,不良网站链接17.直接修改密码页面是什么情况
一般是验证失败后还可以继续访问密码修改页面18.缺失身份认证是什么情况
缺少相应的用户id和信息验证,可以用自己的手机号绑定他人的账号19.越权是什么
通过自己的验证码,改包,去修改别人的密码20.越权和缺失身份认证的区别
平行越权需要登录后使用,而缺失身份认证不用21.密码保护问题有哪些缺陷
1.容易被猜测
2.答案在js里出现22.靶场的密码找回的用户名是哪个
用户名是admin,不是邮箱23.靶场的密码找回有几位
4位,源码和靶场都有提示24.如何去猜测别人的密码保护问题的答案
通过蛛丝马迹分析,然后调用可用资源,去社工。25.验证码在cookie里会加密吗
会,可能会通过md5之类的进行加密26.校验验证码一般有哪些生成规则
可能对用户的用户名,密码,登陆时间之类的进行生成(这个可能性太多了,不过时间戳是比较常见的,以前遇到过,邮箱找回链接,只需要时间戳和用户名就可以修改密码,那样就能尝试爆破,自己先接一个看看规律)

web安全入门(第八章-1)验证码绕过相关推荐

  1. web安全:验证码绕过、密码找回漏洞

    0x00 验证码的作用 可以防止恶意破解密码,刷票,恶意灌水,有效防止某一黑客对某一个特定注册用户用特定程序暴力破解方法进行不断的登录尝试. 0x01 验证码绕过的常见姿势 1.前端验证验证码,并没有 ...

  2. 干货|Web安全入门基础与思路总结(附思维导图)

    该篇文章主要是写给WEB安全入门者的基础与思路 基础 HTTP协议 网站访问过程 静态页访问 首先用户通过浏览器打开kw0ng.top,此时浏览器会向DNS服务器请求解析,将kw0ng.top转换为I ...

  3. java进阶 2018_Java Web基础入门2018版

    步骤1: Java Web基础入门 本步骤带领大家进入Java Web的世界,除了介绍JSP和Servlet以外,还会介绍开发工具IntelliJ IDEA的使用,以及什么是XML.最后会学习MVC模 ...

  4. java web快速入门_Web安全快速入门

    java web快速入门 Web开发人员针对CORS,CSP,HSTS和所有Web安全首字母缩写词的入门知识! (A web developer's primer on CORS, CSP, HSTS ...

  5. 验证码绕过(对验证码绕过的理解-----burpsuite)

    Pikachu是一个带有漏洞的Web应用系统, 在这里包含了常见的web安全漏洞.通过一些资料认识这个练习的靶机平台.练习需要的条件是自己首先在电脑上下载并安装相关的工具.Burp suit.Phps ...

  6. pikachu~~~验证码绕过(on client on server)

    index 基于服务端的验证码绕过(On service) 基于客户端的验证码绕过(On client) [客户端可能存在的安全问题] [服务端可能存在的安全问题] 我们要来思考一下,什么是验证码绕过 ...

  7. 弱口令漏洞与验证码绕过——渗透day04

    目录 一.基于远程服务的弱口令攻击 (一)服务暴力破解软件 (二)实验 二.基于web的弱口令测试 (一)基于表单的暴力破解 (二)验证码绕过(on client) 1.通过Script Blocke ...

  8. Web 攻防之业务安全:验证码自动识别 测试.

    Web 攻防之业务安全:不安全验证码 测试 验证码安全 也可以叫<全自动区分计算机和人类的图灵测试>,是一种区分用户是计算机还是人的共全自动程序.可以防止:恶意破解密码.刷票.论坛灌水.可 ...

  9. Web 攻防之业务安全:验证码重复使用 || 前端JS代码实现的验证码 测试.

    Web 攻防之业务安全:不安全验证码 测试. 验证码安全 也可以叫<全自动区分计算机和人类的图灵测试>,是一种区分用户是计算机还是人的共全自动程序.可以防止:恶意破解密码.刷票.论坛灌水. ...

最新文章

  1. php js怎么去掉类属性,如何修改DOM中的属性,类和样式
  2. 基于 DDD 设计并实现模块化单体应用
  3. 第5章 Python 数字图像处理(DIP) - 图像复原与重建4 - 指数噪声
  4. linux期末考试试题4,Linux试题4
  5. 公开课视频-《第01章 规划》-大企业云桌面部署实战-在线培训-视频(奉献)
  6. continue,return,break 在for循环中的作用
  7. 使用dea-toolbox进行数据包络分析
  8. Excel进行描述性统计分析
  9. autorunner测试java_AutoRunner自动化测试工具
  10. app模式会被第三方平台模式取代吗_那些逐渐被系统功能取代的第三方APP,你知道多少?...
  11. 【codeforces 417D】Cunning Gena
  12. python运行环境搭建以及常见问题解决
  13. dcb在c语言哪个文件,DCB 文件扩展名: 它是什么以及如何打开它?
  14. oracle怎么对账,Oracle EBS 如何月结、对账[Z]
  15. 常用经方的应用体会­
  16. 元素始终置于页面底部
  17. 微型计算机原理 考试试题,《微机原理及其应用》考试试题及答案
  18. python画图x轴文字斜着
  19. CMMI的五个级别及其特征
  20. 连接计算机的恰当方法,要组建一个拥有20台计算机联网的电子阅览室,连接这些计算机的恰当方法是...

热门文章

  1. Linux whereis、find和locate命令找不到文件
  2. 2022年5大直播趋势
  3. 安装百度云平台python SDK
  4. intel酷睿游戏计算机,顶配游戏电脑 intel酷睿i7-8600配RTX2070六核台式电脑配置明细表...
  5. fatego服务器连接中断,客户端网络关闭,而服务端不能自动关闭连接
  6. C++ 获取当前时间毫秒数
  7. dos命令登录mysql
  8. 数据库 达内cbg day01
  9. 手机文件夹是英文不敢随便删?只要找出这四个文件夹,16G不输32G
  10. IEEE754浮点数数