文章源自-投稿
作者-lbug
前言
今天带大家认识一下验证码的真面目,本文参考N10th大佬文章,不得不说思路就是广啊,我参考后直接找案例验证,废话不多说,直接上菜。
验证码DOS
这种攻击是通过对验证码参数可控,例如参数可控,可无限放大消耗服务器资源,以此达到拒绝服务的目的,影响用户正常使用。本地搭建,刷新验证码,发现验证码生成链接
验证码生成网址:
http://localhost/phpcms_v9.6.3_UTF8/phpcms_v9.6.3_UTF8/phpcms_v9_UTF8/install_package/api.php?op=checkcode&code_len=4&font_size=20&width=130&height=50&font_color=&background=&0.9172667449585575
1、发现code_len 、font_size、width、height几个参数都存在数值,更改后看有什么变化,直接抓包测试:
首先更改code_len=7,
可以看到验证数量直接变多了,直接控制了验证数量多少,甚至可以改为0,直接绕过验证码环节,继续增加数量会造成拒绝服务攻击
2、在修改其他参数试试,font_size=5,啧啧啧,尺寸直接变大变小,牛掰!
3、修改width = 30 ,修改height = 20,直接控制生成的验证码图片大小,也会造成同样效果
以上这些案例也证实确认存在这种风险,如果在实战环境中,千万不要随便瞎写天文数字,否则就要恭喜这位同学:
手机号劫持
找了挺久的例子,终于找到了,怎么进行手机号劫持呢,下面我们一步一步来,首先找到案例,存在验证码登录功能点
抓包发现参数phone,更改phone = 手机号1,手机号2
出现了惊喜,发送成功了,OMG!此时脑海一顿酝酿
验证码钓鱼
既然参数可控,直接更改phone = 手机号1,www.baidu.com,添加一个钓鱼链接,随后结合用户名遍历,发送钓鱼链接,那就是妥妥的组合炸弹,如果可以,就爽歪歪了。
1)随即,我开始了尝试,然并卵,链接发送失败,真的纠结了好久,人都快拧巴了
想不通为什么,纠结了好久之后,决定拿大佬的截图顶一顶。
2)类似下图操作,参数后添加淘宝链接(钓鱼链接)
3)接收成功
4)点开后可成功跳转至淘宝链接,
5)可以试想给其他人发送钓鱼链接,偷偷拿到用户名密码,去试试其他社交网站,更甚者直接搞个执行文件下载,就说是更新插件,可惜本文案例无法发送链接,稍显不足。
短信轰炸
继续一波短信验证码的轰炸,某站测试,发现登陆,注册等功能
注册账号,存在验证码登录,抓包尝试,前台显示有效时间为1分钟
抓包重放,显示Ok
一分钟刷了十几条
发现可识别手机号是否被注册
遍历用户名后,批量发包就可造成攻击,算是有实质危害了
总结
渗透测试时不要小瞧任何小漏洞,小细节,思维发散才是最重要的,本文稍显不完美,没有拿到很好案例,在此和各位观众老爷道一声歉。