CTF ciscn_2019_web_northern_china_day1_web2 拿到题目,先看看这里发现一个很像提示的东西,然后发现下面是一堆小电视商品,有lv等级和金钱,所以这题的入口可能就是再lv6和这个资金募集上然后点击下next,看看页数的参数,然后爆破一下(注意看看lv信息是怎么显示的,这里是图片名。
力扣 最小覆盖子串 覆盖子串:首先根据题意,要求目标字符串的元素必须都在子串中出现过,这表明可以是乱序出现。所以在解决问题是我们需要对子串和目标字符串做匹配,查看子串是否符合要求。当窗口扩大时注意是否满足条件,当满足条件时尝试缩小窗口。根据题目提示,确定使用滑动窗口的办法。两个注意点,窗口扩大和窗口缩小。更好的方法:通过某种表示手段表示子串和目标字符串从而判断。总结,巧妙的通过数字的变化表示了窗口状态的变化。比较朴素的思路:采用遍历的方法查看是否任意。当满足覆盖时,缩小窗口,一个个判断。通过种类,个数的方法表示是否覆盖。
力扣 438找到字符串中所有字母异位词 通过滑动窗口进行遍历,通过"hash"将字符串子串映射到异位词表示空间每一个表示代表了一个异位词空间(一个字符串的所有元素的全排列广义上讲,以上方法都属于一种hash。
Buuctf2018 Online tool 我们希望构造如下payload,但是如果直接传入的话会被认为字符串,无法识别参数。为了注入我们只能使用单引号,但由于单引号会被转义所以我们必须想办法绕过。(最外部的单引号是字符串结构,双引号强字符串Maybe)命令中不会被视为参数,单引号可以注入参数,但是会被。在将单引号转义后会将转义部分用单引号括起。被转义后就不在是字符串结构而是代表单引号。最后面的空格是为了避免单引号被转义后经过。发现陌生函数,可能起到过滤作用。查询PHP manual。双引号被视为字符串,在。成功连接读取根目录下。
2016 OCTF unserialize 这里有个坑,为了绕过nickname的长度限制,我们传入了一个数组(nickname)所以在序列化时nickname是一个数组,不仅要闭合序列化后的对象还要把数组给闭合 花括号。发现update可以修改$photo但是,$photo在传入时,会被加上’upload’并MD5。因为过滤后的对象位置会发生改变,而反序列化又是基于长度定位,和匹配花括号的。好吧其实关键就在filter函数,它对序列化后的内容进行过滤,造成漏洞。所以通过可以使用字符串逃逸对photo对象的值修改。
P7919 [Kubic] ABC Tip: 重点是思维,将一个具体问题抽象化,忽略我们执行的具体操作,只关注性质的改变。(需要转换一下工程思维,一开始直接奔着解决实际问题去了【汗】)本质上这种置换并不会改变置换区间的性质但会改变交界处的相邻性质。根据官方题解,它将所有处理的区间的右界设为了。中,不会改变相邻字符的性质,只会改变。,通过滑动区间迭代计算即可。
洛谷 P1007 独木桥 采用了迭代的思想,我们计算每一个士兵的最大(最短)时间。已知士兵的行动是并行的,则全部士兵撤离的时间取决于最后一个撤离的士兵,也是撤离的最慢的士兵,所以我们通过外层的。将士兵视为质点,我们发现士兵相遇后由于速度一样,假设我们不知道士兵是否会转身,而转身时间忽略不计,那么我们并不能分辨士兵是否转身。每个士兵初速度一定,方向一定,中途不改变方向,除非两个士兵面对面相遇,他们无法彼此通过对方,于是就分别转身,继续行走。的数据,满足初始时,没有两个士兵同在一个坐标,个整数,分别表示每个士兵的初始坐标。
barriers笔记[thread_cond_t] *pthread_cond_signal ** 用于唤醒一个挂起的线程(一般按照优先级否则随机,根据操作系统的不同可能唤醒多个线程。cond 是 pthread_cond_t 类型的变量,但是它与条件无关。上锁之后,线程执行相应operation,并判断条件➡️是否要wait。私以为这个变量用于将使用了该函数的线程进行关联。执行wait这个函数时线程会挂起,并释放锁,用于唤醒所有在cond挂起的线程。两个函数的作用其实就是实现了一个。这两个函数一般是连着使用的。在被唤醒后会尝试获得锁!
Thread and Lock 实验报告 根据实验要求,在未经任何修改的情况下运行gcc ph.c结果1结果2任务1的目的就是让结果2的keys能全部找到任务2的目的在任务1的基础上提高效率前提:正确率🔑100%
Thread实验笔记 C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 “The C++ Programming Language” 对 volatile 修饰词的说明:volatile 关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。