。。感觉是SSTI
输入{1+1}
返回{1+1}
输入{{1+1}}
直接报错。
这就有点迷了。接触过的SSTI都是构造payload不同。也没遇到过报错这种情况
看writeup后。发现还能通过{%%}
这种方式去注入
这是一种盲注。通过{% if 1 %}1{% endif %}
可以看到。虽然没回显。但是payload确实正常执行
题目给出了源码
/
接受action参数。如果没有就默认为index
file=dirname+/template/+action+.png
然后用pug进行渲染。可以理解为执行这个文件
/file_upload
定义了只能由127.0.0.1访问。并且是remoteaddress不能伪造
那么得找一个SSRF的点
文件上传。
filepath=/uploads/+mimetype+/
而mimetype可控。那么我们可以跨目录
dir_file=dirname+filepath+filename
那么我们可以构造任意路径文件写入
/core
接受一个q参数。然后对其进行黑名单检测
然后对q输入的值进行请求。。
当时知道这个点可以SSRF。但是不会构造数据包。。
给了一个流量包和网址。
分析流量包。
有三个URL
bash.org
builts-23-04xxxxxxxxxxxxxxxx&port=8888
n-gate.com
要求以admin登陆。将HTML中的is_admin改为1也不行。
并且cookie中存在一个rack.session和user
仿佛是加密过后的数据
这题。先去github上。把源码下下来。
先随便用个号登陆。存在一个add note和下载功能。成为admin得到flag。着重看下下载功能。
给出了webshell。并且/tmp/130a22b5fcf1e7f489bd341fddbb3353可写
有open_basedir限制目录。
这题进去登陆就一个上传。光看文字。得到以下信息
PNG图像。那么后缀名和mime得修改下
并且小于256KB.这个没啥关系
图像像素得小于256px*256px