news 2026/4/16 10:43: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/4/13 15:26:43

系统清理技术解析:智能识别引擎驱动的磁盘优化方案

系统清理技术解析&#xff1a;智能识别引擎驱动的磁盘优化方案 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 副标题&#xff1a;C盘爆红&#xff1f;智能识别技…

作者头像 李华
网站建设 2026/4/13 14:53:43

LosslessCut完全指南:从入门到精通的无损处理解决方案

LosslessCut完全指南&#xff1a;从入门到精通的无损处理解决方案 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut LosslessCut是一款跨平台兼容的无损视频/音频编辑工…

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

cv_unet_image-matting WebUI界面解析:三大标签页功能使用完整指南

cv_unet_image-matting WebUI界面解析&#xff1a;三大标签页功能使用完整指南 1. 界面概览与启动方式 cv_unet_image-matting 是一款基于 U-Net 架构的智能图像抠图工具&#xff0c;由科哥进行二次开发并封装为易于使用的 WebUI 界面。该工具支持一键式人像提取&#xff0c;…

作者头像 李华
网站建设 2026/4/10 11:44:58

模组管理工具完全指南:从安装到精通的全方位解决方案

模组管理工具完全指南&#xff1a;从安装到精通的全方位解决方案 【免费下载链接】KKManager Mod, plugin and card manager for games by Illusion that use BepInEx 项目地址: https://gitcode.com/gh_mirrors/kk/KKManager 你知道吗&#xff1f;超过70%的模组管理问题…

作者头像 李华