xiaodisec day021

简介: 该内容涉及JavaWeb、WebGoat的Path Traversal、JWT安全及隐藏属性。讨论了JWT的身份验证机制,包括其组成、解密和潜在的安全风险,如空密钥利用。还提到了隐藏属性在水平越权漏洞中的作用,以及识别易受攻击组件的方法,如查看import语句和搜索漏洞。

javaweb

2024.01.30 0:11

知识点

javaWeb 相关
JWT
越权

开始

知识点 1

webgoat 在 github 中
8.22 版本

不会全讲,只是挑一部分

path traversal 第二关

上传到指定位置可以上传到根目录,防止默认目录中无代码执行权限

知识点 2

回答安全问题,如果数据库中没有键名则直接返回验证成功

知识点 3

JWT 令牌 身份验证

如何判断是否使用了 jwt
在 cookie 中观察 jwt 的三个组成部分 header, payload, signature
用.连接的三部分,每一段的格式为大小写和数字随机

请求的位置: Cookie: access_token = jwt 格式的串

判断方法
这种情况多发生 在用户有多种的情况下,如注册用户(用户状态有注册用户与未注册用户) 可以抓包判断

这种用户状态判断方式多在 java 或 python 中被应用,而 Php 中使用较少

jwt 在线解密,可以解密出加密前的内容

jwt 中,header 段中存储加密方式,payload 段中存储加密原始值,signature 段中存储签名(签名中有密钥)
如果开发者使用了空加密,那么就容易了

抓包后篡改,尝试使用空密钥的第三段,这种方法能否成功主要取决于目标服务器对空密钥加密的支持

此外,jwt 还有 kid 可选项,可造成任意文件执行,sql 注入等漏洞

jwt 还有更多内容,在 ctf 中也常考,后续课程中将介绍

隐藏属性

隐藏属性:response 中返回了敏感键值对,前端接收但是不在网页中显示
水平越权:篡改如键 userId 的值,尝试跳转到其他 userId 的用户中

知识点 4

易受攻击的组件

组件可以看成 js 等常用库,用来实现特定的功能,如 jquery

在 java 和 python 中比较常见

判断方法是直接看文件中的 import 文件,有官方库或第三方库

在搜索引擎中查找库的对应版本的漏洞

找 Poc

弹个计算器

相关文章
|
14天前
|
缓存 监控 NoSQL
【Redis性能瓶颈揭秘】「调优系列」深入分析热Key的排查策略和解决方案
【Redis性能瓶颈揭秘】「调优系列」深入分析热Key的排查策略和解决方案
215390 12
|
14天前
|
SQL 监控 安全
Linux&Windows 日志分析 陇剑杯 CTF
Linux&Windows 日志分析 陇剑杯 CTF
|
14天前
|
SQL 缓存 NoSQL
xiaodisec day026
`day26`探讨了Oracle与MongoDB的SQL注入,强调手动注入技巧。尽管`sqlmap`工具不支持NoSQL,它提供了一些选项,如清除缓存(--purge)、查看当前数据库(--current-db)和数据转储(--dump)。通过-r参数可以利用保存在TXT文件中的数据包进行测试,文件内星号(*)标记注入点,例如`username=admin*`。Metasploit Framework(MSF)未详述。
|
14天前
|
SQL 开发框架 关系型数据库
xiaodisec day024
本文介绍了SQL注入的相关知识,包括Access和MySQL数据库的注入。漏洞源于特定变量和函数,可通过网址参数或抓包发现。注入语句位置与字段相关。工具流程包括猜测数据库类型,如ASP配Access,然后通过ORDER BY和UNION查询列数。在Access中尝试偏移注入,MySQL中可能涉及文件读写和跨库查询。判断是否为root用户可用`user()`函数,MySQL5.0以上可查information_schema数据库获取详情。示例网址:`https://www.crfbehavioralhealthcare.org/researchDetails.php?id=MS==`。
|
14天前
|
SQL 监控 Java
xiaodisec day028
Day 28探讨了SQL注入,关注点在于提交方式的注入。PHP、Spring Boot和Flask中的GET、POST、COOKIE数据提交都可能引发安全问题。后端处理数据时,如记录IP、根据UA显示页面或文件上传可能导致SQL注入。使用sqlmap工具进行黑盒测试,通过修改数据包或指定POST数据来探测注入点。实战中,CMS系统记录IP访问可能产生注入风险,可以利用工具如Seay代码审计系统进行监控和检查。
|
14天前
|
开发框架 安全 Java
xiaodisec day019
C#在.NET框架中用于开发,常伴安全风险如未授权访问。DLL类似Java的JAR,封装代码但能被反编译(如用ILSpy)。攻击者利用错误信息暴露版本及路径,`web.config`的`customErrors`模式设置不当可能导致信息泄露。未授权访问漏洞发生于身份验证不足时。检查所有功能页面是否都经过验证,寻找无保护文件或验证漏洞。案例中,空的`Inherits`属性可能指示未授权入口点。典型部署涉及Windows、IIS、ASP/ASPX及Access/SQL Server数据库。
|
14天前
|
SQL 安全 前端开发
xiaodisec day017
学习了PHP框架,重点讨论了ThinkPHP、Yii和Laravel。ThinkPHP5的URL结构为域名/.php/模块/控制器/方法。MVC模式用于框架开发。注意3.x版本的地址格式。讨论了命名空间和SQL注入,框架能提供内部过滤。审计了多个使用ThinkPHP的CMS,如EyouCMS、Fastadmin等,并提到了ZoomEye和Seebug作为搜索漏洞的工具。通过黑盒测试和报错信息可识别框架版本,如Fastadmin和YFCMF。还提到了ThinkPHP的rec漏洞及修复方法。
|
14天前
|
SQL 关系型数据库 MySQL
xiaodisec day025
了解 SQL 注入攻击,关注 MySQL、MSSQL 和 PostgreSQL 的高权限注入。利用 `loadfile` 和 `outfile` 函数在 MySQL 中读写文件,常见目标包括配置文件。获取路径方法包括报错显示、phpinfo 和字典攻击。注意 `secure-file-priv` 配置限制,但在某些环境下可突破。开启慢日志记录,植入后门,通过 PHP 执行。实战中,观察地址和输入框判断注入点,根据报错信息推测数据库类型。若无回显,尝试猜测注入点。
|
14天前
|
SQL JSON PHP
xiaodisec day027
本文档介绍了SQL注入的不同类型,包括数字型、字符型、搜索型、编码型和加密型,强调了在注入时对数据格式和闭包的考虑。提到了SQLMap工具的进阶使用,如利用tamper目录中的base64encode.py进行编码注入。同时,讨论了宽字符绕过技巧,如利用中文字符来避免PHP的addslash函数对攻击的阻止。
|
14天前
|
Windows
“快捷方式指向的驱动器或网络连接不可用” 解决方法
“快捷方式指向的驱动器或网络连接不可用” 解决方法

热门文章

最新文章