前几天打了字节跳动的CTF,我还是太菜了,挂一挂队内wp
WEB
boring_code
题目给了源码,但是很是做了很久才出来,wtcl
1 |
|
一开始的baidu域名绕过绕了快一天,最后买了个域名就出了(这个题出钱就出flag.jpg
接下来的就是绕过payload了,这个考点跟之前ph牛的无参函数绕过很相似,但是过滤更加严格
1 |
if(chdir(next(scandir(chr(ord(strrev(crypt(serialize(array())))))))))readfile(end(scandir(chr(ord(strrev(crypt(serialize(array())))))))); |
rss
这题人傻了,上一题的域名只活了两个小时就被腾讯云封了,然后就卡卡卡……心态爆炸压根没想起data协议,复现复现,wtcl
这题同样也需要百度域名,但是没有限制data协议,所以可以直接用data协议进行绕过,payload如下
1 |
data://baidu.com/plain;base64|xxxxxxxx(base64编码的xxe payload) |
然后利用php://filter协议去读php源码
ezCMS
首先是扫后台扫到源码,然后就是进行源码审计,可以看到前半部分是个简单的哈希长度扩展攻击,想要文件上传先要绕过这关,脚本就不贴了,网上随便都能搜到
接下来的就是phar和zip的利用去删除网站文件绕过上传shell,exp如下
1 |
|
触发反序列化漏洞就用php://filter
去绕过
PWN
mulnote
这道题就是一道double free(友好的出题人)
首先先在ida里面分析出函数,可以知道malloc<0x10000,也就是可以unsorted_bin和fast_bin的攻击,后面也一样,把函数分析出来,会发现free函数有UAF(动态调试比静态分析好多了,直接动态边调试边看),想到fastbin的attcak,首先unsorted_bin申请再释放泄露出真实地址,然后double free改malloc_hook为onegadget,最后getshell
1 |
#coding=utf8 |
vip
因为become vip函数中调用了prctl函数,而在输入名字处能溢出到v4,也就是prctl的第7个参数,溢出大小为0x30,所以可以构造沙箱规则将open函数关闭(顺便打开mprotect绕过NX),这样在edit函数中open(“/dev/urandom”, 0);返回值就为0,所以read(fd,a1,a2) == read(0,a1,a2) 就是用户输入了,然后这个函数没有对size进行检测所以存在任意长度的堆溢出,接下来就tcache了,但是因为execve函数被禁用了,所以这里用写shellcode直接读flag
1 |
from pwn import * |
MISC
betgame
试了几次,对应关系如下
1 |
第一关:b --> s ; j --> b ; s -- j ; |
然后次数只需要30次菜鸡就直接手动出flag了2333
jigsaw
按时间顺序头铁拼图……..
CRYPTO
lrlr
aes随机数漏洞加广播攻击
1 |
import gmpy2 |
然后z3解方程
1 |
from z3 import * |
还是太菜了Orz
FROM:Xi4or0uji
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论