写在前面:
因为我在复现这道题的过程中遇到了点问题,一度出不来flag,幸运的是在ctfshow的交流群里得到了多位师傅的指导,让我拿到了flag,所以本文就记录了一下遇到问题和解决问题的完整过程。
本文包含在火狐中用hackbar插件和在burp中改包两种解题方法。
打开这篇博客的师傅们可能也是由于细节的问题暂时没有拿到flag,如果想直接看payload,可以直接去看本文的倒数第二张图片,是用hackbar的解法。
重要的事情:中文“群”字需要编码
这真的是签到?其实第二道题才是签到吧……虽然这题会了的话也不难,但是不会的时候那感觉可就太难了(拿到官方wp依然复现好久拿不到flag的人是我QAQ
题目打开如下:
大概就是套了三层吧(后期更新:不对!是四层!最里层是cookie,让cookie的值为a,然后是post,参数为a,让a=b,再是get,参数为b,让b=c,最后还有一层request,参数是c[6][0][7]…省略后面一串,让它等于要执行的命令。注:request是可以接收get和post两种请求方式的参数的,所以可以在url里传参)
具体解题步骤如下:
首先给cookie的’CTFshow-QQ群:'赋值a,这里新学到了给cookie赋值要用=
然后是post传参,再是get传参,最后是request传参,我们的目的就是让eval执行request传参的内容,拿到flag
(是这样的吗?不对的话请各位师傅纠正我一下^_^
官方给出的payload是这样子的(侵删
但是我自己在火狐下用hackbar搞了一下发现并没有flag出现……现在也没找到原因,主要还是自己玩不转浏览器和插件吧,好像hackbar不认识这个cookie,我也不知道怎么改……
最后还是感谢各位大佬们的指导,让我在burp中能拿到flag,先给出效果:
具体操作是:
把刚才浏览器拿不到flag的报文放到burp重发器,在报文头手动加一个Cookie字段,注意C是大写!!!又因为中文“群”在burp中不识别(我的burp里没有中文字体,不知道有中文字体的话行不行)所以这里用url编码“群”字:
Cookie: CTFshow-QQ%E7%BE%A4:=a
报文体中,写:
a=b
最后就是,从拿到flag的结果可以看出,这里请求包用POST方法是可以得到flag的,放在url中的传参就按官方给的payload写就可以了,不过官方可能不小心多写了个c[0]=1,去掉也可以:
?b=c&c[6][0][7][5][8][0][9][4][4]=system(“cat /f1agaaa”);
至于怎么知道flag是在/f1agaaa这里呢,应该是先执行ls /来看看根目录下有什么吧:
更新:
火狐+hackbar插件也搞出来了,也是因为“群”字的问题……用url编码一下就好了。。。啊这(
这个时候再去看看cookie也已经有了,虽然它显示乱码(竟感觉还有一点点可爱
现在感觉挺简单,但之前是真做不出啊,但有点开心的是自己一开始做题时就看出是要让post的变量名是cookie的值,get的变量名是post的值这事儿,至今还没专门去学web方向,现在有这感受力也还算可以?加油加油!
版权归原作者 好想变强啊 所有, 如有侵权,请联系我们删除。