NSSRound#8 Basic记录
前言
继续记录NSS平台的赛题,NSSRound#8赛题比较基础,但还是值得记录一下。
MyDoor
打开题目,细看url。
盲猜这里存在文件包含,使用php://filter读取index文件,获得源码。
|
里面有一个eval函数是本题利用点,所以payload为:
index.php?N[S.S=system('env'); |
在环境变量中找到flag。
MyPage
第一题的进阶版,老样子用php伪协议读源码,读不出来。经过测试,发现data被过滤了。结合Dest0g3迎新赛的题目,该题目可能是用require_once函数包含,那么题目就转化为如何突破文件包含限制。
用软连接突破限制,相关文章:php源码分析 require_once 绕过不能重复包含文件的限制 - 安全客,安全资讯平台所以payload为:
?file=php://filter/convert.base64-encode/resource=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/var/www/html/flag.php |
proc/self/root/是一个指向当前进程的根目录的软链接。经过测试发现var被过滤了,所以接下来要用软连接来代替当前路径,使用/proc/self/cwd/软连接。
/proc/self/cwd/ 是一个特殊的符号链接,它指向当前进程的工作目录 |
从而得到题目flag。
Upload_gogoggo
文件上传功能,直接先上传一个php一句话木马试试。
看回显,它会将上传的文件名拼接在go语言的命令上,所以我们上传一个run.go,让服务器执行go run来运行我们的代码,至于上传的内容,我们可以用go写一个反弹shell,不会go怎么办,直接去问chatgpt。
公网开启监听2400端口,burp发包:
公网获得靶机权限,查找flag,flag分两段,有点坑人。
整合base64解码得到完整flag。
ez_node(留坑)
node.js语法太差,跟着师傅的wp和源码跟踪分析还是比较吃力,等以后有时间回看可能会有新的收获。
下方师傅博客文章:
http://gtg.ink/ez-node-NSSCTF-round-8/ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XiLitter!