本文已参与「新人创作礼」活动,一起开启掘金创作之路
由于测试过程中很多系统我们能接触到的只有一个登陆界面,所以要充分挖掘漏洞,进行深入操作
登录&注册
SQL注入
万能密码绕过登录
存在SQL注入的情况下,有可能使用万能密码直接登录
admin' or '1'='1'--
admin' OR 4=4/*
"or "a"="a
' or''='
' or 1=1--
有超级多
登录口SQL注入
存在SQL注入的话直接注出账密
有些可以构造用户注入登录,比如熊海cms后台登录处存在sql注入
$login=$_POST['login'];
$user=$_POST['user'];
$password=$_POST['password'];
$checkbox=$_POST['checkbox'];
if ($login<>""){
$query = "SELECT * FROM manage WHERE user='$user'";
$result = mysql_query($query) or die('SQL语句有误:'.mysql_error());
$users = mysql_fetch_array($result);
这里万能密码起不到作用,因为他是通过用户名去数据库查密码,再进行匹配,还有一种方法非常巧妙
user:1' union select 1,2,'test','c4ca4238a0b923820dcc509a6f75849b',5,6,7,8#
password:1
这是mysql的特性, 在联合查询并不存在的数据时,联合查询就会构造一个虚拟的数据,就相当于构造了一个虚拟账户,可以使用这个账户登录
未授权访问
后台未授权访问
列举几种找未授权访问的方法
- 使用目录扫描工具,如 dirsearch 等扫描路径,有的可能存在目录遍历
- 查看 js 代码中登录成功后的跳转 url
- 使用 jsfind 找可疑url
- 利用web程序已知漏洞如:druid未授权的urls、springboot mapping等未授权漏洞界面找可疑的 url,访问查看是否存在未授权
- 有些可能在未授权进入后台一瞬间,重定到登录页面,这时可以利用burp抓包把跳转包drop掉
组件未授权
使用的组件可能会出现漏洞,常用的未授权漏洞,对于端口的收集也至关重要,可以提高漏洞利用面
- Redis 未授权访问漏洞
- MongoDB 未授权访问漏洞
- Jenkins 未授权访问漏洞
- Memcached 未授权访问漏洞
- JBOSS 未授权访问漏洞
- VNC 未授权访问漏洞
- Docker 未授权访问漏洞
- ZooKeeper 未授权访问漏洞
- Rsync 未授权访问漏洞
- Atlassian Crowd 未授权访问漏洞
- CouchDB 未授权访问漏洞
- Elasticsearch 未授权访问漏洞
- Hadoop 未授权访问漏洞
- Jupyter Notebook 未授权访问漏洞
其他功能点(注册)(找回密码)
超长用户名注册
注册用户
admin+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++1
覆盖掉原来的admin用户,不常见
任意重置密码
此时客户端会发一个验证码包,这是随意输入验证码,发包,返回包 返回包错误的回显为{"status":0},将返回包的东西换成{"status":1},即可重置密码
用户枚举漏洞
找回密码界面,输入用户名抓包,查看返回包中泄露的信息
比如:TerraMaster TOS 用户枚举漏洞 CVE-2020-28185
输入用户名 admin 点击确定,查看Burp捕获的包,其中有一个请求包用于确认用户admin是否存在,存在则返回用户的邮箱信息
验证码问题
验证码不刷新
验证码不会自动刷新,导致一个验证码可以用很多次
验证码失效
验证码无效依然可爆破,在挖掘弱口令的时候,常常会遇到图片验证码无效的情况,此时只需要输入正确的账号密码和验证码,使用burpsuite依然可继续爆破
验证码前端返回
有的平台可能验证码校验在前端进行,错误的将后台的验证码返回到前端,导致攻击者可以抓取返回包中的验证码
验证码爆破
有的平台可能验证码比较简单只有几位数字,可能存在爆破,使用burp抓包爆破
验证码短信轰炸
对于验证码发送次数没有做限制,导致造成短时间内短信重发,使用burp抓取获取验证码的包放到repeater不断重放,更暴力点可以使用intruder
验证码OCR
对登录页面使用工具如 xcode 对验证码进行识别爆破用户账号密码
验证码验证逻辑错误
就是验证码可以修改接收者,将账户修改密码的验证码抓包修改为其他手机号,后台并没有做验证
万能验证码
可能存在万能验证码0000或者9999,不常见
越权
过于简单的cookie
如果用户登录后的cookie并不是随机的,而是如
cookie:Guest
这种过分简单的身份验证方法,可以导致越权,如果又存在用户注册,就可以注册一个普通用户然后越权为admin
HTML源码信息泄露
固定加密的账密
比如:中科网威 下一代防火墙控制系统存在账号密码泄露漏洞,攻击者通过前端获取密码的Md5后解密可获取完整密码登陆后台
fofa语句:body="Get_Verify_Info(hex_md5(user_string)."
F12查看前端发现 admin的md5加密密码
注释泄露信息
必须泄露的url,或者敏感信息