【HTB】breaking grad靶机攻克

admin 2023年5月15日10:25:15评论76 views字数 2372阅读7分54秒阅读模式

前言

我这边下载htb靶机代码进行代码审计及靶机攻克过程记录。

下载文件

 

【HTB】breaking grad靶机攻克

信息收集

访问网站,查看页面基本信息 

【HTB】breaking grad靶机攻克

发现页面有一按钮,点击可跳转本页面。

点击按钮后,发送post请求/api/calculate.每次点击按钮获得的内容不一样

【HTB】breaking grad靶机攻克

 

【HTB】breaking grad靶机攻克

仅限于0O的区别。具体有什么规律能不能突破,需要进一步分析代码

代码分析

可见,该网站路径有三个

1/

2/debug/:action

3/api/calculate

 

【HTB】breaking grad靶机攻克

针对以下路径一一代码审计流程

1/

Get请求/--views/index.html展示html内容--点击页面按钮-发送post请求/api/calculate

2/debug/:action

Get请求--DebugHelper文件execute函数

 

【HTB】breaking grad靶机攻克

其中涉及三条路径。

/debug/version 展示Everything is OK (v12.18.1 == v12.18.1)

进入VersionCheck.js得知该处使用nodejs,用以检查nodejs版本

 

【HTB】breaking grad靶机攻克

/debug/ram  展示free -m命令执行结果

 

【HTB】breaking grad靶机攻克

/debug/ss(versionram以外任意文字)  展示invalid command

3/api/calculate

 

【HTB】breaking grad靶机攻克

Post请求--ObjectHelper文件clone函数--this.merge({}, target)

刚好满足将等待操作的对象req.body,merge到一个空对象中.满足原型链会被污染的条件。

哪些情况下原型链会被污染

1)常发生在merge 等对象递归合并操作

2)对象clone(其实内核就是将待操作的对象merge到一个空对象中)

3)路径查找属性然后修改属性的时候

js原型链污染

原型链用来做继承,也就是基于原有的代码做一定的修改。在一个应用中,如果攻击者控制并修改了一个对象的原型,那么将可以影响所有和这个对象来自同一个类、父祖类的对象。这种攻击方式就是原型链污染。

基本原理:引用类型的属性被所有实例共享

该处nodejs 原型链污染应为突破口

Googlenodejs pollution hackticks

 

【HTB】breaking grad靶机攻克

使用该处payload,用以修改对象的原型,从而改变所有调用该原型的函数展示处,进行展示命令执行后的结果。

payload,那么直接执行即可。

 

【HTB】breaking grad靶机攻克

Payload

{"name":"Cat","constructor":{"prototype":{"env":{ "EVIL":"console.log(require('child_process').execSync('ls').toString())//"},"NODE_OPTIONS":"--require /proc/self/environ"}}}

process 对象是一个 global (全局变量),提供有关信息,控制当前 Node.js 进程。该对象表示Node所处的当前进程,允许开发者与该进程互动。

该处调用了污染后的process对象,由/debug/version访问。

【HTB】breaking grad靶机攻克


所以该处进行展示。

漏洞利用

原型链污染 

【HTB】breaking grad靶机攻克

展示 

【HTB】breaking grad靶机攻克

更改命令访问flag_e1T6f文件 

【HTB】breaking grad靶机攻克

Flag:HTB{l00s1ng_t3nur3_l1k3_it5_fr1d4y_m0rn1ng}


如果你喜欢巫巫的原创文章,推荐加入巫巫的社群(72小时内可申请退款)。

▎  我建立这个星球来沉淀有价值的内容,更好地帮助小伙伴提升自己。 

▎  很多小伙伴都添加我的微信,向我提问越来越多,随便回答不太好,如果不回答也不好,如果都仔细回答,是真的回答不过来!

   后来发现可以建立知识星球,我会花费时间在这个星球上用以解决这一问题。

   进入星球你需要注意:

1.如果是伸手党,请离开,星球的本质是解决问题思路,而不是解决懒惰。

2.如果你是个爱思考的小伙伴,我们愿意分享知识总结,与你一起进步。

3.星球旨在为有疑问和困惑的人提供有价值的帮助和支持,鼓励读者通过自己的思考和努力来解决问题。

4.涉及知识面:漏洞挖掘、CTF、企业安全建设、网络边界安全、GAN网络、web3.0安全、安全运营、打击涉网犯罪、哲学法家、等行业全知识面覆盖

5.提供咨询服务,按问题小时付费,语音沟通,满意付款。

【HTB】breaking grad靶机攻克



合抱之木,生于毫末。

九层之台,起于累土。

每一次努力和积累,都是在为网络安全领域的发展贡献自己的一份力量。

感谢您一直以来的支持和关注!



【HTB】breaking grad靶机攻克

如何打击互联网黑灰色产业链犯罪:我总结了6个关键点

隐藏的危险:Apache Superset三个RCE漏洞浅析

一篇完整的甲方内部防钓鱼演练方案【可直接抄作业】

阿里云WAF3.0命令执行Bypass,也是WAF的通病

漏洞治理难度大?建立完善的漏洞管理流程是关键!

从Prompt注入到命令执行:探究LLM大型语言模型中 OpenAI的风险点

如何在TG群中获取用户真实IP?这些手段教你轻松实现【附代码】

漏洞治理难度大?建立完善的漏洞管理流程是关键!

【盗币科普】你可千万不能这样盗别人的虚拟货币钱包

关于打击跨境网络赌博犯罪,我们如何侦查?我的建议和想法

【完结篇】微信泄露手机号事件的回顾与总结

批量截获机场节点:科学上网工具安全分析

防范虚拟货币钱包盗窃:揭秘非Approve的新型盗U诈骗手段(终极版)

【欺负老实人】在chatgpt Prompt中注入攻击代码,截取跟踪用户信息,钓鱼XSS。

一次完整的GPT-4代码审计,挖掘CMSeasy漏洞

我使用ChatGPT审计代码发现了200多个安全漏洞(GPT-4与GPT-3对比报告)

从零开始,手把手教您如何开通ChatGPT Plus开启GPT-4之旅(depay,nobepay,某宝)

Burpsuite最新版+四款Burpsuite插件,帮你扫描JS文件中的URL链接!

原文始发于微信公众号(安全女巫):【HTB】breaking grad靶机攻克

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月15日10:25:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【HTB】breaking grad靶机攻克https://cn-sec.com/archives/1733690.html

发表评论

匿名网友 填写信息