自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 CTFshow web入门 php特性web89-130

看代码我们直接用空数组绕过就行。

2024-08-09 11:35:22 700

原创 CTFshow 文件包含 web78-88 116 117

这里我们需要注意的是我们的php://fiter/write=convert.base64-encode/resource=2.php需要进行两次url编码,而对我们的<?>需要进行一次base64编码,由于base64编码范围的原因<?>会被过滤为phpdie为6个,需要加上任意2个在base64范围内的字符即可,所以。PHP_SESSION_UPLOAD_PROGRESS获取实时文件上传进度,利用这个函数将内容写在文件中去。先确认文件存在,检测有没<,在把文件包含。发现一个png文件,保存下来。

2024-08-05 16:45:50 1005

原创 CTFshow命令执行

所以我们现在的问题就是如何把system(cat flag.php) 参数为数字,又能将参数转化为字符串的函数,首先考虑hex2bin,但这个函数不在白名单中,我们需要现将这个函数转换为数字。然后,我们需要得到'_GET',我们先将'_GET'转换为16进制,再换为10进制,为什么这样做,因为16进制里面有x,这样会匹配到正则的第一项。${PATH:~A}${PWD:~A}表示的就是PATH的最后一个单词和PWD的最后一个单词,组合起来就是nl。这里的<A的作用是让上一次的执行结果错误,返回1,使得$?

2024-08-04 11:55:46 580

原创 CTFshow命令执行 web41-77

/dev/null 2>&1 是一个 shell 重定向操作,意味着命令的标准输出(stdout)和标准错误(stderr)都被重定向到 /dev/null,即被丢弃。包含这个变量,就相当于把flag这个变量给注册进去了,而var_dump(get_defined_vars());用其他字符替换掉空格:水平制表符%09,这里的空格不是php代码里面的空格,而是linux中shell里面的空格。ls双写绕过,把后面的ls写进黑洞里,而前面的c=ls执行。这里又和73相同了,我们要用其他方式访问文件了。

2024-08-03 01:30:09 889

原创 CTFshow命令执行 web29-40

由于是新手,我们从最基本的原理开始。

2024-08-02 07:52:32 658

原创 ctf爆破小结

爆破的适用范围其实很小吧,才8个题。光需要爆破的地址要可以无限次的输入密码就排除去了大部分的网站。3.抓住伪随机数的生成规则来爆破(用到kali以及php_mt_seed0)通过ctfshow里面8个题的训练。2.爆破子域名(用到子域名挖掘器)4.爆破目录,这其实和扫描很像。5.爆破在渗透方面的运用。

2024-07-31 12:26:23 78

原创 CTFshow 爆破 web28

这有什么可以爆破的吗?查了一下wp,是爆破目录。我们先试着换一下0/1那里的数字,发现。然后找到状态码为200里就有flag。

2024-07-31 12:17:06 93

原创 CTFshow爆破web27

有点渗透的味道了。这里模拟一个大学的登录系统,给到我们的有一份录取名单以及录取查询的网站首先首先。

2024-07-31 12:00:52 130

原创 CTFshow爆破web25

我们想要flag.php,就需要让token=两个随机数的和,要知道这两个随机数,就要知道他的种子。我们让r=0.这样得出第一个生成的随机数,然后根据这个随机数去倒推种子。我们得到token=2281919472,抓包,改写cokie,就可得。这题其实也是伪随机数的知识点,我认为强调不同的版本结果不一样。这个种子由flag的哈希值得来。

2024-07-31 08:33:48 164

原创 CTFshow爆破之web26

先随便输入点什么,抓包,添加payload。然后暴力爆破得到密码是7758521。打开靶机,爆破的地方应该是这里。直接burp进行抓包进行爆破。然后再重放器中得到flag。

2024-07-27 22:19:18 102

原创 CTFshow爆破之web24

mt_srand()是种下一个种子,只要种子相同,生成出来的随机数的序列一样,有点想网易云的随机播放,生成一个固定的随机数排序。这里想提一句,php和python里相同的种子得到的随机数不一样。我们的解法只需要用这个种子生成一个随机数就行。这题其实在向我们传递伪随机数的概念。得到1155388967。

2024-07-26 09:50:22 200

原创 CTFshow爆破之web23

知道了原理,接下来我们通过执行脚本来算出这个token。下面的脚本来自Cyberbolt提交的wp。这里我们来简要分析一下代码。

2024-07-26 09:13:14 212

原创 CTFshow爆破之web22

光注意做题却忘记审题了,因为是新手还搞了半天。直接提交flag就行了。

2024-07-26 08:39:50 62

原创 CTFshow爆破之web21

从今天7.23开始学习爆破。

2024-07-23 23:28:02 130

原创 用hexo写博客遇到YAMLException: can not read a block mapping entry; a multiline key may not be an implicit

可以看到,我们的tags的那一行没有加空格,加上就好了。此外,写文章时#后也要加空格。这其实就是你的没有加空格。

2024-06-18 17:14:51 206

原创 异或的交换性

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。题目中我们会自然的想到数组,但出题人把空间锁死了。异或运算是一种位运算,符号为^

2024-05-21 23:39:50 264 1

原创 Brian Kernighan‘s Algorithm

这段代码是一个经典的用于计算一个数的二进制表示中1的个数的方法,称为"Brian Kernighan's Algorithm"。它的原理是通过不断将数字n与1进行与运算,来检查数字的最低位是否为1,然后将n右移一位,直到n变为0为止。这样,经过循环之后,count的值就是n的二进制表示中1的个数。其实就是算一个数转为二进制时的1和0的数量,一开始我想的是将这个数先转换为2进制的,然后再去计算个数,但后来又想到了c语言中的位运算。这个算法的优点是很高效,因为它只需要循环数字n的二进制表示中1的个数次数。

2024-05-13 21:07:15 242

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除