select * INTO #Daily2 from [dbo].[Table] --where 条件 update #Daily set --修改 DECLARE @Category as varchar(100), @ColumnName as varchar(50), @DisplayName as varchar(50), @Visible as bit, @Sort as int, @Columntype as varchar(50), @Width as int, @Align as varchar(50), @CollapseVisible as bit, @EnableSorting as bit, @Fixed as bit, @IsShare as bit, @IsShowChart as bit, @IsExport as bit, @WebPosition as varchar(20), @errorCount as int=0; while exists(SELECT ColumnName FROM #Daily) begin SET ROWCOUNT 1 SELECT @Category=Category,@ColumnName=ColumnName,@DisplayName=DisplayName,@Visible=Visible, @Sort=Sort,@Columntype=ColumnType,@Width=Width,@Align=Align,@CollapseVisible = CollapseVisible,@EnableSorting = EnableSorting,@Fixed=Fixed,@IsShare = IsShare,@IsShowChart=IsShowChart,@IsExport=IsExport ,@WebPosition=WebPosition FROM #Daily; SET ROWCOUNT 0 begin transaction; --声明事物 INSERT INTO [dbo].
背景 国产数据库:达梦
操作 1、登录
安装路径在:/dm8/bin
登录脚本:./disql username/'pwd'@127.0.0.1:5236 (密码要用双引号给圈起来,因为如果密码也有一个 @ 符号的话,容易串
传输脚本到服务器:scp sys_*.sql
[email protected]:/home/dmdba/dbscript/grey_init_script
执行脚本:start /home/dmdba/script/grey_test/sys_area_.sql ( 对,就在窗口,这样执行一个语句,它会读取文件,然后一行一行执行。。。总感觉效率是很低的样子)
有一个很崩溃的点:它执行报错,还是会继续往下跑,根本不会停下来。你都不知道从什么时候,就开始错了。很崩溃。
知识点 1、达梦脚本不支持 '`' (esc 下面那个键的标点), 需要改成双引号, 即: `user_name` 要改成 user_name 2、它对脚本是大小写敏感的。(至少就现在观察而言,如果字段是大写,Insert语句写了小写,就会报错,识别不了字段)
Object类是所有类的直接父类或间接父类,也就是说是所有类的根父类,这个可以运用于参数的传递
如下:
public class Start { public static void main(String[] args) { A a=new A(); B b=new B(); C c=new C(); D d=new D(); speak(a); speak(b); speak(c); speak(d); } // instanceof 关键字是用于比较类与类是否相同,相同返回true,不同返回false //当你不清楚你需要的参数是什么类型的,可以用Object来代替,Object可以代替任何类 static void speak(Object obj) { if(obj instanceof A)//意思是:如果参数是 A 类,那么就执行一下语句 { A aobj=(A)obj;//这里是向下转换,需要强制转换 aobj.axx(); } else if(obj instanceof B) { B bobj=(B)obj; bobj.bxx(); } else if(obj instanceof C) { C cobj=(C)obj; cobj.cxx(); } } } //这里举了四个类,他们的函数都不同,但都是 Object 类的子类 class A { void axx() { System.
一般按照正常安装流程到这一步的时候可以直接点击网络和主机名,但是我这里并没有连接成功,因此我跳过了这里想着后面再配置
后面通过ping www.baidu.com以及ping 百度的ip地址(如何获得百度的ip地址可以自行搜索),两个都不通,说明既没网络又没有DNS。
1.先看一下编辑->虚拟机网络编辑器,是不是选的仅主机而不是桥接或者NAT,这里可以选成NAT,如果发现应用那个按钮没法点击并且点确认再打开这里面还是选的仅主机,那就把仅主机这个选项移除,然后设为NAT就可以了
2.NAT设置里的网关和DHCP设置里的起始/结束ip地址,这里尤其要记住ip地址范围哦。
记住这些之后
3. cd /etc/sysconfig/network-scripts/ #进入网络配置文件目录,编辑配置文件:vi ifcfg-ens33(此处是ifcfg-ens33,若没有该文件找ifcfg-ens开头的,vi是编辑命令,进入后再按”I”进行编辑,编辑完按“Esc”退出操作并按”:wq”进行保存)
BOOTPROTO=static ONBOOT=yes IPADDR=192.168.74.204 你主机范围内的一个ip NETMASK=255.255.240.0 子网掩码 GATEWAY=192.168.64.254 网关号 注意这里填的ip地址是第2步你自己电脑上看到的
然后service network restart
现在去ping 百度的ip地址应该是可以了,但是还没有配置DNS,不能ping www.baidu.com
4. 打开你电脑设置,找到 打开网络和共享中心---> 更改适配器设置--->右击无线网络--->状态-->详细信息
这里有两个DNS服务器的地址,两个都要记下来,然后还是第三步那个文件,继续在后面添加两行
DNS1=202.96.209.5 #根据你的实际情况更换 DNS2=202.96.209.133 #根据你的实际情况更换
(不需要设置/etc/resolv.conf !!)
然后service network restart,就成功了
https://help.aliyun.com/document_detail/331944.html?spm=a2c4g.11186623.0.0.e0ec6cfawFtjds
ODC 支持连接 OceanBase 数据库的 MySQL 租户和 Oracle 租户。本文主要介绍该连接方式的前提条件和操作步骤。
前提条件 确保已获取 Web 版 OceanBase 开发者中心 ODC 网址,或已经下载并安装客户端版本的 ODC。
关于 ODC 的安装详情,请参考官网文档 《OceanBase 开发者中心》。
操作步骤 进入 ODC 登录界面,在登录界面输入注册的账号和密码后,单击 登录 按钮进入 ODC 首页。
ODC 首页中会直接显示 个人连接 页签,可在 个人连接 页签的右上角单击 新建连接 按钮创建个人连接。
说明 ODC 第一次运行时,加载时间会比较长,请耐心等待。
点击 新建连接,在创建连接页面选择 连接模式 为 MySQL,在页面中输入 连接名称、主机名、端口、集群、租户、数据库用户名 和 数据库密码,点击 保存。
如果可以保存成功,说明连接数据库成功。
连接创建成功后,会在 ODC 首页的 个人连接 列表中显示连接信息,单击该连接名或单击操作项下的 打开 按钮打开连接。
0x01.windows提权基本介绍 1.提权分类 纵向提权 低权限角色获取高权限角色的权限
横向提权 获取同级别角色的权限
常用提权方法 系统内核溢出漏洞提权 数据库提权 错误的系统配置提权 组策略首选项提权 Web中间件漏洞提权 DLL劫持提权 滥用高危权限令牌提权 第三方软件/服务提权 2.安全标识符(SID) 安全标识符(SID)是Windows操作系统使用的独一无二的,不变的标识符用于标识用户、用户群、或其他安全主体.操作系统也是通过SID来识别用户的,并不是所谓的用户名 安全标识符一经产生,不会与全世界任何的安全标识符重复;也不随用户更名而变化。如果删除了用户帐户,然后再创建同名帐户,则产生的安全标识符是不同的。
查询自己的SID可以通过:whoami /user
查询其他用户的SID可以通过WMI命令查询:wmic useraccount where name=%username% get sid
所有的SID都以S-1-5-21开头,否则将是唯一的。Windows中管理员帐户的SID始终以500结尾。 Guest帐户的SID总是以501结尾。您还可以在每个与特定内置帐户相对应的Windows安装中找到SID。例如,S-1-5-18 SID可以在您遇到的任何Windows副本中找到,并对应于LocalSystem帐户,即在用户登录之前在Windows中加载的系统帐户。
以下是用户SID的示例:S-1-5-21-1180699209-877415012-3182924384-1004 。 SID是我家用电脑上的帐户号码 - 您的帐号会有所不同。
常见的SID列表:
S-1-5-18 (LocalSystem) S-1-5-19 (LocalService) S-1-5-20 (NetworkService) S-1-5-32-544 (Administrators) S-1-5-32-545 (Users) S-1-5-32-550 (PrintOperators) 3.UAC 用户账户控制UAC:UAC 是 win10 操作系统中非常重要的安全功能,它起源于 windows vista 操作系统,流行于windows7、windows8。各种功能策略得到了完善的修订和开发,应用在win10操作系统中,目的是减少恶意软件对系统的侵害(比如大部分的恶意软件、木马病毒、广告插件在进入计算机是都会有如下操作:文件复制到到windows目录,安装驱动,安装activex等操作)。 操作系统默认情况下是启用UAC,当用户运行软件就会触发UAC规则。执行的时候就需要权限,否则是不会运行的。 不涉及到更改计算机操作的项目是不会触发UAC规则的,能够触发UAC规则的常用操作包括以下内容:
运行应用程序 修改注册表文件 安装或者卸载程序 安装设备驱动程序 增加或者删除用户账户 复制文件到windows目录 用户操作以上内容时就会触发UAC规则,系统会弹出提示对话框。简单来说,弹出对话框操作就是临时提升用户权限,允许程序运行。 UAC的实现 ACL (Access Control List) : Windows中所有资源都有ACL ,这个列表决定了拥有何种权限的用户/进程能够这个资源。
------------恢复内容开始------------
------------恢复内容开始------------
1. 基础 1.1 查询常量、表达式、函数 select 100 ; select 'joli';
select 100%9 ;
select VERSION();
1.2 +号的作用 1.3 concat concat('lili','ss')
1.4 显示表结构 DESC table1
1.5 order by 可以对sum count length等函数/表达式进行排序 SELECT id,NAME,SUM(score) FROM student GROUP BY NAME ORDER BY SUM(score) DESC;
1.6 常见函数 1.6.1 字符函数 CONCAT('li','ss','df')
UPPER('jj')
LOWER('FF')
SUBSTR('函数表达式进行排序',2) // 数表达式进行排序 SUBSTR('函数表达式进行排序',1,3) //函数表
INSTR('函数表达式进行排序','表达式') // 3 INSTR('函数表达式进行排序','表是式') //0
#http服务反向代理location / { proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; add_header X-Cache $upstream_cache_status; add_header Cache-Control no-cache; add_header Access-Control-Max-Age 86400; #add_header Access-Control-Allow-Origin * always; add_header Access-Control-Allow-Headers '*'; add_header Access-Control-Allow-Credentials true; add_header Access-Control-Allow-Methods GET,POST,OPTIONS; # if ($request_method = 'OPTIONS') { # return 200; # } proxy_pass http://127.0.0.1:8801; expires 12h; } location / { proxy_pass http://127.0.0.1:8809; proxy_http_version 1.1; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_connect_timeout 120s; proxy_read_timeout 120s; proxy_send_timeout 10s; expires 12h; }
实验任务一
task1.c
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 5 int main() { int grade,number; int i; srand(time(0)); for(i=0;i<N;++i) { grade=rand()%4+2018; number=rand()%999+1; printf(%d8330%04d\n,grade,number); } return 0; } 实验任务二
task2.c
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 2 int main() { int x; int i,n; srand(time(0)); printf(猜猜2022年四月哪一天是你的lucky day\n\n开始喽,你有三次机会,猜吧(1~30):); scanf(%d,&n); x=rand()%30+1; for(i=0;i<N&&n!=x;++i) { if(n<x) { printf(你猜的日期早了,你的lucky day还没到呢\n\n); printf(再猜(1~30):); scanf(%d,&n); } else { printf(你猜的日期晚了,你的lucky day已经过啦\n\n); printf(再猜(1~30):); scanf(%d,&n); } } if(n<x) printf(你猜的日期早了,你的luckyday还没到呢\n\n次数用完啦,偷偷告诉你:4月,你的luckyday是%d号,x); else if(n>x) printf(你猜的日期晚了,你的luckyday已经过啦\n\n次数用完啦,偷偷告诉你:4月,你的luckyday是%d号,x); else printf(哇,猜中了:-)\n\n); return 0; } 实验任务三
目录静态代码块main()方法init()方法initClassLoaders()方法load()方法start()方法 上一章,我们下载源码,并启动了源码,Tomcat源码分析(一)启动Tomcat源码 。 现在,我们来看看Bootstrap启动类做了些什么工作。
静态代码块 设置了catelina.home和catalina.base 点击查看代码 static { // Will always be non-null // 当前工作目录的路径,总是不会为null String userDir = System.getProperty(user.dir); // Home first String home = System.getProperty(Constants.CATALINA_HOME_PROP); File homeFile = null; if (home != null) { File f = new File(home); try { homeFile = f.getCanonicalFile(); } catch (IOException ioe) { homeFile = f.getAbsoluteFile(); } } if (homeFile == null) { // First fall-back. See if current directory is a bin directory // in a normal Tomcat install File bootstrapJar = new File(userDir, bootstrap.