备份是个好习惯
既然是备份题,废话不多说,直接御剑扫描,结果出来index.php.bak文件,下载之后打开
代码如下
1 | include_once "flag.php"; //包含flag.php |
所以payload是
kekeyy1=s155964671a&&kekeyy2=s214587387a
这里涉及到了0e开头的MD5加密,以及绕过过滤。这里也可以用数组进行绕过
kekeyy1[]=1&&kekeyy2[]=2
这道题主要是有思路,但是看不懂php代码,有点吃亏。
Cookies
用hackerbar打开后可以发现filename是一段base64编码,解码后发现是keys.txt。所以我们联想到查看index.php的源码,前面还有line= 猜测是查看某行的源码,我们用bp逐一测试,最后得到如下源码
1 |
|
所以我们要cookies中添加margin=margin
可以在hackbar中添加,注意是cookies 有一个s
查看源码后得到flag
也可以在bp中构造
game1
这是一个小游戏,首先想到是得到一定分数后会输出flag,所以我们尝试修改分数,在游戏即将结束时抓包,得到三个get传参,第一个是明文的分数,第二个是ip不用管,第三个是加密后的分数,根据我们前面所得分数的base64加密可知,后面的构造方式是zM+base64(score)+==,我们尝试让score=99999999,并将99999999的base64编码插入到后面的密文中,最后得到flag
成绩查询复盘
这次用sqlmap试一下,这里是post的上传方式
首先随便输入id,然后copy to file
保存文件到sqlmap的目录下打开sqlmap
输入python sqlmap.py -r a.txt
后可查看可进行的注入类型
然后我们用python sqlmap.py -r a.txt --dbs
来获取所有数据库
接着用python sqlmap.py -r a.txt -D skctf --tables
来获取skctf下所有的表
接着用python sqlmap.py -r a.txt -D skctf -T fl4g --columns
来获取所有的字段名
最后用python sqlmap.py -r a.txt -D skctf -T fl4g -C "skctf_flag" --dump
来爆出flag
也可以用python sqlmap.py -r a.txt -D skctf -T fl4g --dump
前女友
审题,发现连接一字存在超链接,进入后发现代码
1 |
|
经典MD5绕过,我们用数组绕过
构造:v1[]=1&&v2[]=2&&v3[]=3,得到flag,当然也可以用0e开头的MD5加密,还得搜我就没用
source
进去之后一头雾水,但是看见评论说有git泄露,那我直接进Ubuntu用scrabble扫一下,复制了文件后,结果提示flag没有在这,然后我们版本穿梭,回到上一版本,但是仍然没有,然后搜索得知wget
Linux wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器。如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器下载到我们电脑磁盘,然后再用ftp工具上传到服务器。这样既浪费时间又浪费精力,那不没办法的事。而到了Linux VPS,它则可以直接下载到服务器而不用经过上传这一步。wget工具体积小但功能完善,它支持断点下载功能,同时支持FTP和HTTP下载方式,支持代理服务器和设置起来方便简单。下面我们以实例的形式说明怎么使用wget。
突然发现这玩意比scrabble强多了,能扫到scrabble扫不到的东西
然后我们就一个一个的git show 哈希值
不用切换,直接查看(新学的git show 以前不知道)
最后得到flag