ctf
文章平均质量分 85
ctf知识
M0no10gue
ctf比赛题目的复现可以去我的刷题记录中看,不再单独写
展开
-
php rce和绕过
php?>是正和常情况下的标签,用于识别这是个php文件,但php也允许使用短标签和等价于原创 2023-10-08 21:16:20 · 1328 阅读 · 0 评论 -
ctf刷题记录1(完结)
可以看出theme后面的是经过base64加密的,解码后为:/var/www/html/system/tmp/theme/default/a.zip 发现就是该文件的地址,猜测flag文件在根目录下,将/flag加密后的L2ZsYWc=拼接上去,得到http://node4.anna.nssctf.cn:28521/admin.php?(这道题搜不到)然后就是测试后台网站,御剑扫出了admin.php,进入后发现是一个登录界面,提示密码是五位数字,可以爆破一下,最后账号是admin,密码是12345。原创 2023-10-08 21:17:14 · 276 阅读 · 1 评论 -
反弹shell
j、 ( ) 将 command group 置于 sub-shell 去执行,也称 nested sub-shell,它有一点非常重要的特性是:继承父shell的标准输入、标准输出、标准错误和任何其他打开的。我 们对 2>&1详细说明一下 :2>&1 也就是 FD2=FD1 ,这里并不是说FD2 的值 等于FD1的值,因为 > 是改变送出的数据通道,也就是说把 FD2 的 “目标计算机的恶意程序与攻击者的监听器建立了连接后,攻击者就可以在自己的计算机上执行命令,并将命令通过网络发送给目标计算机。原创 2023-11-22 11:40:45 · 34 阅读 · 0 评论 -
SQL注入
其实sql注入算是我最早开始学的了,也是web安全的入门知识,但是一直没有系统的学习过mysql,对于一些poc也只能硬套,不是很懂意思,现在算是初步学习了一些mysql的操作,重新开始mysql学习之旅。原创 2023-12-06 18:15:34 · 877 阅读 · 1 评论 -
LD_PRELOAD劫持
想要重写函数,函数的名称、变量及变量类型、返回值及返回值类型都要与要替换的函数完全一致,可以通过报错来获得这些信息(此时ls.c中的strncmp函数的参数不匹配产生报错)可以查询linux命令调用了哪些动态链接库。原创 2024-04-02 19:36:56 · 115 阅读 · 1 评论 -
ssti模板注入
当使用len(obj)时,实际上调用的就是obj.__len__方法,其它同理。.__globals__['__builtins__']['eval']:查获取该类的全局变量,得到其中的builtins,取其中的eval函数(一个实现细节,大多数模块都将名称__builtins__作为其全局变量的一部分提供).__globals__['__builtins__']不能写成.__globals__.|attr('__builtins__'),如果想要获取索引,就需要使用__getitem__魔术方法。原创 2023-11-17 22:49:23 · 116 阅读 · 1 评论 -
ctf&提权
SUID(Set User ID)是一种特殊权限,当用户执行具有SUID位的可执行文件时,该文件将以文件所有者的身份而不是执行者的身份运行。这允许普通用户在执行特定程序时获取特权权限。原创 2023-11-25 21:58:37 · 495 阅读 · 0 评论 -
php伪随机漏洞----台州市赛一道web题
由上面内容可知,我们只需知道随机数种子,就能知道mt_rand(1,2)每次产生的到底是1还是2,那我们该如何知道随机数种子呢,uniqid也是产生随机数并且我们不能预测。了解变量覆盖的人都懂extract函数的实力。extract函数会把数组中的键值当作变量名,value当作变量的值,若变量名不存在,则创建这样的变量,若存在,则覆盖先前的值,因此可以执行变量覆盖。但是此种随机属于伪随机,如果种子不变,在第二次运行程序生成的随机数序列会与第一次相同,因此产生的随机数实际上是可以预测的。原创 2023-09-30 11:06:04 · 386 阅读 · 0 评论 -
php://filter与ctf
这篇博客主要介绍的是php://filter在ctf中的常见利用,关于php:/filter的介绍可以去下面这篇博客,讲解的非常详细。原创 2023-10-11 09:44:17 · 307 阅读 · 0 评论 -
js原型链污染
需要纠正的是,o2和o1对象的层级本身是没有__proto__属性的,只有__prototype__,我们平常通过.__proto__调用都是向上寻找到Object.prototype,调用其中的__proto__属性,因为__proto__属性通过Getter动态获取__proto__的值的,所以不同层级的对象调用Object.prototype中的__proto__属性得到的值是不同的。这是merge函数造成的原型链污染,类似的还有clone函数,本质是找到能够控制数组(对象)的“键名”的操作。原创 2023-11-13 16:45:38 · 33 阅读 · 0 评论 -
NewStarCtf 2023 week3&week4&week5 web部分题目复现
看到源码中给出提示,包含phpinfo.php文件,包含后显示了phpinfo,搜索flag发现结合文件包含和题目的提示,无疑就是利用pearcmd.php本地文件包含(LFI)。关于pearcmd.php的介绍和利用直接放链接了大概意思就是我们可以利用pear中的命令,命令的参数来自于我们的url栏,用+分隔,因此是可控的,但是前提是register_argc_argv需要开启,且需要包含/usr/local/lib/php/pearcmd.php.原创 2023-11-19 20:49:09 · 430 阅读 · 0 评论