本文目录一览:
求解ctf关于php弱类型的题,求flag
首先根据json_decode()函数可以看出提交的是json数据
然后看到这一段代码就可以知道json的基本构造了
if (($data['user'] == 'easy' strpos($data['user'], 'easy') === FALSE) ($data['pass'] == 'secirity' strpos($data['pass'], 'secirity') === FALSE))
以下为$_GET['haha'] 的内容
{"user": "easy","user": "easy","pass": "secirity","pass": "secirity"}
CTF赛题PHP7 正则绕过
前言:由于长度限制,且不像其他题目告知flag.php的内容, 笔者并没有求出flag,绕过思路可参考,也欢迎ctf大佬指点迷津。
题目如下,解析flag.php中的flag变量
1.题目不告知flag.php的内容,所以唯一的办法只有打印出flag.php,先想办法绕过
2.因为 _ 也在正则里面,所以 =${_GET}[_]();_=phpinfo() 没办法传入
3.尝试php7 中的($a)();来执行动态函数 例如 ('phpinfo')()
4.那么动态构造函数名称即可,可理解,假如你是:(1+1)(); php会先运算1+1=2 然后在调用:2();
5.借助大牛的payload (~%8F%97%8F%96%91%99%90)(); 成功执行
6.payload构造方式如下
** 如何理解? **
对执行的函数取反然后进行 urlencode 详细可自行科普
7.当前可执行phpinfo,如何获取flag.php的内容?思路继续扩展
以上均是长度限制 笔者解题终于此
那么只需要 执行 getFlag()函数即可
('getFlag')(); 对flag进行编码
以上就是笔者对php绕过的小理解和内容分享
参考文章:
欢迎讨论,持续更新中,感谢关注
各位大佬,ctf的php题,真的急!!求flag
header("location:aaaa.php?flag=1");
其中flag=1是一个URL参数,是一个键值对,键名是flag,键值是1,允许有多对这样的参数,他们之间用号连接,如aaaa.php?flag1=1flag2=2flag3=3...
然后可以在aaaa.php中用$_GET["flag"]来接收该值!
函数表示角时要注意角的范围。 不等式的