CC1,3,6回顾】的更多相关文章

前言 前面陆续学习了CC1,CC3,CC6,以及TemplatesImpl以及改造,有点乱,正所谓温故而知新嘛,所以这篇就回顾一下,捋一捋,解决一些细节问题. CC1 由于CC1要介绍CC链的几个关键类,所以写了三篇 InvokerTransformer,其transform可以执行任意方法, ConstantTransformer作用是拿到一个危险类,如RunTime等等, ChainedTransformer作用是将几个Transformer串联起来 这三种搭配就可以执行任意方法 Trans…
前文介绍了最简单的反序列化链URLDNS,虽然URLDNS本身不依赖第三方包且调用简单,但不能做到漏洞利用,仅能做漏洞探测,如何才能实现RCE呢,于是就有Common-collections1-7.Common-BeanUtils等这些三方库的利用.本文需要前置知识Java反射.动态代理等.CC1其实比较难,会用到很多高级特性,但理解了CC1后面的payload也就能轻松理解了. 背景 Common-collections是对jdk自带的数据类型的三方增强框架,类似python里面的collec…
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ≥ C# 3.0 的版本中,我们会用 Lambda 表达式进行取代匿名方法,并且用 Lambda 表达式作为编写内联代码的首选方式,因为它更简洁. 匿名方法是,顾名思义,匿名方法就是没有名称的方法.匿名方法最明显的好处就是:可以降低额外另写一个方法的工作量:另外一个好处就是可以直接访问调用者的变量,…
前言 从这一节开始我们开始进入表表达式章节的学习,Microsoft SQL Server支持4种类型的表表达式:派生表.公用表表达式(CTE).视图.内嵌表值函数(TVF).简短的内容,深入的理解,Always to review the basics. 表表达式 表表达式没有任何的物理实例化,在查询表表达式时它们是虚拟的,内部查询是非嵌套的,换句话说,外部查询和内部查询直接合并到一个底层对象的查询中,使用表表达式的好处通常与代码的逻辑方面有关,而与代码的性能无关-摘抄自SQL Server…
你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally 等,用来处理失败的情况. CLR..NET 自身的类库.其它第三方库或者你写的程序代码都有可能会出现异常…
学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行时引发异常(例如,释放在 try 块中分配的资源),这些 finally 块的代码都会运行. 这些“异常部分”:可以由一个 try 块.一个或多个关联的 catch 块.一个 finally 块分别组合. 这里我列举了 3 种情况:一个 try-catch 语句,一个 try-finally 语句,…
学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR 或由程序中的代码引发. 一旦引发了异常,这个异常将会在调用堆栈中一直向上进行传播,直到寻找到跟它匹配的 catch 语句.没有 catch 的异常会由系统提供的默认的异常处理程序进行处理,也就是你经常看到的一个突然造成调试中断并显示异常信息的对话框. 所有的异常,它们都是从 Exception 派…
异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally 等,用来处理失败的情况,当然,尽管这些操作也有可能失败,如果你确定需要这样做(一般来说是释放,清理某些资源或记录日志等),就可以尝试这样做. CLR..NET 自身的类库.其它第三方库或者你写的程序代码都有可能会出现异常.当然,你也可以直接使用 throw ,通过显式的形式来进行创建异常. 一种普…
C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - 事件入门>介绍了事件的定义及简单用法,今天我们通过控制台来看下“发布 - 订阅”的基本用法. 目录 发布符合 .NET 准则的事件 采用 EventHandler 模式发布事件 一个简单的发布订阅 Demo 实现自定义事件访问器 一.发布符合 .NET 准则的事件 下面的过程演示了如何将符合标准 .NE…
C# 知识回顾 - 事件入门 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6057301.html 序 之前通过<C# 知识回顾 - 委托 delegate>.<C# 知识回顾 - 委托 delegate (续)>介绍了委托的基本知识,这次我们来看看事件. 目录 What's 事件 事件的属性汇总 事件的订阅和取消 用 IDE 订阅事件 以编程方式订阅事件 用匿名方法订阅事件 取消订阅 一.What's 事件 类或对象可以通过事件向…