Header Manipulation Abstract HTTP 响应头文件中包含未验证的数据会引发 cache-poisoning. cross-site scripting. cross-user defacement. page hijacking. cookie manipulation 或 open redirect. Explanation 以下情况中会出现 Header Manipulation 漏洞: 数据通过一个不可信赖的数据源进入 Web 应用程序,最常见的是 HTTP 请…
Path Manipulation Abstract 通过用户输入控制 file system 操作所用的路径,借此攻击者可以访问或修改其他受保护的系统资源. Explanation 当满足以下两个条件时,就会产生 path manipulation 错误: 1. 攻击者能够指定某一 file system 操作中所使用的路径. 2. 攻击者可以通过指定特定资源来获取某种权限,而这种权限在一般情况下是不可能获得的. 例如, 在某一程序中,攻击者可以获得特定的权限,以重写指定的文件或是在其控制的配…
Password Management: Password in Configuration File(明文存储密码) https://www.cnblogs.com/mahongbiao/p/12496042.html Command Injection(命令注入) https://www.cnblogs.com/mahongbiao/p/12494308.html Unreleased Resource: Database 未释放资源:数据库 https://www.cnblogs.com/…
Abstract 如果没有适当的 access control,就会执行一个包含用户控制主键的 SQL 指令,从而允许攻击者访问未经授权的记录. Explanation Database access control 错误在以下情况下发生: 数据从一个不可信赖的数据源进入程序. 这个数据用来指定 SQL 查询中主键的值. 例 1: 以下代码用到一个参数化指令,这个指令转义了元字符,以防止SQL injection 漏洞,并构建和执行一个 SQL 查询.该 SQL 查询指令可以搜索与指定标识符 […
Cross-Site Scripting: Persistent Abstract 向 Web 浏览器发送非法数据会导致浏览器执行恶意代码. Explanation Cross-Site Scripting (XSS) 漏洞在以下情况下发生: 数据通过一个不可信赖的数据源进入 Web 应用程序. 对于 Persistent(也称为 Stored) XSS,不可信赖的源通常为数据库或其他后端数据存储,而对于Reflected XSS,该源通常为 Web 请求. 2. 在未检验包含数据的动态内容是否…
SQL Injection SQL注入 Abstract 通过不可信来源的输入构建动态 SQL 指令,攻击者就能够修改指令的含义或者执行任意 SQL 命令. Explanation SQL injection 错误在以下情况下发生: 数据从一个不可信赖的数据源进入程序. 数据用于动态地构造一个 SQL 查询. 例1: 以下代码动态地构造并执行了一个SQL查询,该查询可以搜索与指定名称相匹配的项. 该查询仅会显示条目所有者与被授予权限的当前用户一致的条目. ... String userName…
File Disclosure: Spring 文件泄露(Spring框架) Abstract 若通过用户输入构造服务器端重定向路径,攻击者便能够下载应用程序二进制码(包括应用程序的类或 jar 文件) 或者查看受保护的目录下的任意文件. Explanation 在以下情况下,会发生文件泄露: 数据从一个不可信赖的数据源进入程序. 数据用于动态地构造一个路径. 例 1: 下面的代码会接受不可信赖的数据,并使用其构造服务器端转发所使用的路径. ... String returnURL = requ…
Password Management: Password in Configuration File(明文存储密码) Abstract 在配置文件中存储明文密码,可能会危及系统安全. Explanation 在配置文件中存储明文密码会使所有能够访问该文件的人都能访问那些用密码保护的资源. 程序员有时候认为, 他们不可能阻止应用程序被那些能够访问配置文件的攻击者入侵,但是这种想法会导致攻击者发动攻击变得更加容易. 健全的 password management 方针从来不会允许以明文形式存储密码…
Command Injection(命令注入) Abstract 执行不可信赖资源中的命令,或在不可信赖的环境中执行命令,都会导致程序以攻击者的名义执行恶意命令. Explanation Command Injection 漏洞主要表现为以下两种形式: - 攻击者能够篡改程序执行的命令: 攻击者直接控制了所执行的命令. - 攻击者能够篡改命令的执行环境: 攻击者间接地控制了所执行的命令. 在这种情况下,我们着重关注第一种情况,即攻击者控制所执行命令的可能性. 这种形式的 Command Inje…
Unreleased Resource: Database 未释放资源:数据库 Abstract 程序可能无法成功释放某一项系统资源. Explanation 程序可能无法成功释放某一项系统资源. 资源泄露至少有两种常见的原因: - 错误状况及其他异常情况. - 未明确程序的哪一部份负责释放资源. 大部分 Unreleased Resource 问题只会导致一般的软件可靠性问题, 但如果攻击者能够故意触发资源泄漏,该攻击者就有可能通过耗尽资源池的方式发起 denial of service 攻…
Dynamic Code Evaluation: Code Injection Abstract 在运行时中解析用户控制的指令,会让攻击者有机会执行恶意代码. Explanation 许多现代编程语言都允许动态解析源代码指令. 这使得程序员可以执行基于用户输入的动态指令. 当程序员错误地认为由用户直接提供的指令仅会执行一些无害的操作时(如对当前的用户对象进行简单的计算或修改用户的状态),就会出现 code injection 漏洞: 然而,若不经过适当的验证,用户指定的操作可能并不是程序员最初所…
Privacy Violation 隐私泄露 Abstract 对各种机密信息处理不当,如客户密码或社会保障号码,会危及到用户的个人隐私,这是一种非法行为. Explanation Privacy Violation 会在以下情况下发生: 用户私人信息进入了程序. 数据被写到了一个外部介质,例如控制台. file system 或网络. 例: 以下代码包含了一个日志指令,该日志指令通过在日志文件中储存记录信息的方式跟踪添加到数据库中的各条记录信息. 在储存的其他数值中, getPassword(…
Privacy Violation: Heap Inspection 隐私泄露(堆检查) Abstract 将敏感数据存储在 String 对象中使系统无法从内存中可靠地清除数据. Explanation 如果在使用敏感数据(例如密码.社会保障号码.信用卡号等)后不清除内存,则存储在内存中的这些数据可能会泄漏. 通常而言, String 是所用的存储敏感数据,然而,由于 String 对象不可改变,因此用户只能使用 JVM 垃圾收集器来从内存中清除 String 的值. 除非 JVM 内存不足,…
Race Condition: Singleton Member Field 竞争条件:单例的成员字段 Abstract Servlet 成员字段可能允许一个用户查看其他用户的数据. Explanation 许多 Servlet 开发人员都不了解 Servlet 为单例模式. Servlet 只有一个实例,并通过使用和重复使用该单个实例来处理需要由不同线程同时处理的多个请求. 这种误解的共同后果是,开发者使用 Servlet 成员字段的这种方式会导致某个用户可能在无意中看到其他用户的数据. 换言…
Abstract 所创建的 cookie 的 secure 标记没有设置为 true. Explanation 现今的 Web 浏览器支持每个 cookie 的 secure 标记. 如果设置了该标记,那么浏览器只会通过 HTTPS 发送 cookie. 通过未加密的通道发送 cookie 将使其受到网络截取攻击,因此安全标记有助于保护 cookie 值的保密性. 如果 cookie 包含私人数据或带有会话标识符,那么该标记尤其重要. 例 1: 在下面的示例中,在未设置 secure 标记的情况…
问题描述: 原因: IUS-COMMUNITY-GPG-KEY,版本太旧 解决: 切换到rpm-gpg目录中,下载最新的IUS-COMMUNITY-GPG-KEY…
retrofit把你的HTTP API改造成java接口. public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user") String user); } Retrofit类实现了GithubService接口. Retrofit retrofit = new Retrofit.Builder() .bas…
事务(transactions) Console(控制台) 1 Introduction Modsecurity是保护网络应用安全的工作.不,从零开始.我常称modsecurity为WAF(网络应用防火墙),这是种被广泛接受的叫法,它指的是为保护网络应用而专门设计的产品族.也有些时候我称它为HTTP入侵检测工具,我认为这个称呼更好的描述了modsecurity做了什么. Understanding ModSecurity 像Apache为其他模块所做的一样,Apache为modsecurity处…
简介 官网:http://square.github.io/retrofit/ GitHub:https://github.com/square/retrofit/ compile 'com.squareup.retrofit2:retrofit:2.0.2' compile 'com.squareup.retrofit2:converter-gson:2.0.2' 在对Android 开发中,我们都是从原生的 HttpUrlConnection到经典的 Apache公司的HttpClient,…
简介 Type-safe HTTP client for Android and Java by Square, Inc. GitHub主页:https://github.com/square/retrofit/ WIKI    官网&简易教程 JAR包 系列教程 [配置依赖与混淆] Retrofit requires at minimum Java 7 or Android 2.3. Snapshots of the development version are available in S…
Burp Suite使用介绍(一)  22人收藏 收藏 2014/05/01 19:54 | 小乐天 | 工具收集 | 占个座先 Getting Started Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程.所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架.本文主要介绍它的以下特点: 1.Target(目标)——显示目标目录结构的的一个功能 2.Prox…
以下为来自Github的retrofit的介绍.话说,翻译还真蛋疼,就这个花了快3个小时. Retrofit 一个在Android和Java上类型安全的HTTP客户端 介绍 Retrofit可以把你的HTTP API转换成java接口. public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user") Str…
  package hcxAction; import hcxMode.Advertises; import hcxMode.Areas; import hcxMode.Saveresume; import hcxService.AdvertisesService; import hcxService.SaveresumeService; import java.io.File; import java.io.IOException; import java.util.List; import…
Burp Suite之Scaner模块(三) Scaner模块配置详解 Scan Queue Active Scanning(主动扫描)过程通常包括发送大量请求到服务器为所扫描的每个基本的请求,这可能是一个耗时的过程.当您发送的主动扫描请求,这些被添加到活动扫描队列,它们被依次处理. 扫描队列中显示每个项目的详细信息如下: 1.索引号的项目,反映该项目的添加顺序. 2.目的地协议,主机和URL . 3.该项目的当前状态,包括完成百分比. 4.项目扫描问题的数量(这是根据所附的最严重问题的重要性和…
简介 Retrofit 是一个Square开发的类型安全的REST安卓客户端请求库.这个库为网络认证.API请求以及用OkHttp发送网络请求提供了强大的框架.Retrofit库让从web api下载JSON 或者xml数据变的非常简单直接.一旦数据下载完成即将其解析成普通java类(POJO). Retrofit turns your HTTP API into a Java interface. Retrofit将你的HTTP API请求变为一个Java接口 public interface…
Burp Suite使用介绍(一) 小乐天 · 2014/05/01 19:54 Getting Started Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程.所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架.本文主要介绍它的以下特点: 1.Target(目标)--显示目标目录结构的的一个功能 2.Proxy(代理)--拦截HTTP/S的代理服务器,作为…
HTTP 响应头文件中包含未经验证的数据会引发 cache-poisoning.cross-site scripting.cross-user defacement.page hijacking.cookie manipulation 或 open redirect. HTTP协议头注射漏洞原理 以下情况中会出现 HTTP协议头注射漏洞: 1. 数据通过一个不可信赖的数据源进入 Web 应用程序,最常见的是 HTTP 请求. 2. 数据包含在一个 HTTP 响应头文件里,未经验证就发送给了 We…
Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程. 一.安装部署 需要配置java环境,首先安装java,然后配置java环境变量 JAVA_HOME:即安装jdk路径,在这路径下你应该能够找到bin.lib等目录 path: %java_home%\bin;%java_home%\jre\bin; 如果以新建方式添加不成功的话可以在后边用追加方式. CLASSPATH: .;%JAVA_HOME%\lib\d…
本文同步发布于: https://www.pengrl.com/p/33330/ ,转载请注明出处,谢谢. 目录 Introduction | 简介 Conventions and Definitions | 约定和定义 A QUIC Overview | 概述 Connection Establishment Latency | 连接建立延时 Flexible Congestion Control | 弹性拥塞控制 Stream and Connection Flow Control | 流和…
摘要: 一个完整的业务实现想要基于 Serverless 模型来开发的话可能会分解成多个 Serverless 模块,每一个模块单独通过 Knative 的 Serving 部署,那么这些不同的 Serving 之间就需要调用链进行事务的串联. 前言 为了实现系统组件的水平扩展.敏捷开发.CD(持续集成).解耦等各种诉求,现代的大型软件架构往往都是微服务架构. 微服务架构本身会面临一系列诸如:后台错误原因分析.各个微服务组件的调用情况诊断等.所以需要有一个 Tracing 系统解决这些问题. 除…