您的位置:

一题关于php的ctf,PHP基础题

本文目录一览:

求解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"]来接收该值!

函数表示角时要注意角的范围。 不等式的