![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP很碎的知识点
文章平均质量分 80
PHP很碎的知识点
bfengj
vegetable web dog
展开
-
[MRCTF2020]Ezaudit
知识点www.zip泄露PHP随机数问题SQL注入WP进入环境扫一下常见的文件泄露,发现存在www.zip,下载下来:<?phpheader('Content-type:text/html; charset=utf-8');error_reporting(0);if(isset($_POST['login'])){ $username = $_POST['username']; $password = $_POST['password']; $Privat原创 2021-04-13 17:09:34 · 265 阅读 · 0 评论 -
关于php://filter在file_put_contents中的利用
前言今天遇到了一道PHP文件包含的题目:<?php$filename=$_GET['filename'];$content=$_POST['content'];file_put_contents($filename,'<?php exit();'.$content);highlight_file(__FILE__);是一道比较老的题目了,但是里面的知识点和利用的姿势还是非常值得学习的。我花了点时间学习了很多大师傅们的文章,把学习得到的姿势记录下来。当然还有如下的变形:<原创 2021-01-24 21:53:50 · 1212 阅读 · 1 评论 -
CTFshow-WEB入门-PHP特性(持续更新)
web89利用intval的这个特性:非空的数组会返回1,因此利用数组绕过。web90两种方式:?num=4476a?num=0x117cweb91考察了preg_match的/m模式。默认的正则开始"^“和结束”$“只是对于正则字符串如果在修饰符中加上"m”,那么开始和结束将会指字符串的每一行:每一行的开头就是"^",结尾就是"$"。因此?cmd=php%0a1即可web92<?phpinclude("flag.php");highlight_file(__原创 2021-01-20 16:23:33 · 4941 阅读 · 0 评论 -
[BJDCTF2020]EzPHP
知识点base32url编码绕过preg_match在非/s模式下的绕过$_POST和$_GET的优先级PHP伪协议。sha1函数的数组绕过。create_function()的代码注入WP这个题目真的挺难的,尤其是最后的create_function代码注入,整个题目的考点太多,真的就是看学的扎实不扎实了,是一道非常好的题目。首先进入环境,f12发现:比较明显的base32,解码后得到1nD3x.php。访问一下,可以得到源码:<?phphighlight_file(原创 2020-12-27 19:34:26 · 1402 阅读 · 0 评论 -
攻防世界 Web高手进阶区 favorite_number
知识点PHP的数组key溢出。PHP的preg_match的/m绕过。命令执行绕过。WP昨天偶然翻自己的收藏夹,突然翻到了攻防世界,差点忘了攻防世界的web还没刷完。。就回来稍微看了个题目,还是挺有意思的,不过我也没能完全独立做出来,前两个点都遇到了问题,反而是最后的命令执行做的比较轻松。首先进入环境,审一下代码:<?php//php5.5.9$stuff = $_POST["stuff"];$array = ['admin', 'user'];if($stuff === $原创 2020-12-21 18:58:12 · 866 阅读 · 1 评论 -
[MRCTF2020]套娃
WP很简单的一道类似PHP闯关的题目,考察了多个点但是每个点都比较简单。首先进入环境f12看以下源码:$query = $_SERVER['QUERY_STRING']; if( substr_count($query, '_') !== 0 || substr_count($query, '%5f') != 0 ){ die('Y0u are So cutE!');} if($_GET['b_u_p_t'] !== '23333' && preg_match('/^2原创 2020-12-01 17:58:35 · 204 阅读 · 0 评论 -
[GWCTF 2019]枯燥的抽奖
知识点mt_rand()存在的问题WP这题是一道很简单的题目。。但是自己几乎把这题能踩的坑全给踩了一遍。。。首先是通过check.php来审一下源码:<?php#这不是抽奖程序的源代码!不许看!header("Content-Type: text/html;charset=utf-8");session_start();if(!isset($_SESSION['seed'])){ $_SESSION['seed']=rand(0,999999999);}mt_sr原创 2020-11-28 00:51:54 · 252 阅读 · 0 评论 -
[CISCN 2019 初赛]Love Math
前言还是在buuctf上做题,做到了这个国赛的题目,感觉自己还是太菜了,创造力少的可怜,一点基本的对知识的运用能力都没有,还是要加油啊。WP进入环境进行代码审计:<?phperror_reporting(0);//听说你很喜欢数学,不知道你是否爱它胜过爱flagif(!isset($_GET['c'])){ show_source(__FILE__);}else{ //例子 c=20-1 $content = $_GET['c']; if (strlen原创 2020-11-18 15:13:44 · 730 阅读 · 1 评论 -
攻防世界-Web高手进阶区-Cat
这题其实并不能算是命令执行,主要涉及了输入宽字节字符导致报错,curl的@+文件名做本地文件读取,以及django的相关知识。原创 2020-09-13 12:13:42 · 437 阅读 · 0 评论 -
“百度杯”CTF比赛 2017 二月场 爆破-1
这题只能说是我PHP没学好,怪不了出题人。首先打开环境进行代码审计:<?phpinclude "flag.php";$a = @$_REQUEST['hello'];if(!preg_match('/^\w*$/',$a )){ die('ERROR');}eval("var_dump($$a);");show_source(__FILE__);?>这样我们输入的hello的值就会被当成变量名,然后进行var_dump()。这里我以为要爆破,我心想就6位,然后我真的开原创 2020-09-12 14:05:11 · 210 阅读 · 0 评论