您当前的位置: 首页 > 

葫芦娃42

暂无认证

  • 5浏览

    0关注

    75博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

CTFHub 技能树rce

葫芦娃42 发布时间:2022-05-18 19:32:29 ,浏览量:5

前言

        最近临近期末考试了,所以打算抽取时间来复习一下高数,线代,不然就要挂科了😭  后面难一些的地方后面再继续练习学习。但是学习也不能停搁,周六学校的战队也要进行纳新面试了,因此那就借CTFHub技能树,综合做一下刚开始学习时的一些基础漏洞,也算是回顾复习一下🐱‍👤

(1) eval执行

eval()函数

eval()函数中的eval是evaluate的简称,这个函数的作用就是把一段字符串当作PHP语句来执行

  

这里只是简单让我们理解一下eval函数,并没有对我们get传入的cmd进行过滤。因此我们可以直接传入我们的命令:

 进行ls /查看根目录文件,发现 flag_8215

传入 cat 命令,得到flag。

(2) 文件包含

 题目提示 i have a shell, how to use it?

可知shell文件是shell.txt 我们包含shell.txt文件 就可以用eval()函数执行任意命令

传入?file=shell.txt&ctfhub=system('ls');

再传入cat /flag 得到flag。

(3) php://input

看题目就知道,是考察我们对php伪协议的理解

之前文章里有提到过。

 我们在phpinfo()界面里发现 allow_url_include on

php://input

用法: 可以访问请求的原始数据的只读流,将post请求中的数据作为PHP代码执行.

因此可以用php://input 来执行post输入流的命令

不知道为什么hackbar没有反应。那就抓包到burp

发现flag文件  flag_21263

再改为cat /flag_21263 得到flag。

(4) 读取源代码(php://filter)

和上一题一样,也是考察我们对php伪协议的了解。

我们可以通过filter协议来读取网页源代码。

题目提示 flag in /flag   flag在/flag文件里

?file=php://filter/read=convert.base64-encode/resource=/flag

base64解码,得到flag。

(5) 远程包含(php://input)

远程文件包含:

        指定第三方服务器上可运行的php木马,拿到webshell,查看Flag文件。

 phpinfo()发现,allow_url_fopen 和include都on,存在远程文件包含.

1. 命令执行

和上一题一样 php://input

 cat /flag  得到flag。

2. 远程文件包含

具体就是这个图片酱紫,我也没搞 ,就这样吧

(6) 命令注入(ping 管道符)

ping 命令可以测一下与主机网络联通情况。但是如果过滤不严的话,也会导致恶意命令执行。

可以用管道符 来执行我们想执行的命令。

传入 127.0.0.1 | ls

 16579554914493.php 有点奇怪,估计藏有flag

传入 127.0.0.1 | cat 16579554914493.php

什么也看不见,但是查看源码,就发现了flag。

(7) 过滤cat

老办法,管道符执行我们命令之后,可知

flag 在当前目录的 flag_7709325353056.php文件里

不过看源码可知,flag被过滤了。可以用tac绕过 (head,tail,nl,vim,less,more等等都可以)

传入 127.0.0.1 | tac flag_7709325353056.php

查看源代码,发现flag

(8) 过滤空格

老办法,管道符执行我们命令之后,可知

flag 在当前目录的 flag_628186223836.php 文件里

想cat flag_628186223836.php  但是空格被过滤了,怎么办呢?

空格过滤绕过:

${IFS}

$IFS$9

%09

%20

关注
打赏
1658420143
查看更多评论
立即登录/注册

微信扫码登录

0.0386s