<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Whaocai的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Whaocai</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Whaocai]]></copyright><item><title><![CDATA[反序列化字符逃逸问题]]></title><link>https://blog.youkuaiyun.com/Whaocai/article/details/119532692</link><guid>https://blog.youkuaiyun.com/Whaocai/article/details/119532692</guid><author>Whaocai</author><pubDate>Tue, 10 Aug 2021 13:18:35 +0800</pubDate><description><![CDATA[字符逃逸的本质是替换后字符长度发生了改变。
两种情况：①替换后字符长度增加②替换后字符长度减少]]></description><category></category></item><item><title><![CDATA[BUUCTF web [MRCTF2020]套娃 1 wp]]></title><link>https://blog.youkuaiyun.com/Whaocai/article/details/119451461</link><guid>https://blog.youkuaiyun.com/Whaocai/article/details/119451461</guid><author>Whaocai</author><pubDate>Fri, 06 Aug 2021 14:26:50 +0800</pubDate><description><![CDATA[考点：
①$SERVER数组的各个元素的含义
②%0a绕过preg_match()
③data://text/plain;base64的利用
进去之后还是先看看有没有robots.txt文件（自己做题的习惯），发现页面并不跳转，猜测应该是index.php中有header在限制
于是查看源码，看到一段php代码

//1st
$query = $_SERVER['QUERY_STRING'];

 if( substr_count($query, '_') !== 0 || substr_count($qu]]></description><category></category></item><item><title><![CDATA[Bugku web Simple_SSTI_2 wp]]></title><link>https://blog.youkuaiyun.com/Whaocai/article/details/119381243</link><guid>https://blog.youkuaiyun.com/Whaocai/article/details/119381243</guid><author>Whaocai</author><pubDate>Thu, 05 Aug 2021 18:30:55 +0800</pubDate><description><![CDATA[考点：
①SSTI注入
最近学了学python ssti注入，找一道题练习练习。
进去之后，提示我们有个flag参数，同时再用御剑扫一下发现没有别的页面。
结合题目，直接payload：?flag={{1+1}},用的是flask模板 jinja2引擎
常见的ssti构造payload思路是：
这道题比较简单，什么敏感关键词都没有过滤


...]]></description><category></category></item><item><title><![CDATA[攻防世界web高手进阶wp-Confusion1]]></title><link>https://blog.youkuaiyun.com/Whaocai/article/details/119297440</link><guid>https://blog.youkuaiyun.com/Whaocai/article/details/119297440</guid><author>Whaocai</author><pubDate>Tue, 03 Aug 2021 14:32:46 +0800</pubDate><description><![CDATA[考点：python ssti
点进去看到url是index.php，页面上有一张图片，蛇和象。我们都知道蛇代表php，大象代表python，猜测有关php+python的题
点击login和register，发现都报错。F12又发现了flag文件存放的位置，接下来就是考虑何如读取到该文件。
寻找别的信息，看看有没有robots.txt，发现没有该文件，御剑扫描也没扫出什么有用的信息。
ctf中出有关python的题型很大一部分是ssti，于是就尝试模板注入，发下确实存在ssti漏洞，这下就有思路来读取fla]]></description><category></category></item><item><title><![CDATA[BUUCTF web [BJDCTF2020]EasySearch wp]]></title><link>https://blog.youkuaiyun.com/Whaocai/article/details/119334535</link><guid>https://blog.youkuaiyun.com/Whaocai/article/details/119334535</guid><author>Whaocai</author><pubDate>Mon, 02 Aug 2021 22:31:24 +0800</pubDate><description><![CDATA[考点
①ssi注入
进去之后是一个登录框，猜测有没有register.php，经过测试也不存在sql注入。直接御剑扫描（扫buuctf上的题要调线程和超时，我是线程10超时15，不然会被平台禁掉）。扫出来了index.php.swp

index.php.swp源码
&lt;?php
	ob_start();
	function get_hash(){
		$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$]]></description><category></category></item><item><title><![CDATA[BUUCTF web [网鼎杯 2020 朱雀组]phpweb 1 wp]]></title><link>https://blog.youkuaiyun.com/Whaocai/article/details/119327731</link><guid>https://blog.youkuaiyun.com/Whaocai/article/details/119327731</guid><author>Whaocai</author><pubDate>Mon, 02 Aug 2021 17:17:38 +0800</pubDate><description><![CDATA[考点：
①rce和php反序列化的组合拳
②php代码审计
进去之后，页面每隔一段时间就会自动刷新，直接抓包

有两个post传参，结合页面上回显的时间，可知道在后端执行了date(Y-m-d+h%3Ai%3As+a)这个函数，由此猜测可能是回调函数吧。
之后这个思路就有点离奇了，用file_get_contents()读取index.php源码

index.php源码
   &lt;?php
    $disable_fun = array("exec","shell_exec","system","p]]></description><category></category></item><item><title><![CDATA[BUUCTF WEB [安洵杯 2019]easy_web 1 WP]]></title><link>https://blog.youkuaiyun.com/Whaocai/article/details/119321047</link><guid>https://blog.youkuaiyun.com/Whaocai/article/details/119321047</guid><author>Whaocai</author><pubDate>Mon, 02 Aug 2021 15:48:10 +0800</pubDate><description><![CDATA[考点：
md5强碰撞
php代码审计–正则表达式
F12看到md5 is funny~ ，猜测与md5算法有关。注意到&lt;img&gt;标签和url地址栏，img参数是文件名的某种加密后的，将读取到的文件内容base64加密之后，输出到img标签中。
这个时候，要想办法知道img参数是怎么加密的，查看wp之后，发现后端会对传进去的img参数先进行两次base64解密，再进行一次hex解密。所以我们在payload时要先进行一次hex加密，再进行两次base64加密
同理然后读取一下index.php，再]]></description><category></category></item><item><title><![CDATA[攻防世界web高手进阶WP-favorite number]]></title><link>https://blog.youkuaiyun.com/Whaocai/article/details/119279474</link><guid>https://blog.youkuaiyun.com/Whaocai/article/details/119279474</guid><author>Whaocai</author><pubDate>Sun, 01 Aug 2021 12:53:21 +0800</pubDate><description><![CDATA[攻防世界web高手进阶WP-favorite number
考点：
①php5.5 key数组溢出
②%0A绕过preg_match()
打开链接是一道php源码审计问题
解题步骤：
①stuff === $array &amp;&amp; $stuff[0] != 'admin’
②num必须是数字
③黑名单，禁止了敏感字符* ^ }{ \等和一些敏感函数
第一步让stuff与数组强相等，并且stuff数组的第一个元素与stuff数组的第一个元素与stuff数组的第一个元素与array数组的第一个元素不相]]></description><category></category></item></channel></rss>