0x00 介绍
几乎每个系统都会存在各种各样的验证的功能。常见的几种验证功能就包括账号密码验证,验证码验证,JavaScript。
数据验证及服务端数据验证等,程序员在涉及验证方法时可能存在缺陷导致被绕过,于是就有了验证绕过漏洞。
验证码绕过:
https://www.freebuf.com/column/156519.html
客户端校验绕过:
https://cloud.tencent.com/developer/article/1459233
0x01 正文
带点不甘心的原因,对此站点继续进行漏洞挖掘。
依旧是熟悉的登陆框,文章开头那篇文章的注入已经被修复了。
大多数人的思路可能是:
1.暴力破解
2.抓登陆的POST包注入
尝试利用上次注入得到的密码进行登陆 -> 失败 (不过也很正常,肯定会改的)
尝试注入 (已修复.修复方法: 在对传入的账号密码进行RSA加密,再判断是否为正确,不是RSA的话直接返回False)
0x02 跟踪Js
在翻看源码Js文件的时候,找到一login.min.js,猜想是与登陆相关的接口文件。
我们继续跟踪具体内容。
有部分内容Unicode编码,拿到网站上去解分析方便点
a -> loginId (用户名)
b -> password (密码)
c -> verifycode (验证码)
/frameword/login_login.do
/frameword/login_toManage.do
在访问第二处接口的时候,闪了一下后台框架然后到一个空白界面。
分析此处的Js.猜想出现问题点的可能是这几条
post(baseUrl_+"/framework/login_login.do",{loginId:a,password:b,verifycode:c,abc:Math.random()},
function(a){"true"==a?window.location=baseUrl_+"/framework/login_toManage.do":" code Faild" ==a?
但是这里貌似只验证了 loginId,也就是 a
账号输入admin
文件上传 -> Getshell
0x03 结语
验证功能一直是各个系统不可缺少的重要部分。我们在平时的渗透测试中遇到的各个功能点验证部分可以更加细心的去测试。并不是看着密密麻麻的代码手足无措,细心点,万一就找到突破口了呢?(转载请注明作者)
本文始发于微信公众号(SecIN技术平台):原创 | Js文件追踪到未授权访问
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论