大余每日一攻防BEELZEBUB-1(十三)
2023-12-13 13:8:35 Author: www.freebuf.com(查看原文) 阅读量:3 收藏

简介

每日一攻防是由全球安全研究员 VulnHub 提供的日常实战综合环境。大余安全将按照顺序选择 VulnHub 提供的渗透测试靶场,为网络安全爱好者、渗透测试从业者和安全研究员提供每日综合性的攻击和防御挑战。该项目的目标是促进参与者的技能提升,使他们更好地理解实际攻击和防御场景。

每日一攻防特色:
环境攻破:以简单直白的方式攻破每日选择的渗透测试环境。
代码审计:进行攻防分析,结合代码审计,深入挖掘漏洞和强化防御。

作者:大余

一、网络枚举

1702443969_65793bc123822af9b29d2.png!small?1702443969911
发现ip地址:192.168.253.132

1702443973_65793bc54c67989da620a.png!small?1702443975147
发现开启22、80端口。

二、Web信息枚举

1702443977_65793bc94a43e2154a0ee.png!small?1702443978759
访问80端口没发现有用的东西,枚举目录:

dirb http://192.168.253.132/

1702443981_65793bcd4ca38fd6857dd.png!small?1702443981798
发现index试试访问:
1702443985_65793bd120b7074836769.png!small?1702443985988
查看静态前端源码:
1702443989_65793bd582fca38c40cba.png!small?1702443990712

<!--My heart was encrypted, "beelzebub" somehow hacked and decoded it.-md5-->

1702443993_65793bd9ef6d6e70a6a42.png!small?1702443994477
试了试以用户名Beelzebub登录SSH服务器,发现不行,后来发现可能是目录,访问后发现一直在转动:

d18e1e22becbd915b45e0e655429d487

1702443997_65793bddbe4fc539e7932.png!small?1702443998244

三、目录深度枚举

加上md5再扫一遍目录:

gobuster dir -u http://192.168.253.132/d18e1e22becbd915b45e0e655429d487/ --wordlist=/usr/share/seclists/Discovery/Web-Content/common.txt -o md5.txt

1702444002_65793be23512510c9c95c.png!small?1702444004008

发现WordPress CMS的目录,用wpscan扫一下:

wpscan --url http://192.168.253.132/d18e1e22becbd915b45e0e655429d487/ -e u --ignore-main-redirect --force

1702444006_65793be60f758d098d7ad.png!small?1702444006660
1702444010_65793beaa1133c09d5a57.png!small?1702444011481
1702444014_65793beed15e3cf066db4.png!small?1702444016552
扫出了两个用户krampus和valak,还发现了一个上传文件的路径!!

四、cookie泄露

访问upload:

http://192.168.253.132/d18e1e22becbd915b45e0e655429d487/wp-content/uploads/

1702444019_65793bf33f612dafa5f39.png!small?1702444020576
1702444022_65793bf6d33627327147d.png!small?1702444023753
随便输入值进行BP抓包,发现密码:
1702444026_65793bfab3130bf12dda8.png!small?1702444027458

Password=M4k3Ad3a1

cookie泄露导致密码泄露!ssh连接:

ssh [email protected]
M4k3Ad3a1

1702444032_65793c00741213748085c.png!small?1702444034586

五、提权

查看历史信息:
1702444037_65793c050fb823d5f88c6.png!small?1702444037962
发现下载过一个文件并且编译过,下载下这个文件看看:
1702444040_65793c085bb9cf244d7d9.png!small?1702444041342
发现是个提权的漏洞:
1702444048_65793c100eebdf78a08dd.png!small?1702444048647
成功拿到root权限!

六、代码审计

找到www目录查看源码:
1702444052_65793c149cb5ad6cc3a58.png!small?1702444053972

1702444057_65793c19f29c824303b91.png!small?1702444058596
可看到在/var/www/html/d18e1e22becbd915b45e0e655429d487/wp-content/uploads/Talk To VALAK/index.php源码中,审计发现了问题!

1、Cookie安全问题

setcookie('Cookie', password_hash('b7d0eff31b9cde9a862dc157bb33ec2a', PASSWORD_DEFAULT));

不要将敏感信息明文存储在Cookie中。可以使用哈希或加密算法对敏感信息进行处理,确保存储的是加密后的值。例如,可以使用password_hash对密码进行哈希处理。

2、用户输入处理不安全

$name = isset($_POST['name']) ? filter_var($_POST['name'], FILTER_SANITIZE_STRING) : '';

对用户输入进行适当的验证和过滤。确保只接受预期的合法输入,可以使用过滤器函数或正则表达式进行验证。

3、XSS隐患

$name = isset($_POST['name']) ? htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8') : '';

在显示用户输入之前进行HTML转义,以防止XSS攻击。可以使用htmlspecialchars函数。

4、命令注入潜在风险

// 替代 eval 的方式
// 可以根据实际需求选择更合适的方式来处理用户输入
let newName = hash.substr(6);
$name.innerHTML = '<span class="toast large">Hello, ' + newName + '!</span>';

避免使用eval函数,使用更安全的方法来处理数据。在这个场景中,不应该执行用户输入的JavaScript代码。

5、HTTP劫持

let hash = location.hash;

考虑使用更加安全的方式获取和处理数据,避免直接从window.top.location.hash中获取数据。可以使用location.hash并进行适当的验证和处理。

通过每日一攻防,我致力于共同深探网络安全的奥秘,助力每位参与者成为网络安全领域的技术高手。立即加入大余安全,共同迎接每日新的挑战!

扫描下方二维码添加小助手,进群和大余老师一起技术探讨交流吧!

1701847681_657022811043209291287.png!small?1701847682244

欢迎大家进入大余安全回忆录帮会,每周二&五定期更新《安全开发》、《渗透测试》系列文章,帮助大家从0基础到入门。

1701847704_65702298ccb7a072cd4c7.png!small?1701847708052


文章来源: https://www.freebuf.com/vuls/386451.html
如有侵权请联系:admin#unsafe.sh