i春秋5
web——Zone
有个登录界面一开始让我们登录,试了一下不是sql注入,于是抓包查看,在cookie发现有个login=0,将其改成1,发现可以进入,打开manage页面,这里还是需要在burpsuit不断将login修改为1,最终即可进入,得到一个:
1 | manages/admin.php?module=..././..././flag.php&name= |
比较类似于文件包含的url,一开始是../,发现不论几个都是出来的结果都一样,怀疑被过滤了,于是复写,发现页面就不一样了,接下来的目标是打开这个flag.php
在刚刚整理的敏感位置中的
/etc/passwd中可以看到这个是Nginx系统
1 | nginx: |
在第一个配置文件中没有发现啥东西,在第二个配置文件中发现了一些网站目录:
1 | server { |
nginx服务器知识点
- nginx服务器的配置文件是nginx.conf,存储路径为
./etc/nginx/nginx.conf
; - 一般服务器存放路径为
/var/www/html/
; - nginx.conf文件中,可以通过include其他路径文件来引用其他文件包含的配置,比如
include sites-enabled/default;
,这样做是为了把一些配置进行分类,方便在需要的时候快速启动或者关闭,这些路径是可变的,管理员可以自行设置; - nginx.conf文件中,如果配置了
autoindex on;
,那么说明这个路径可以进行浏览目录下载文件,例如location /online-movies { alias /movie/; autoindex on; }
中,location /online-movies路径就可以浏览目录下载文件,全路径一般是/etc/nginx/location/online-movies
; - 文件遍历是指的一个目录,可以直接进行访问;
- 开启文件遍历权限的路径,在路径后边添加文件的相对路径就可以下载到文件,在可视化界面访问不到的文件也可以进行下载,比如
/var/www/html/flag.php
所以在这里 由于它有/online-movies ,所以我们可以进行浏览目录下载文件,
http://c56bc9b5d3d94306b60d284c36ba4904d5a04f2c66114e60.changame.ichunqiu.com/online-movies../var/www/html/flag.php
访问一下URL 就可以下载得到flag.php
1 |
|
web——hello world
这道题目有点熟悉:
有个role,解码后是f:5:"thrfg";
好像之前做过这题吧,rot13解密以后,改为admin再登录看看,发现考点不是在这里,看源码有个flag.xmas.js可以访问,删除xms后就可以访问了,然后是一堆看不懂的代码
然后看了一下wp,说是git源码泄露,因为可以看到js的源码,于是尝试用githack工具抓取
看了一下wp,说是应该抓取到两个flag.js,然后进行比对就可以得到flag,但是这题,只有一个???直接输入那个flag.js.04bb09也没有发现,大概没了吧?web——phone number
一开始的登录界面推测是SQL注入
所以尝试了一波 没有收获,于是在注册界面入手,因为是phone number题目,所以在手机号的地方应该可能性很大,进行注入试试:
当我提交不是数字的时候,提示要为数字,将注入语句转为十六进制试试:
有字符限制,只能输入十一位——在审查元素那边更改一下限制试试
但是这题不论怎么注册都是dberror???看了下评论区也是,难道又炸了?????算了理解思路就好了
web——GetFlag
登录界面,看着像sql注入,于是尝试1’or 1=1# 密码随意,验证码用之前写过的脚本就行了
1 | import hashlib |
即可登录
1 | a.php: |
点开源码:发现有个文件包含漏洞
但是没拿到真的,想起来上面的源码说flag 在网站根目录下,于是尝试/var/www/html/flag.php、/var/www/html/challenges/flag.php、/var/www/html/challenges/file/flag.php
都不行,于是去看了一下wp,说就是第二个路径,但是为啥打不开==,然后后面又说在flag.php页面,于是我直接访问flag.php,,发现根本就没这个页面???晕了==后来发现 原来c要大写…..
1 |
|
eval函数特性
1 | eval函数传入的必须是有效的 PHP 代码。所有的语句必须以分号结尾。比如 'echo "Hi!"' 会导致一个 parse error,而 'echo "Hi!";' 则会正常运行。 |
为什么之前我们写一句话木马的时候没有这样呢? 因为我们在前面加了个@
所以这里需要输入的是flag=flag;
然后点击源码,就可以看到flag了
web——中国象棋
1 | <script src="js/common.js"></script> |
这题又是只是盲区了,看了一下wp,说是js的正则表达式,
原来是这样,有一个js文件,文件名由abcmlyx的两个字母+ctf+0-9的三个数字组成,接下来就需要爆破了
直接用burp suit抓包 进行爆破
然后选择爆破模式:cluster bomb
分别对其进行爆破即可,然后没爆破出来
发现 是我URL构造错了 应该是/js/xxxx.js!!!!!!!!!!!!!!
然后就可以拿到flag了