技术文章

CVE-2019-1388: Windows UAC 提权

若如初见. 提交于 2021-02-17 20:39:48
漏洞简介 该漏洞位于Windows的UAC(User Account Control,用户帐户控制)机制中 默认情况下,Windows会在一个单独的桌面上显示所有的UAC提示 Secure Desktop 这些提示是由名为 consent.exe 的可执行文件产生的,该可执行文件以NT AUTHORITY\SYSTEM权限运行,完整性级别为 System 因为用户可以与该UI交互,因此对UI来说紧限制是必须的,否则,低权限的用户可能可以通过UI操作的循环路由以SYSTEM权限执行操作,即使隔离状态的看似无害的UI特征都可能会成为引发任意控制的动作链的第一步。 事实上,UAC会话中含有尽可能少的点击操作选项,利用该漏洞很容易就可以提升权限到SYSTEM。 影响范围 SERVER Windows 2008r2 7601 ** link OPENED AS SYSTEM ** Windows 2012r2 9600 ** link OPENED AS SYSTEM ** Windows 2016 14393 ** link OPENED AS SYSTEM ** Windows 2019 17763 link NOT opened WORKSTATION Windows 7 SP1 7601 ** link OPENED AS SYSTEM ** Windows 8 9200 **

Flutter学习笔记(30)--Android原生与Flutter混编

邮差的信 提交于 2021-02-17 20:38:24
如需转载,请注明出处: Flutter学习笔记(30)--Android原生与Flutter混编 这篇文章旨在学习如何在现有的Android原生项目上集成Flutter,实现Android与Flutter的混编,文章主体内容分为5部分,如下: Android项目如何集成FlutterModule Flutter视图是如何展示到前台界面的 Flutter与Weex对比 如何进行原生页面跳转到Flutter页面 原生如何与Flutter进行传值通信(以EventChannel为例说明) 接下来我会按照上面列出来的5点,逐一的进行实例讲解说明 1.Android项目如何集成FlutterModule Android原生项目集成Flutter有两种方式,一种是在原生项目内集成FlutterModule,还有一种是将FLutter项目打包成arr文件,然后以组件的形式被原生项目依赖。这里我们就只说一下在原生项目内集成FlutterModule。 第一步:在主工程下创建FlutterModule,File->New->New Flutter Project,然后选择Flutter Module点击Next。 设置完成之后点击Finish,创建完module后我们来看一下工程的目录结构 第二步:在app下的build.gradle添加依赖 // 在android下添加jdk1.8支持

java 巧用标识符

陌路散爱 提交于 2021-02-17 20:37:38
很多时候,巧用标识会很大的减少代码量和厘清代码逻辑;比如下面,这里的entName和code都有可能为空,也可能都不为空,但是当两entName都不为空且相等,或者当两code都不为空且相等时,才会执行代码逻辑;这个需求,如果只用if else不用标识,那处理逻辑会重复的写到不同的判断中,而用标识后,就非常简单了。示例代码如下: for(int i = 0 ;i < nextList.size();i++){ for(int j = 0 ;j < cumList.size();j++){ TaxCum nextCum = nextList .get (i) ; TaxCum nowCum = cumList .get (j) ; boolean flag2 = false ; if(StringUtils .isNotBlank (nextCum .getEntName ()) && StringUtils .isNotBlank (nowCum .getEntName ())){ if(nextCum .getEntName () .equals (nowCum .getEntName ())){ flag2 = true ; } } if(StringUtils .isNotBlank (nextCum .getCode ()) && StringUtils

判断java标识符

十年热恋 提交于 2021-02-17 20:37:00
1 package com.jdk7.chapter5; 2 3 public class JavaIdentifier { 4 5 /** 6 * 使用Character.isJavaIdentifierPart判断字符是否属于java标识符 7 it is a letter 8 it is a currency symbol (such as '$') 9 it is a connecting punctuation character (such as '_') 10 it is a digit 11 it is a numeric letter (such as a Roman numeral character) 12 it is a combining mark 13 it is a non-spacing mark 14 '\u005Cu0000' through '\u005Cu0008' 15 '\u005Cu000E' through '\u005Cu001B' 16 '\u005Cu007F' through '\u005Cu009F' 17 * @param str 18 * @return 19 */ 20 public static boolean isJavaIdentifier(String str){ 21 if (str== null ||

Servlet监听器

我怕爱的太早我们不能终老 提交于 2021-02-17 20:36:45
Servlet监听器 一、监听器简介   监听器:专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。   Servlet 监听器:Servlet 规范中定义的一种特殊类,它用于监听 web 应用程序中的 ServletContext, HttpSession 和 ServletRequest 等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。 二、Servlet监听器分类   按监听的事件类型 Servlet 监听器可分为如下三种类型:   ①监听域对象自身的创建和销毁的事件监听器   ②监听域对象中的属性的增加和删除的事件监听器   ③监听绑定到 HttpSession 域中的某个对象的状态的事件监听器 三、编写Servlet监听器   Servlet 规范为每种事件监听器都定义了相应的接口,开发人员编写的事件监听器程序只需实现这些接口,web 服务器根据用户编写的事件监听器所实现的接口把它注册到相应的被监听对象上   一些 Servlet 事件监听器需要在 web 应用程序的 web.xml 文件中进行注册,一个 web.xml 文件中可以注册多个 Servlet 事件监听器,web 服务器按照它们在 web.xml 文件中的注册顺序来加载和注册这些 Serlvet 事件监听器。  

servlet监听器

戏子无情 提交于 2021-02-17 20:36:31
application:上下文对象,是由容器创建和初始化的,它的范围是整个的web应用,而且整个web应用中只会有一个 application对象存在,当web服务器关闭时,就会将application对象销毁 session:是一种保存上下文信息的机制,它是针对每个会话的,它是放在服务器端,通过SessionId区分的,在浏览器和服务器结束后,都会将session销毁 request对象:是当客户端发送请求时,容器就会创建一个ServletRequest对象,来进行封装请求数据,同时会创建一个servletResponse对象来进行封装相应数据,当结束封装请求之后,就会销毁该对象 WEB监听器,就是监听这3个对象的创建,销毁,和它们的属性发生的变化 什么是web监听器 Web监听器的用途: 1,统计在线人数和在线用户。 2,系统启动时加载初始化信息。 3,统计网站访问量。 4,跟Spring结合。 监听器的用法 实现了 ServletContextListener 接口,创建一个 监听源 为 ServletContext 的监听器,当服务器启动时,便会创建application对象并调用初始化方法.可以通过初始化方法的参数来对application对象做出一些操作. 当服务器关闭,application对象销毁时,也会调用监听器的销毁方法,也可以通过参数来作出一些操作

SSH自动断开后重连的解决方案

£可爱£侵袭症+ 提交于 2021-02-17 20:36:12
注:本文出自博主 Chloneda : 个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接 : https://www.cnblogs.com/chloneda/p/ssh-connect.html 问题场景 终端连接远程 SSH 服务,经常会出现长时间无操作后就自动断开,或者无响应,无法再通过键盘输入,只能强行断开重连。 那么有没有办法保持 SSH 连接不断开,或者断开连接后自动重连呢?有的! 解决方法 方案一:客户端发送心跳 Linux / Unix 下,编辑 ssh 配置文件: vim /etc/ssh/ssh_config 在文件中添加以下内容: ServerAliveInterval 20 ServerAliveCountMax 999 ServerAliveInterval:表示每隔多少秒,从客户端向服务器端发送一次心跳(alive 检测)。 ServerAliveCountMax:表示服务端多少次心跳无响应之后,客户端才会认为与服务器的 SSH 连接已经断开,然后断开连接。 上述配置则表示:每隔20秒,向服务器发出一次心跳。若超过999次请求都没有发送成功,则会主动断开与服务器端的连接。 方案二:服务器端发送心跳 在服务器端中,编辑 ssh 配置文件: sudo vim /etc/ssh/sshd_config 在文件中添加以下内容:

U盘装机助理-PE环境

≡放荡痞女 提交于 2021-02-17 20:28:26
U盘装机助理,是IT天空为广大装机人员倾力打造的 Windows PE 环境 U盘装机助理从广大 装机维护者的角度出发 ,以装机维护对PE的三大需求 “广泛兼容 、便捷操作、快速启动” 为着力点, 力将U盘装机助理打造成为广大装机维护人员的利刃。 下载地址 : 百度网盘 (分享密码:k88n) 本地下载 本站分流 : http://pan.baidu.com/s/1c2iBtvi 转载:https://www.itiankong.net/thread-362761-1-1.html 来源: oschina 链接: https://my.oschina.net/u/2772687/blog/683050

C# 基于Arcface人脸识别SDK完成人脸识别和注册

时光怂恿深爱的人放手 提交于 2021-02-17 20:21:57
整个项目使用 虹软技术 完成开发 一,准备工作 1.Afoge视频参数类 `using AForge.Video.DirectShow; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FaceRecognization.Common { public class CameraPara { /// <summary> /// 是否有摄像头 /// </summary> public bool HasVideoDevice { get; set; } /// <summary> /// 视频源 /// </summary> public VideoCaptureDevice VideoSource { get; set; } /// <summary> /// 视频图片的宽度 /// </summary> public int FrameWidth { get; set; } /// <summary> /// 视频图片的高度 /// </summary> public int FrameHeight { get; set; } /// <summary> /// 视频图片的字节数

寒假集训——AreYouBusy

偶尔善良 提交于 2021-02-17 20:21:35
题目链接 题意:n~100组工作,有的组必须选一个去做,有的组最多选一个去做,有的组随意,t~100个时间,每个工作有一个花费时间和一个收益,求收益最大是多少。 题解:不同组的不同方式处理,必须选一个,那么就强制先选一个,但是会有没办法强制选的(时间太少)情况,所以先所有都设为INF,然后对每一个物品,可能是第一次选,可能是接着上次的选;最多选一个,每次都用上次的更新;而随便的就是01背包。不要忘了先拷贝上一个i - 1的情况到i 重点:最少选一个,最多选一个的分组背包。 #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <cmath> #include <ctype.h> #include <limits.h> #include <cstdlib> #include <algorithm> #include <vector> #include <queue> #include <map> #include <stack> #include <set> #include <bitset> #define CLR(a) memset(a, 0, sizeof(a)) #define REP(i, a, b) for(int i = a;i < b;i++)