信息安全
文章平均质量分 71
信息安全白盒经验
安全新司机
这个作者很懒,什么都没留下…
展开
-
Fortify Access Control
攻击者访问未授权的数据原创 2022-10-05 18:37:31 · 692 阅读 · 0 评论 -
[20][05][01] ASM介绍
文章目录1. ASM 是什么2. ASM 能够做什么3. 为什么要学习 ASM3.1 Spring 当中的 ASM3.2 JDK 当中的 ASM4. ASM 的两个组成部分4.1 Core API4.1.1 asm.jar4.1.2 asm-util.jar4.1.3 asm-commons.jar5. 搭建 ASM 开发环境5.1 pom 文件信息5.2 使用 ASM5.2.1 预期目标5.2.2 编码实现5.2.3 验证结果1. ASM 是什么ASM 是一个操作 Java 字节码的类库ASM 所原创 2022-05-31 09:56:21 · 998 阅读 · 0 评论 -
[20][05][02] ASM 与 ClassFile
文章目录1. ClassFile2. 字节码类库2.1 常见的字节码类库2.2 ASM 的特点3. ASM 与 ClassFile 的关系1. ClassFile我们都知道, 在.class 文件中, 存储的是 ByteCode 数据. 但是, 这些 ByteCode 数据并不是杂乱无章的, 而是遵循一定的数据结构这个.class 文件遵循的数据结构就是由 Java Virtual Machine Specification 中定义的 The class File Format: https://d原创 2022-05-30 21:07:32 · 83 阅读 · 0 评论 -
[20][02][01] SDL
文章目录1. 背景2. SDL 流程3. SDL 工作流程1. 背景SDL 全称 security development lifecycle (安全开发生命周期), 是微软提出的从安全角度指导软件开发过程的管理模式. SDL 是一个安全保证的过程, 起重点是软件开发, 它在开发的所有阶段都引入了安全和隐私的原则在软件应用生命周期中, 修复漏洞的成本随着发现漏洞阶段的进程呈几何级数增长, 传统的漏洞检测方法通常只能在业务系统开发完成后才能介入, 这导致漏洞的修复成本高昂, 甚至很多漏洞在安全事件发生后原创 2022-05-26 11:44:41 · 302 阅读 · 0 评论 -
[20][03][79] Server-Side Request Forgery
文章目录1. 问题描述2. 问题场景2.1 函数详解2.1.1 URL2.1.2 URLConnection2.1.3 HttpURLConnection2.2 可能存在漏洞的点2.2.1 HttpURLConnection2.2.2 URLConnection2.2.2.1 使用 file 协议2.2.2.2 使用 netdoc 协议2.2.2.3 使用 jar 协议2.2.2.4 jar+http2.2.3 ImageIO2.2.4 HttpClients2.2.5 OkHttpClient1. 问题原创 2022-01-12 21:18:08 · 3122 阅读 · 0 评论 -
[20][04][21] 表单重复提交
文章目录1. 业务背景2. 表单重复提交解决方案2.1 前端解决方案2.2 后端解决方案2.2.1 注解2.2.2 枚举类2.2.3 拦截器2.2.4 返回响应2.2.5 接口2.2.6 测试1. 业务背景在日常业务中经常会出现短时间内重复点击提交按钮场景,例如抢票,电商秒杀,各种投票,薅羊毛活动如果不做表单重复提交过滤,服务器压力很大,还有就是会存在安全问题,导致网站被薅羊毛2. 表单重复提交解决方案2.1 前端解决方案提交后按钮禁用,置灰,页面出现遮罩2.2 后端解决方案使用表单提交专属原创 2022-01-11 16:09:11 · 2867 阅读 · 0 评论 -
[20][04][20] SQL 预编译防止 SQL 注入
文章目录1. 预编译的作用1.1 提高效率1.2 防止 SQL 注入2. 预编译的实现原理2.1 mysql 的预编译2.2 mybatis 是如何实现预编译1. 预编译的作用1.1 提高效率数据库接受到 sql 语句之后,需要进行词法和语法解析校验,优化 sql 语句,制定执行计划.这需要花费一些时间.但是很多情况,我们的一条 sql 语句可能会反复执行,或者每次执行的时候只有个别的值不同 (比如 query 的 where 子句值不同,update 的 set 子句值不同,insert 的 val原创 2022-01-10 17:00:46 · 2790 阅读 · 0 评论 -
[20][04][10] Fortify Static Code Analyzer 详解
文章目录1. Fortify 是什么2. 可以使用扫描的代码类型3. 扫描命令1. Fortify 是什么HPE_Security_Fortify_SCA_and_Apps_xxx2. 可以使用扫描的代码类型3. 扫描命令原创 2022-01-06 15:29:55 · 2021 阅读 · 0 评论 -
[20][03][23] Cookie Security: Over Broad Path
文章目录1. 问题描述2. 问题场景3. 修复方案1. 问题描述cookie 设置过宽的有效路径, 可以通过同一域名中的其他应用程序访问2. 问题场景开发人员经常将 cookie 设置有效路径为 "/" 可以访问, 这将向域名上上的所有 web 应用程序开放 cookie, 由于 cookie 通常携带会话标识符等敏感信息, 跨应用程序共享 cookie 可能导致一个应用程序的漏洞, 从而危及另一个应用程序Cookie cookie = new Cookie("token", token);co原创 2021-12-30 21:00:16 · 1629 阅读 · 0 评论 -
[20][03][24] Cookie Security: Persistent Cookie
文章目录1. 问题描述2. 问题场景3. 修复方案1. 问题描述在长期有效的 cookie 中存储敏感数据, 可能会导致机密性被破坏或帐户受到损害2. 问题场景大多数 Web 编程默认创建非持久 cookie, 这些 cookie 只驻留在浏览器内存中 (cookie 不会写入磁盘), 并在浏览器关闭时丢失,程序员可以指定 cookie 在浏览器会话之间被持久化, 直到某个未来的日期, 这样的 cookie 被写入磁盘, 并在浏览器会话和计算机重启时保存下来如果私人信息被存储在长期有效的 cook原创 2021-12-30 20:15:41 · 1167 阅读 · 0 评论 -
[20][03][21] Cookie Security: HttpOnly not Sent
文章目录1. 问题描述2. 问题场景3. 修复方案1. 问题描述程序创建 cookie 时没有将 HttpOnly 设置为 true2. 问题场景所有主流浏览器都支持 cookie 的 HttpOnly 属性,该属性阻止客户端脚本访问 cookie,跨站点脚本攻击通常会访问 cookie,试图窃取 cookie 或 session,没有启用 HttpOnly 攻击者更容易访问用户 cookie3. 修复方案在代码中设置 cookie 的 HttpOnly 属性为 trueCookie cook原创 2021-12-30 19:57:22 · 1248 阅读 · 0 评论 -
[20][03][17] Weak Encryption: Inadequate RSA Padding
文章目录1. 问题描述2. 问题场景3. 修复方案1. 问题描述公钥RSA加密是在不使用OAEP填充的情况下执行的,因此加密是弱的Cipher.getInstance("RSA/NONE/NoPadding") 中 RSA/NONE/NoPadding 参数的含义依次是 “算法/模式/填充模式”加密算法:AESDESDESede(DES3)RSA模式密码块链接(CBC)电子码本(ECB)密码反馈(CFB)计数器(CTR)填充模式:NoPaddin原创 2021-12-27 22:04:50 · 3251 阅读 · 0 评论 -
[20][03][18] Insecure Randomness
文章目录1. 问题描述2. 问题场景3. 修复方案1. 问题描述在使用随机数函数时,经常使用 java.util.Random,其使用的是伪随机数生成器(PRNG) 近似于随机算法PRNG 包括两种类型统计学的 PRNG密码学的 PRNG统计学的 PRNG 可提供有用的统计资料,但其输出结果很容易预测,因此数据流容易复制.若安全性取决于生成数值的不可预测性,则此类型不适用密码学的 PRNG 通过可产生较难预测的输出结果来应对这一问题.为了使加密数值更为安全,必须使攻击者根本无法,或极不可能原创 2021-12-26 16:16:59 · 1144 阅读 · 0 评论 -
[20][03][22] Cookie Security: Over Broad Domain
文章目录1. 问题描述2. 问题场景3. 修复方案1. 问题描述cookie 设置过宽的域名,将导致被其他应用程序攻击2. 问题场景开发人员经常将 cookie 设置在基础域名内使用 (例如: example.com),这将向基础域名和子域名上的所有 web 应用程序公开 cookie,由于 cookie 通常携带会话标识符等敏感信息,跨应用程序共享 cookie 可能导致一个应用程序的漏洞,从而危及另一个应用程序样例 1假设您在http://secure.example.com 上部署了一个原创 2021-12-24 21:15:06 · 749 阅读 · 0 评论 -
[20][03][20] Cookie Security: Cookie Not Sent Over SSL
文章目录1. 问题描述2. 问题场景3. 修复方案1. 问题描述所创建的 cookie 的 secure 标记没有设置为 trueWeb 浏览器支持每个 cookie 的 secure 标记. 如果设置了该标记,那么浏览器只会通过 HTTPS 发送 cookie. 通过未加密的通道发送 cookie 将使其受到网络截取攻击,因此安全标记有助于保护 cookie 值的保密性. 如果 cookie 包含私人数据或带有会话标识符,那么该标记尤其重要2. 问题场景在下面的示例中,在未设置 secure 标原创 2021-12-23 17:01:38 · 1989 阅读 · 0 评论 -
[20][03][35] Double-Checked Locking
文章目录1. 问题描述2. 问题场景3. 修复方案1. 问题描述Double-Checked Locking(双重检查锁) 用在多线程环境中实现延迟初始化的有效方法,但编译器为了优化性能,存在指令重排序问题,可能会导致双重检查锁失效 (Double-Checked Locking is Broken)2. 问题场景在单例模式中,开发进程采用双重检查锁来确保只创建一个实例public class Singleton { private static Singleton instance =原创 2021-12-22 10:25:49 · 66 阅读 · 0 评论 -
[20][03][06] Apache POI 安全漏洞(CVE-2019-12415)
文章目录1. 描述2. 场景3. 漏洞复现3.1 引入 apache poi 组件 4.1.0 版本3.2 下载测试用例 excel3.3 制作恶意 excel3.4 测试代码4. 修复方案1. 描述Apache POI是 Apache 的一个开源函数库,它提供API给Java程序可对 Excel 进行读和写操作的组件poi 组件存在以下 CVE2. 场景此次要分析的是 CVE-2019-12415Apache POI 版本 <= 4.1.0 中,当使用 XSSFExportToXml原创 2021-12-21 16:58:46 · 6183 阅读 · 1 评论 -
[20][03][71] Log Forging
文章目录1. 描述2. 复现问题3. 修复方案1. 描述Log Forging 是日志伪造漏洞在日常开发中为了便于调试和查看问题,需要通过日志来记录信息,java 中常见的日志组件 log4j, logback 等查看日志文件可在必要时手动执行,也可以自动执行,即利用工具自动挑选日志中的重要事件或带有某种倾向性的信息,如果攻击者可以向随后会被逐字记录到日志文件的应用程序提供数据,则可能会妨碍或误导日志文件的解读如果日志文件是自动处理的,那么攻击者就可以通过破坏文件格式或注入意外的字符,从而使文件无原创 2021-12-20 17:59:25 · 1685 阅读 · 0 评论 -
[20][03][81] Log4j 反序列化漏洞(CVE-2019-17571)
文章目录1. 组件基本信息1.1 pom 信息1.2 影响版本1.3 漏洞场景2. 漏洞复现2.1 引入pom组件2.2 新建 log4j.properties2.3 Log4jLeak 代码2.4 下载 ysoserial.jar2.5 生成 playload2.5 启动程序3. 漏洞源码分析3.1 SimpleSocketServer 类3.2 SocketNode 类4. 反射到外网1. 组件基本信息1.1 pom 信息<groupId>log4j</groupId>&原创 2021-12-16 18:56:04 · 1405 阅读 · 0 评论 -
[20][04][01] openrasp-v8 包编译
文章目录1. 准备工作2. 配置环境2.1 安装 jdk-6u452.2 安装 apache-maven-3.2.32.3 安装 cmake-3.17.22.4 配置环境变量2.5 安装 c++ 编译器和 cmake 生成器2.6 安装 git2.7 下载代码3. 编译代码生成 v8-1.0-SNAPSHOT.jar对百度 OpenRASP 的 openrasp-v8 基础库 java 版本进行编译1. 准备工作CentOS 7.2 版本虚拟机jdk-6u4原创 2021-09-15 09:07:20 · 257 阅读 · 0 评论 -
[20][03][50] 搭建SQL注入靶场
文章目录1. sqli-labs 是什么2. 搭建靶场3. 访问服务1. sqli-labs 是什么sqli-labs是一个专业的SQL注入练习平台,适用于GET和POST场景,包含了以下注入基于错误的注入(Union Select)字符串整数基于误差的注入(双查询注入)盲注入基于Boolian数据类型注入基于时间注入更新查询注入(update )插入查询注入(insert )Header头部注入基于Referer注入基于UserAgent注入基于cookie注原创 2021-08-26 18:22:50 · 171 阅读 · 0 评论 -
[20][03][46] SQL 注入之盲注
文章目录1. 定义2. 普通盲注3. 时间注入 (延时注入)1. 定义盲注也可以叫做布尔型注入,主要使用在存在 SQL 注入漏洞,但是不能直接查询爆出内容的地方,主要依靠逻辑的真假来实现爆出数据,盲注的效率相对较低盲注主要分为普通型盲注和时间盲注(延时注入),普通型注入主要看逻辑真假返回时页面的不同进行判断,而延时注入用于页面没有任何数据返回,且逻辑不管真假前端页面也无不同的请况下在联合注入中我们就给出了有关字符串的一些函数,在盲注中也需要使用到这些函数length() # 返回原创 2021-08-26 18:21:53 · 177 阅读 · 0 评论 -
[20][03][39] MySQL 注入的 concat/concat_ws/group_concat 函数详解
[TOC]本文中使用的例子均在下面的数据库表 t_subject 下执行1. concat() 函数1.1 功能将多个字符串连接成一个字符串1.2 语法concat(str1, str2, ...)返回结果为连接参数产生的字符串,如果有任何一个参数为 null,则返回值为 null1.3 举例例 1select concat (id, name, score) as info from t_subject;中间有一行为 null 是因为 t_subject 表中有一行的 s原创 2021-08-26 15:52:25 · 297 阅读 · 0 评论 -
[20][03][40] MySQL 注入的 outfile/dumpfile/load_file 函数详解
文章目录1. 读写文件函数调用的限制2. dumpfile 与 outfile 的区别3. 写入 webshell 或者 udf 下的差异在利用 sql 注入漏洞后期,最常用的就是通过 mysql 的 file 系列函数来进行读取敏感文件或者写入 webshell,其中比较常用的函数有以下三个into dumpfile()into outfile()load_file()测试如下1. 读写文件函数调用的限制因为涉及到在服务器上写入文件,所以上述函数能否成功执行受到参数 secu原创 2021-08-26 15:50:50 · 358 阅读 · 0 评论 -
[20][03][45] SQL 注入之报错注入
文章目录1. 定义2. xpath 语法错误2.1 extractvalue 函数2.2 updatexml3. concat + rand() + group_by() 导致主键重复3.1 rand()3.2 floor()3.3 group by1. 定义报错注入在没法用 union 联合查询时用,但前提还是不能过滤一些关键的函数.报错注入就是利用了数据库的某些机制,人为地制造错误条件,使得查询结果能够出现在错误信息中.这里主要记录一下 xpath 语法错误和 concat + rand() + g原创 2021-08-25 18:22:58 · 113 阅读 · 0 评论 -
[20][03][05] JSON Injection
文章目录1. 问题描述2. 问题场景3. 解决方案3.1 JsonSanitizer.sanitize1. 问题描述该方法会将未验证的输入写入 JSON,攻击者可以利用此调用将任意元素或属性注入 JSON 实体2. 问题场景JSON Injection 会在以下情况中出现数据从一个不可信赖的数据源进入程序将数据写入到 JSON 流应用程序通常使用 JSON 来存储数据或发送消息,当用于存储数据时,JSON 通常会像缓存数据那样处理,而且可能包含敏感信息.当用于发送消息时,JSON 经常与原创 2021-06-16 10:01:10 · 988 阅读 · 0 评论 -
[20][01][04] Mail Command Injection
文章目录1. 问题描述2. 问题场景2.1 IMAP2.2 POP32.3 SMTP3. 解决方案1. 问题描述执行利用不可信赖数据源的 IMAP/POP3/SMTP 命令,可能会导致 IMAP/POP3/SMTP 服务器以攻击者的名义执行恶意命令2. 问题场景当攻击者可以影响发送到 IMAP/POP3/SMTP 邮件服务器的命令时,就会发生 Mail Command Injection 漏洞数据从不可信赖的数据源输入应用程序数据被用作代表应用程序所执行命令的字符串或字符串的一部分通过执行原创 2021-06-15 18:04:37 · 355 阅读 · 0 评论 -
Fortify SQL Injection
文章目录1. 问题描述2. 问题发生场景2.1 拼接 SQL 语句2.2 Mybatis 中 ${} 不正当使用2.2.1 like 场景2.2.2 order by 场景1. 问题描述SQL 注入是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息SQL 注入问题只在 SQL 的预编译过程中才能起作用2原创 2021-06-09 11:31:06 · 602 阅读 · 0 评论 -
[20][03][14] XML External Entity Injection(XXE)
文章目录1. 描述2. 场景3. 复现问题3.1 解析 XML 文件或 xml 字符串4. 如何解决 XXE4.1 升级第三方组件版本至安全版本4.2 主动防御外部实体1. 描述在对外部接口传入的 xml 类型的参数或 xml 文件,在代码中需要对这些未经合法性校验的参数进行 xml 解析时,执行里面隐藏的外部实体,从而引发安全问题2. 场景解析 xml 字符串解析 xml 文件3. 复现问题3.1 解析 XML 文件或 xml 字符串待解析 xml 文件,命名为 xxe.xml&原创 2021-05-19 10:51:39 · 401 阅读 · 0 评论 -
Fortify Path Manipulation
文章目录描述场景任意文件下载代码分析修复方案建议任意文件上传代码实现修复建议代码地址描述在对文件进行操作(读,写,删除)的过程中,未对文件路径进行有效的合法性校验,导致文件被任意下载,上传任意文件导致服务器被种植木马,getshell场景任意文件下载任意文件上传任意文件下载任意文件下载漏洞,一些网站由于业务需求,往往需要提供文件查看或文件下载功能,正常的利用手段是下载服务器文件,但若对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意敏感文件代码分析@RestControll原创 2021-05-19 10:46:55 · 2521 阅读 · 0 评论 -
[20][01][02] 安全认证
文章目录1. 背景分析2. 信息安全国际第一认证——CISSP3. 信息安全国内第一认证——CISP4. 认证信息安全经理 CISM5. 入门之选--CompTIASecurity+6. IT 审计人员的必备之证——CISA7. 白帽子的真功夫:OSCP1. 背景分析随着互联网,物联网的快速发展,信息安全行业目前存在巨大的人才缺口,而且随着企业对安全的投入力度持续加大,未来人才短缺的问题会更加严重万事万物的定价都是"物以希为贵"所以企业对信息安全岗位开出的价位都不低,如果你在拥有以下"资格证书"离迎娶原创 2021-05-19 10:34:33 · 557 阅读 · 0 评论