目录
crypto
摩丝
password
变异凯撒
Quoted-printable
Rabbit
web
[护网杯 2018]easy_tornado
[HCTF 2018]admin
misc
被劫持的神秘礼物编辑
crypto
摩丝
下载文件,得到一串摩斯密码
在线解码
password
下载文件
张三英文zs,加上生日,即password
变异凯撒
下载文件
变异凯撒,直接凯撒解码得不出
对照ASCII码:afZ_ ASCII码分别是97,102,90,95
flag的ASCII码则是102,108,97,103
猜测分别加 5,6,7,8,9,10
自己对照也行,或者写个脚本
s='afZ_r9VYfScOeO_UL^RWUc'
j=5
for i in s:
print(chr(ord(i)+j),end='')
j += 1
得到flag{Caesar_variation}
Quoted-printable
下载文件
了解一下Quoted-printable
Quoted-printable可译为“可打印字符引用编码”,编码常用在电子邮件中,如:Content-Transfer-Encoding: quoted-printable ,它是MIME编码常见一种表示方法! 在邮件里面我们常需要用可打印的ASCII字符 (如字母、数字与"=")表示各种编码格式下的字符!Quoted-printable将任何8-bit字节值可编码为3个字符:一个等号"=“后跟随两个十六进制数字(0–9或A–F)表示该字节的数值。例如,ASCII码换页符(十进制值为12)可以表示为”=0C", 等号"="(十进制值为61)必须表示为"=3D",gb2312下“中”表示为=D6=D0。除了可打印ASCII字符与换行符以外,所有字符必须表示为这种格式。
在线解码,外包flag
Rabbit
下载文件
Rabbit编码特点:开头部分通常为U2FsdGVkX1
(AES、DES、RC4、Rabbit、Triple DES、3DES 这些算法都可以引入密钥,密文特征与Base64类似,明显区别是秘文里+比较多,并且经常有/)
rabbit解码,外包falg
web
[护网杯 2018]easy_tornado
1.打开环境,有三个链接
2.点击
flag在文件fllllllllllllag里面,需要考虑怎么进入文件里面
render是tornado里面的渲染函数,就是对web网页界面进行编辑的函数,和template的渲染相似,主要区别render是以脚本的方式进行渲染,template是以html方式进行渲染。这个重点在于是服务器模板,tornado是用Python编写的Web服务器兼Web应用框架,简单来说就是用来生成模板的东西。和Python相关,和模板相关,基本可以确定这是ssti(服务器模板注入),服务器模板注入和sql注入等有相同性,问题的关键在于传参
3.链接的url里面有两个参数一个是filename,一个是filehash,也就是说filename是第一个文件的提示,filehash是第三个文件的提示,那么如何获取cookie_secret。
cookie_secret不是通用的属性,也就可以确定,应该是存放在服务器模板中的值,问题就转化为通过传参获取cookie_secret的值。
4.改变filename的值为1,则报错
看url,说明要通过msg的值进行传参
5.Templates and UI — Tornado 6.1 documentation
tornado的官方文档,一 获知传参的类型,二 找到cookie_secret的赋值方法
传参必须用双花括号
在tornado模板中,存在一些可以访问的快速对象,这里用到的是handler.settings
Tornado框架的附属文件handler.settings中存在cookie_secret
Handler这个对象,Handler指向的处理当前这个页面的RequestHandler对象
RequestHandler中并没有settings这个属性,与RequestHandler关联的Application对象(Requestion.application)才有setting这个属性。
handler 指向RequestHandler
而RequestHandler.settings又指向self.application.settings
所有handler.settings就指向RequestHandler.application.settings了
6.构造payload
http://ed4444e8-ec19-40b7-a95a-e6f3b63e1c94.node4.buuoj.cn:81/error?msg={{handler.settings}}
cookie_secret:为'60f69f61-5fcd-42b0-aae0-e021305a49ca'
根据提示filename为/fllllllllllllag,进行md5加密为3bf9f6cf685a6dd8defadabfb41a03a1
再整体cookie_secret+filename进行md5加密,得到filehash的值
7.构造payload
http://ed4444e8-ec19-40b7-a95a-e6f3b63e1c94.node4.buuoj.cn:81/file?filename=/fllllllllllllag&filehash=1ec0af843280e1dacd8e57f21493f3f1
[HCTF 2018]admin
1.启动环境。。。真的找了很久才找到右上角的登录和注册
2.登录界面
3。使用bp爆破,密码123
misc
被劫持的神秘礼物
下载文件,在wireshark里面分析。追踪TCP流
得到账号是admin,密码是adminb
根据提示,合在一起进行md5加密