php后端特性
N_S.S等同于N[S.S
N[S.S => N_S.S
这是一种规范,当直接使用时则会导致一个问题无法使用
在php中变量名字是由数字字母和下划线组成的,所以不论用post还是get传入变量名的时候,php会将怪异的变量名转换成有效的,在进行解析时会删除空白符,并将空格、+、点、[[……]
首先我们看到file_put_contents函数要条件反射
1.它可以配合伪协议
file_put_contents()
//用来写文件进去,其中文件名参数是支持伪协议的,用于将第二个参数content进行过滤器后再写进文件里面去
file_put_contents($_POST[[……]
题目打开是这样,很像buu上面的一道webdog,一眼base64.解密一下(face.png)
看看能不能读到源码,首先就是index.php加密(aW5kZXgucGhw)
那就看看源码
似乎又是base64,解码果然是这[……]
知识源于周赛的一道题目–NSSCTF(PingPong)
进入题目首先知道两个信息–框架是flask–首先考虑是不是存在ssti第二个是题目描述中的信息(开启了debug模式)
其实之前并没有接触过这个东西,但是还是通过其他方式非预期做出来了。(也有出题人的原因hhh
f[……]
第一关源码:
分析:post一个请求然后不能出现,和.
初步思路是直接用反引号输出,也就是echo出来一个shell命令
尝试如下:
直接附上payload:
第二关源码:
额,根据我的印象中,这个题需要用自增。
但是居然没有限[……]
题目的提示是CVE-2020-28483,我提前去查了一下。A flaw was found in gin when exposed directly to the internet, a client’s IP can be spoofed by setting the X-Forwarded-F[……]
Json Web Token,是一种令牌格式,形式由三部分组成,之间由.连接,(解密网站为:JSON Web Tokens – jwt.io)形式大概就是如下:
三部分分别为1.header:声明了JWT的签名算法 2.payload:承载了各种声明并传递明文数据,例如:username、[……]