[RoarCTF 2019]Easy Calc
![[RoarCTF 2019]Easy Calc image 14 - [RoarCTF 2019]Easy Calc](https://zfmy.info/wp-content/uploads/2022/05/image-14.png)
查看源码 发现这是一个waf 而且该waf无法让我们往num里面传入字符
![[RoarCTF 2019]Easy Calc image 15 - [RoarCTF 2019]Easy Calc](https://zfmy.info/wp-content/uploads/2022/05/image-15.png)
发现了一个文件calc.php 访问
![[RoarCTF 2019]Easy Calc image 16 - [RoarCTF 2019]Easy Calc](https://zfmy.info/wp-content/uploads/2022/05/image-16.png)
空格 ' " [] $\ ^等都被过滤了
看了网上大佬们的思路 使用( num)来使waf无法匹配到num 而传到php这里php会自动把前面的空格去掉来进行绕过
直接使用num
![[RoarCTF 2019]Easy Calc image 17 - [RoarCTF 2019]Easy Calc](https://zfmy.info/wp-content/uploads/2022/05/image-17.png)
num前面加空格
![[RoarCTF 2019]Easy Calc image 18 - [RoarCTF 2019]Easy Calc](https://zfmy.info/wp-content/uploads/2022/05/image-18.png)
然后利用num进行查看flag等操作
需要使用到的函数
![[RoarCTF 2019]Easy Calc image 19 - [RoarCTF 2019]Easy Calc](https://zfmy.info/wp-content/uploads/2022/05/image-19.png)
![[RoarCTF 2019]Easy Calc image 20 - [RoarCTF 2019]Easy Calc](https://zfmy.info/wp-content/uploads/2022/05/image-20.png)
![[RoarCTF 2019]Easy Calc image 21 - [RoarCTF 2019]Easy Calc](https://zfmy.info/wp-content/uploads/2022/05/image-21.png)
因为 / 被过滤了 所以使用ascii码进行绕过
![[RoarCTF 2019]Easy Calc image 22 - [RoarCTF 2019]Easy Calc](https://zfmy.info/wp-content/uploads/2022/05/image-22.png)
查看flagg
payload
http://node4.buuoj.cn:28783/calc.php?%20num=var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
![[RoarCTF 2019]Easy Calc image 23 - [RoarCTF 2019]Easy Calc](https://zfmy.info/wp-content/uploads/2022/05/image-23.png)