news 2026/6/15 17:34:33

【小迪安全2023】day30 JS应用Nodejs指南原型链污染Express框架功能实现审计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【小迪安全2023】day30 JS应用Nodejs指南原型链污染Express框架功能实现审计

第30天JS应用&Nodejs指南&原型链污染&Express框架&功能实现&审计

普通html里的js,源代码可以看到

而node.js看不到,单独的js代码

换句话说:nodejs是运行在服务端的JavaScript

开发(sql注入)

sql.js

constexpress=require('express');constmysql=require('mysql');constapp=express();constbodyParser=require('body-parser');const{hashPassword}=require("mysql/lib/protocol/Auth");varurlencodedParser=bodyParser.urlencoded({extended:false})// //get路由// app.get('/login',function(req,res){// // res.send('<hr>login!!</hr>');// const u=req.query.username;// const p=req.query.password;// console.log(u);// console.log(p);// if(u=='admin' && p=='123456')// {// res.send('换一家你进去后台');// }// else{// res.send('shibai man!!');// }// })////post路由app.post('/login',urlencodedParser,function(req,res){constu=req.body.username;constp=req.body.password;console.log(u);console.log(p);varconnection=mysql.createConnection({host:'localhost',user:'root',password:'123456',database:'demo01'});connection.connect();constsql='select * from admin where username="'+u+'" and password="'+p+'";';connection.query(sql,function(error,data){if(error){console.log('数据查询错误');}console.log(data);try{if(u==(data[0]['username'])&&p==(data[0]['password'])){res.send('现在是后台页面');}}catch{res.send('shibai man!!');}})console.log(sql);})//根路由app.get('/',function(req,res){res.sendFile(__dirname+'/'+'sql.html');})constserver=app.listen(3000,function(){console.log('web的3000端口已经启动!!!');})

sql.html

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>简单登录框</title><style>body{font-family:Arial,sans-serif;background-color:#f0f0f0;display:flex;justify-content:center;align-items:center;height:100vh;margin:0;}.login-box{background-color:white;padding:30px;border-radius:8px;box-shadow:0 2px 10pxrgba(0,0,0,0.1);width:300px;}h2{text-align:center;margin-bottom:25px;color:#333;}.input-group{margin-bottom:20px;}label{display:block;margin-bottom:5px;color:#555;}input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;box-sizing:border-box;}input:focus{outline:none;border-color:#4a90e2;}button{width:100%;padding:12px;background-color:#4a90e2;color:white;border:none;border-radius:4px;font-size:16px;cursor:pointer;}button:hover{background-color:#3a7bc8;}.register-link{text-align:center;margin-top:15px;font-size:14px;}.register-link a{color:#4a90e2;text-decoration:none;}.register-link a:hover{text-decoration:underline;}</style></head><body><divclass="login-box"><h2>用户登录</h2><formaction="http://127.0.0.1:3000/login"method="get">//method视情况而使用<divclass="input-group"><labelfor="username">用户名</label><inputtype="text"id="username"name="username"required></div><divclass="input-group"><labelfor="password">密码</label><inputtype="password"id="password"name="password"required></div><buttontype="submit">登录</button></form></div></body></html>
文件管理

file.js

constfs=require('fs');constexpress=require('express');constapp=express();app.get('/file',function(req,res){constdir=req.query.dir;console.log(dir);files=filename_manage(dir);res.send(dir)})functionfilename_manage(dir){fs.readdir('./',function(error,files){console.log(files);});}varserver=app.listen(3000,function(){console.log('web已经启动!!');})
命令执行
constrce=require('child_process');//系统命令执行// rce.exec('calc');// rce.spawnSync('calc');//调用代码执行eval('require("child_process").exec("calc");');
黑白盒测试思路

黑河:通过对参数功能进行payload测试

白盒:对代码写法安全进行审计

原型链污染

针对打ctf

条件:

1、用到proto

2、有继承

3、还要题目调用危险函数

yapi

管理平台漏洞

rce

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/11 1:09:47

AI围棋分析:颠覆传统复盘体验的智能平台

AI围棋分析&#xff1a;颠覆传统复盘体验的智能平台 【免费下载链接】lizzieyzy LizzieYzy - GUI for Game of Go 项目地址: https://gitcode.com/gh_mirrors/li/lizzieyzy 围棋AI分析工具是一款集成多引擎智能分析能力的围棋辅助软件&#xff0c;通过智能棋局解析和多引…

作者头像 李华
网站建设 2026/6/10 17:11:49

云游戏体验升级:3大突破让你随时随地享受丝滑游戏

云游戏体验升级&#xff1a;3大突破让你随时随地享受丝滑游戏 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器&#xff0c;支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine …

作者头像 李华
网站建设 2026/6/14 20:26:10

超详细图文教程:在Armbian中添加自己的开机启动脚本

超详细图文教程&#xff1a;在Armbian中添加自己的开机启动脚本 1. 为什么需要自定义开机启动脚本&#xff1f; 在Armbian这类面向嵌入式设备的Linux发行版中&#xff0c;很多硬件初始化任务无法由系统默认服务完成。比如控制GPIO引脚点亮状态指示灯、配置I2C设备、挂载特殊存…

作者头像 李华
网站建设 2026/6/14 15:00:04

Cowabunga Lite实用指南:打造专属iOS个性化体验

Cowabunga Lite实用指南&#xff1a;打造专属iOS个性化体验 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite Cowabunga Lite是一款专为iOS 15设计的非越狱定制工具&#xff0c;让你无需复杂操…

作者头像 李华
网站建设 2026/6/14 18:36:02

3大步骤精通驱动清理:专业指南与实战方案

3大步骤精通驱动清理&#xff1a;专业指南与实战方案 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstaller 显卡驱动…

作者头像 李华
网站建设 2026/6/14 23:03:38

健康数据智能同步创新方案:告别手动记录的高效管理指南

健康数据智能同步创新方案&#xff1a;告别手动记录的高效管理指南 【免费下载链接】mimotion 小米运动刷步数&#xff08;微信支付宝&#xff09;支持邮箱登录 项目地址: https://gitcode.com/gh_mirrors/mimo/mimotion 在数字化健康管理日益普及的今天&#xff0c;许多…

作者头像 李华