- 博客(15)
- 收藏
- 关注
原创 [ZJCTF 2019]NiZhuanSiWei
首先有三个get方式的参数text,file,password,先判定是否存在fileb并且file中的内容是否为“welcome to the zjctf”,如果是,则输出text中的内容;第三个参数password,在include(useless.php)之后,index.php中有了Flag类,因为有反序列化password那我们就将password设为一个Flag类,__tostring函数中有读取Flag类中file元素的函数。第二个参数file,index中给的提示很明显,
2025-10-25 15:17:17
414
原创 [RoarCTF 2019]Easy Java
我尝试了一下下载flag.php和index.php都失败了,因为这是一个java web不是php。这个页面透露了这个是一个java web应用而不是php,FileNotFoundException暗示了存在文件下载的功能,但是找不到文件。这个链接有点意思,因为他的参数名是在Download目录下的,有下载文件的的可能性,但是直接点击之后并没有下载什么文件。发现这边有一个FlagController的类名,完整类名是com.wm.ctf.FlagController。3. 文件扩展名:.class。
2025-10-25 11:43:21
240
原创 [BSidesCF 2020]Had a bad day
include(php://filter/read=convert.base64-encode/resource=index.php.php)说明后台的源码可能是include($category.'.php')给上传的文件添加了一个php后缀。有两种方法可以看到index.php的源码,一种是点开题目的github链接查看index.php。另一种方法需要我们自己尝试,下面我来展示如何一步步得到index.php。我们注意到url中出现了index.php和categories参数。
2025-10-24 23:20:07
424
原创 [网鼎杯 2020 朱雀组]phpweb(超详细)
函数结束,主函数也结束,从现在开始自动销毁类,开始执行__destruct()函数,此时p=ls,func=system,func!=" "所以进入gettime(system,ls),call_user_func(system,ls),相当于执行命令:system(ls /)接下来是一个gettime函数,有func和p两个参数。call_user_func函数用于接收func和p,将func(p)返回的结果赋值给result,如果func(p)没有返回结果,则call_user_func也不反回结果。
2025-10-24 19:50:31
596
原创 [RoarCTF 2019]Easy Calc
进入页面首先看到输入框,考虑sql注入,首先页面告诉我们这是一个简单的计算器,那我们就i试试他原本的功能输入1' or 1=1#发现这种注入语句被过滤了,我们用bp抓包试试发现response中有一个calc.php文件,我们尝试再路径后面加上cala.php看看能不能访问到解读一下这段代码:首先传入一个num参数,如果为空就显示源代码,如果不为空,就查看num字符串是否有黑名单中的字符,如果在黑名单中则输出“what are you want to do?此时我们可以在num前加一个空格来绕过。
2025-10-18 22:22:08
1173
原创 [极客大挑战 2019]Upload
这里发现/upload能直接进入目录,那么我们用/upload/shell.phtml直接连接发现成功,从而再根目录下找到flag。发现只有html和phtml能成功上传。现在有两个问题:1.蚁剑无法连接html 2.蚁剑连接的url并没有直接爆出来。我们将content-type修改为image/png再试试。发现还是不行,接着尝试.php2,html,phtml。先上传一句话木马.php,后台反馈不是图片。我们只能在输入框尝试或者用工具扫描。
2025-10-18 11:07:55
125
原创 [MRCTF2020]你传你[特殊字符]呢(超详细)
这里我上传了一个shell.png的文件,右边的response显示成功上传,接着我们用蚁剑尝试连接这个文件,记得这里连接的链接得看右边response中upload/96c13314b65815cdefe6c9c6763dcaf7/shell.png,切不可漏掉中间的哈希值。在这道题里一句话说是:.htaccess文件也可以理解为一个木马,他的作用是把当前文件夹下指定的或者所有的文件当作.php文件执行。首先进入页面可以看到是一道文件上传的题目,”一键去世“其实就是上传文件的按钮。
2025-10-18 10:51:38
370
原创 [网鼎杯 2020 青龙组]AreUSerialz(有史以来最详细)
首先我们得明确,我们传入的str字符串按照题目要求得是序列化之后的一个FileHandler类(因为传入str之后后台会对其反序列化成为类),我们现在来一步步构造payload(其实就是填下面代码块中类的参数),为了方便理解,我们下面用序列化之前的形式来描述。攻击的流程:传入字符串str--->反序列化str将其变成类--->最后在_destruct()中调用process--->在process中调用read函数,利用其得到flag。
2025-10-16 14:52:52
1096
原创 [极客大挑战 2019]Http
打开secret.php文件后显示It doesn't come from 'https://Sycsecret.buuoj.cn'我们想到http头中的referer,所谓referer简而言之就是到这个网页来时的路,我们用bp抓包,手动添加referer。接着他又说了,只能在本地读取flag,于是我们手动添加X-Forwarded-For为127.0.0.1。如果是对浏览器有要求,我们就得手动修改user-agent为Syclover。我们f12查看源码发现一个secret.php文件。
2025-10-14 23:55:38
192
原创 [ACTF2020 新生赛]Include
总结:直接访问php文件看到的是php文件执行后的结果,经过base64加密过后显示是的加密过后的php源码,从而得到flag。点击之后页面跳转到flag.php了,但是并没有显示出flag,此处文件就是flag.php猜测flag就隐藏在其源文件中。题目的标题是include,我们使用php伪协议来查看flag.php的源码。得到一串base64加密过后的一串代码经过解密之后得到flag。尝试f12查看源码,有一个flag.php。
2025-10-13 22:12:57
136
原创 [ACTF2020 新生赛]BackupFile
在web题中我们经常利用index.php和flag.php来一步步获取flag,因此尝试使用这两个的备份文件构造payload:index.php.bak,flag.php.bak。.zip/.rar:表示压缩文件备份,在原来的文件名后加“.zip/.rar”作为后缀。.old:表示旧版本文件备份,在原来的文件名后加“.old”作为后缀。.tmp:表示临时备份文件,在原来的文件名后加“.tmp”作为后缀。.bak:表示备份文件,在原来的文件名后加“.bak”作为后缀。
2025-10-12 17:35:43
226
原创 [极客大挑战 2019]Knife
通过蚁剑扫描网站根目录,发现并成功读取flag文件获取最终答案。该过程绕过了常规源码检查方式,直接定位到目标文件。摘要简明扼要地描述了渗透测试的关键步骤和结果,符合字数限制要求。
2025-10-12 16:59:33
138
原创 [极客大挑战 2019]BuyFlag
摘要:通过分析网页源码发现获取flag需要满足三个条件:1)密码不能为纯数字但必须弱等于404;2)必须是CUIT学生;3)money=100000000。利用PHP弱类型比较特性,当password为"404a"时满足前两个条件。修改cookie中user=1后,将money参数设为1e9(科学计数法)成功获取flag。该过程涉及PHP类型转换、cookie伪造和参数构造等技巧。
2025-10-12 16:40:58
220
原创 C语言——用快慢指针判断带环的起始位置
理由如下:假设x=c,那么慢指针走过了一圈,因为快指针是慢指针速度的两倍,所以快指针走过了两圈,由上一节的快慢指针相遇的原理我们知道这种假设不成立,所以x
2024-01-30 12:24:19
581
1
原创 C语言——用快慢指针判断链表中是否有带环
此时fast和slow的距离为c-1(假设c为带环一圈的节点数)如果想要判断链表中是否有带环,仅仅用一个指针从头节点移动永远会陷入一个死循环,这时我们可以用一个经典的方法来解决问题————:快指针先进入带环,慢指针后进入带环,当快指针和慢指针都进入带环后,慢指针的指向节点的地址和快指针指向的。假设fast一次走3步,则fast和slow的速度差为2,总路程为n,设相遇过程所用时间为t(t为整数)(1)如果n为偶数,则能相遇。和slow的速度差为1,总路程为n,设相遇过程所用时间为t(t为整数)
2024-01-29 22:17:16
1114
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅