CTFHUB-RCE

eval执行

查看源码后发现。让把命令赋值给cmd然后执行
在这里插入图片描述先看一下根目录下有什么,命令:?cmd=system(‘ls’);
在这里插入图片描述
再回到上一级看看。发现了flag
在这里插入图片描述
打开flag就行了。
在这里插入图片描述

文件包含

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

文件包含

查看源码,发现strpos函数是用来查找字符在出现的位置。如果我们传入的数据流第中含有flag并且flag是第一个的话他就会返回0,那么!0就是存在了,就不会报错了。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

PHP://input

查看源码
在这里插入图片描述
php:// — 访问各个输入/输出流(I/O streams)
php://input 是个可以访问请求的原始数据的只读流.
可以接收post请求作为输入流的输入,将请求作为PHP代码的输入传递给目标变量,以达到以post 的形式进行输入的目的。查看phpinfo,发现以下字段,证明是可以使用php://input的。
在这里插入图片描述
在这里插入图片描述后面都是正常操作了
在这里插入图片描述
在这里插入图片描述

远程请求

打开phpinfo发现还可以使用php://input,那么方法就跟上面那题是一样的了,就不多做赘述。
在这里插入图片描述

读取源代码

看到这个我以为还能用php://input,然后发现并不能。
在这里插入图片描述在这里插入图片描述
看了别的博主的才知道这里要用php://filter,用法http://URL/?file=php://filter/read=convert.base64-encode/resource=…/…/…/flag
在这里插入图片描述用burpsuit解码就好了
在这里插入图片描述下面的知识点来自于大佬

linux中命令的链接符号

1.每个命令之间用;隔开
说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。
2.每个命令之间用&&隔开
说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。
3.每个命令之间用||隔开
说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止。
4. | 是管道符号。管道符号改变标准输入的源或者是标准输出的目的地。
5. & 是后台任务符号。 后台任务符号使shell在后台执行该任务,这样用户就可以立即得到一个提示符并继续其他工作。
使用&连接符,连接别的命令试一下,发现也执行了后面的命令,且文件夹下有个php文件

linux查看文本的命令

cat 由第一行开始显示内容,并将所有内容输出
tac 从最后一行倒序显示内容,并将所有内容输出
more 根据窗口大小,一页一页的现实文件内容
less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head 只显示头几行
tail 只显示最后几行
nl 类似于cat -n,显示时输出行号
tailf 类似于tail -f
使用more输出base64密文
12.0.0.1 & more flag_1482210209678.php | base64

命令注入

在这里插入图片描述发现里面看不见,可以通过直接看网页源码看见或者用语句:ip & cat *.php | base64可以看到他的密文,用burpsuit解码就能看到flag了。
在这里插入图片描述
后面几题基本一样。
注意:
空格用<或者/**/替换
分隔符用cd代替
过滤了管道符|,不能再使用了。但是base64 a.php和a.php|base64是等价的。

命令注入综合练习

空格可以用${IFS}
cat可以用more
flag可以用正则f***
ctfhub应该用不到
查了一下,在linux下,命令分隔符除了;还有%0a
有了;就可以不用运算符了
因为这个都是url编码所以都要直接写在网址内部
在这里插入图片描述

命令:?ip=127.0.0.1%0acd I F S f ∗ ∗ ∗ i s h e r e {IFS}f***_is_here IFSfishere{IFS}%0als

在这里插入图片描述
命令:ip=127.0.0.1%0acd I F S f ∗ ∗ ∗ i s h e r e {IFS}f***_is_here IFSfishere{IFS}%0abase64${IFS}f***_16941904629849.php
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熊是本熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值