gift
打开页面
考点: snow html隐写
1 | snow 是一款在html嵌入隐写信息的软件, |
解密网址:http://fog.misty.com/perry/ccs/snow/snow/snow.html
密钥为题目名字
gift php
Do you know .swp file? 非正常关闭vi编辑器时会生成一个.swp文件
访问.index.php.swp下载下来, vim-r.index.php.swp还原即可 源码
1 |
|
要求post一个 greeting参数,经过areyouok函数正则过滤后如果返回false,
就进入下一个if,如果 greeting参数包含 MerryChristmas则打印flag。
可以利用strpos函数的一个漏洞,传入一个数组,会返回 NULL, NULL不强等于false,即可绕过。
gift php plus
这题是在gift php的基础上加上了is_array的判断,不允许使用数组来绕过。
所以上一道题的思路不能再用了。 这里需要用到正则回溯,可以参考p牛的文章:https://www.leavesongs.com/PENETRATION/use-pcre-backtrack-limit-to-bypass-restrict.html
PHP为了防止正则表达式的拒绝服务攻击(reDOS),给pcre设定了一个回溯次数上限 pcre.backtrack_limit,默认为100万。当正则回溯超过这个上限时,就会返回false。
因此我们只要post100万个字符,让它回溯大于100万次,函数就会返回false,从而绕过if判断。