BUUCTF | [RoarCTF 2019]Easy Calc

看一下页面源码,发现了提示:

calc.php?num=encodeURIComponent($("#content").val())

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

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

但是无论怎么注入都是400,403和500,这里用的是一个新的点:PHP的字符串解析特性

步骤:

1.扫一下根目录,发现flagg文件:

? num=1;var_dump(scandir(chr(47)))

2.列出flagg:

?%20num=1;var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))

解析:

为什么要在num前加一个空格?

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

发现过滤怎么办?

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

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

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



这题还可以用:http走私

用post模式发一个请求,出现源码

然鹅我这里复现失败了Orz,这里贴一份师傅的

方法二

利用HTTP请求走私

当我们向代理服务器发送一个比较模糊的HTTP请求时,由于两者服务器的实现方式不同,可能代理服务器认为这是一个HTTP请求,然后将其转发给了后端的源站服务器,但源站服务器经过解析处理后,只认为其中的一部分为正常请求,剩下的那一部分,就算是走私的请求,当该部分对正常用户的请求造成了影响之后,就实现了HTTP走私攻击。

添加Transfer-Encoding: chunked,在消息体加几个回车

分块传输编码(Chunked transfer encoding)是超文本传输协议(HTTP)中的一种数据传输机制,允许HTTP由网页服务器发送给客户端的数据可以分成多个部分。分块传输编码只在HTTP协议1.1版本(HTTP/1.1)中提供

作者:gtfly


参考:

https://blog.csdn.net/weixin_44077544/article/details/102630714

https://www.freebuf.com/articles/web/213359.html

https://paper.seebug.org/1048/

https://mp.weixin.qq.com/s?__biz=MzkwNzAwMDYyNQ==&mid=2247483858&idx=1&sn=19234bf6611400ae9da5d9a49a233cde&chksm=c0deaf8cf7a9269a32d928617d0c3eb11720914c591e0dc4d017450b9ef3809f2ed6a348a1b8&mpshare=1&scene=23&srcid=1016GXIy2HOar4STCzN93JIO&sharer_sharetime=1571219697654&sharer_shareid=71cadfa52e2be93573b54a69aeddea8b#rd

http://www.gtfly.top/2019/10/19/RoarCTF-wp.html

原文地址:https://www.cnblogs.com/chrysanthemum/p/11757363.html

时间: 2024-07-30 18:40:48

BUUCTF | [RoarCTF 2019]Easy Calc的相关文章

[RoarCTF 2019]Easy Java

0x01知识点: WEB-INF/web.xml泄露 WEB-INF主要包含一下文件或目录: /WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则. /WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中 /WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动ja

[RoarCTF 2019]simple_uplod

[TOC] [RoarCTF 2019]simple_uplod 题目复现链接:https://buuoj.cn/challenges 参考链接:官方wp 1.ThinkPHP文件上传 参考官方文档可知并没有题目中限制后缀名的方法,所以可以无视allowext http://document.thinkphp.cn/manual_3_2.html#upload 2.upload()多文件上传 upload()函数不传参时为多文件上传,整个$_FILES数组的文件都会上传保存. 题目中只限制了$_

用最复杂的方式学会数组(Python实现动态数组)

Python序列类型 在本博客中,我们将学习探讨Python的各种"序列"类,内置的三大常用数据结构--列表类(list).元组类(tuple)和字符串类(str). 不知道你发现没有,这些类都有一个很明显的共性,都可以用来保存多个数据元素,最主要的功能是:每个类都支持下标(索引)访问该序列的元素,比如使用语法 Seq[i].其实上面每个类都是使用 数组 这种简单的数据结构表示. 但是熟悉Python的读者可能知道这3种数据结构又有一些不同:比如元组和字符串是不能修改的,列表可以修改.

css3中的calc()

1.什么是calc()? calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能.用来指定元素的长度.比方说,你能够使用calc()给元素的border.margin.pading.font-size和width等属性设置动态值. calc()最大的优点就是用在流体布局上.能够通过calc()计算得到元素的宽度. 2.calc()能做什么? calc()能让你给元素的做计算.你能够给一个div元素,使用百分比.em.px和rem单位值计算出其宽度或者高度.比方说"widt

Autodesk AutoCAD 2019.0.1中文破解版 32位&64位(附注册机/序列号)

Autodesk AutoCAD 2019.0.1中文破解版:http://www.3322.cc/soft/38120.htmlAutoCAD 2019.0.1是由Autodesk公司于2018年全新发布的自动计算机辅助设计软件,主要用于二维绘图.详细绘制.设计文档和基本三维设计,它具有广泛的适用性,可在各种操作系统主持的微型计算机和工作站上运行,可以说目前它是国际上最为流行,也是最权威的绘图工具.AutoCAD 2019.0.1具有最为良好的用户界面,用户可通过交互菜单或命令行方式便可进行各

AutoCAD 2019.0.1中文破解版 32位&64位(附注册机/序列号)

AutoCAD 2019.0.1中文破解版:http://www.3322.cc/soft/38120.htmlAutoCAD 2019.0.1是由Autodesk公司于2018年全新发布的自动计算机辅助设计软件,主要用于二维绘图.详细绘制.设计文档和基本三维设计,它具有广泛的适用性,可在各种操作系统主持的微型计算机和工作站上运行,可以说目前它是国际上最为流行,也是最权威的绘图工具.AutoCAD 2019.0.1具有最为良好的用户界面,用户可通过交互菜单或命令行方式便可进行各种操作,同时它的多

AutoCAD 2019.0.1中文破解版

AutoCAD 2019.0.1中文破解版:http://www.3322.cc/soft/38120.htmlAutoCAD 2019.0.1是由Autodesk公司于2018年全新发布的自动计算机辅助设计软件,主要用于二维绘图.详细绘制.设计文档和基本三维设计,它具有广泛的适用性,可在各种操作系统主持的微型计算机和工作站上运行,可以说目前它是国际上最为流行,也是最权威的绘图工具.AutoCAD 2019.0.1具有最为良好的用户界面,用户可通过交互菜单或命令行方式便可进行各种操作,同时它的多

Easy RM to MP3 Converter栈溢出定位及漏洞利用

本文主要是Easy RM to MP3 Converter(MFC++编写)栈溢出的定位及windows下shellcode编写的一些心得. 用到的工具及漏洞程序下载地址https://github.com/5N1p3R0010/Easy-RM-to-MP3-Converter 首先,在填充字符为10000和20000时,异常被捕捉到 在填充字符为30000时,程序崩溃 查看程序使用MFC++编写,所以这里我们用静态分析的方法定位漏洞(用污点分析的方法应该很容易动态定位这个漏洞,但菜鸡我并不会)

2019年德国国际狩猎渔具展

2019年德国国际狩猎渔具展时间:2019年1月29日-2月3日 地点:德国 多特蒙德会展中心展会简介一年一届的德国多特蒙德国际狩猎渔具展已成功举办了三十七届,是欧洲首屈一指的行业贸易展会.该展是集狩猎射击用品.狩猎追踪装备.钓具及配套.马具.户外野营装备.船艇.猎狗服饰.服装及相关产品,同期有多场不同主题的研讨会和行业活动及表演.往届展会只面向欧美企业招展,从2018年开始对中国企业开放.名额有限,欲报从速. 2018展会展出面积达90000平米,开放九大展馆,其中狩猎展区开放六个展馆,渔具展