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/15 11:19:46

零门槛掌握Python数据采集与反爬策略:从入门到精通的实战手册

零门槛掌握Python数据采集与反爬策略&#xff1a;从入门到精通的实战手册 【免费下载链接】xhs 基于小红书 Web 端进行的请求封装。https://reajason.github.io/xhs/ 项目地址: https://gitcode.com/gh_mirrors/xh/xhs 你是否曾为小红书数据采集而烦恼&#xff1f;面对复…

作者头像 李华
网站建设 2026/6/15 11:24:34

如何高效调用Qwen3-1.7B?Streaming配置实战详解

如何高效调用Qwen3-1.7B&#xff1f;Streaming配置实战详解 1. 认识Qwen3-1.7B&#xff1a;轻量级大模型的实用之选 在当前AI模型不断向千亿参数迈进的背景下&#xff0c;Qwen3-1.7B却以“小而精”的定位脱颖而出。作为通义千问系列中的一员&#xff0c;它并非追求极致规模&a…

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

GPT-OSS开源文档解析:官方API使用指南

GPT-OSS开源文档解析&#xff1a;官方API使用指南 1. 什么是GPT-OSS&#xff1f;不是OpenAI&#xff0c;但很像OpenAI的体验 你可能已经注意到&#xff0c;最近社区里出现了一个叫 GPT-OSS 的名字&#xff0c;还带着“20B”“WEBUI”“vLLM”这些关键词。它不是OpenAI发布的模…

作者头像 李华
网站建设 2026/6/15 15:47:18

颠覆式模组管理工具:RimSort让RimWorld模组冲突成为历史

颠覆式模组管理工具&#xff1a;RimSort让RimWorld模组冲突成为历史 【免费下载链接】RimSort 项目地址: https://gitcode.com/gh_mirrors/ri/RimSort 副标题&#xff1a;献给每一位被模组管理折磨的殖民地指挥官 当你兴致勃勃地启动RimWorld&#xff0c;却被突如其来…

作者头像 李华
网站建设 2026/6/15 13:39:29

解决网盘下载效率难题:ctfileGet工具让文件获取效率提升364%

解决网盘下载效率难题&#xff1a;ctfileGet工具让文件获取效率提升364% 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 在数字化办公环境中&#xff0c;网盘作为文件存储与共享的核心工具&#xff0c;…

作者头像 李华
网站建设 2026/6/15 12:28:03

Qwen-Image-Layered让图片缩放不再失真,亲测有效

Qwen-Image-Layered让图片缩放不再失真&#xff0c;亲测有效 你有没有遇到过这样的问题&#xff1a;一张精心设计的海报&#xff0c;放大两倍后边缘发虚、文字糊成一片&#xff1b;电商主图想适配不同尺寸的手机屏幕&#xff0c;硬拉伸后人物比例扭曲、背景纹理断裂&#xff1…

作者头像 李华