如何能找到真实的黑客-MongoDB注入攻击案例分析
在刚开始大家的MongoDB“注入之行”以前,大家必须先了解和别的数据库查询对比,为何大家更想要选MongoDB——由于MongoDB并并不是SQL做为查看句子,因此 大家很有可能会认为那样的数据库查询无法开展注入攻击?殊不知实际上并不是这样。
FreeBuf百度百科:有关MongoDB
简易的说,MongoDB是个开源系统的NoSql数据库查询,其根据类似 *** ON文件格式的数据储存,这促使它的构造就越来越十分随意。根据MongoDB的查看句子就可以查看主要内容。
为何应用MongoDB?
实际上大多数仅仅由于MongoDB能够迅速搜索出結果,它大约能够做到十亿/秒。自然MongoDB很时兴的此外一个缘故是在许多 应用领域下,关联型数据库查询是不宜的。比如,应用到非结构型,全自动流水线和多种多样情况的数据信息的运用,或是对数据信息扩展性规定高的。
假如你要检测下你的开源代码,能够在下列网址中检测:
http://blog.securelayer7.net/securelayer7-gratis-pentest-summer-2016/
防御实例
好啦,大家看来一个注入实例
之一个php事例,网页页面关键完成根据自变量id获得到该id的username和password,
网页页面和源码截屏以下:
由图中源码能够了解,后台管理数据库查询的姓名是security,结合名是users。u_id 是根据GET要求传入后台管理,随后传到一个数组自变量中。随后进到MongoDB的查看。接下去,大家试一下根据数组传到运算符号。
看一下結果,回到了数据库查询中的全部內容。大家剖析下大家传到的数据信息:
http://localhost/mongo/show.php?u_id[$ne]=2
传到后的MongoDB查看句子以下:
$qry= array(“id” => array(“$ne” => 2))
因此 ,結果便是MongoDB回到了除开id=2的别的全部数据信息。
接下去大家看一下另一种状况,根据脚本 *** 完成一样的作用。所不一样的是,我们在后台管理用MongoDB中的findOne来查看結果。
大家先来迅速看下MongoDB中的findOne方式:
db.collection.findOne(query, 完全免费黑客帮你侵入 *** projection)
回到的是全部考虑查询条件的文本文档中的之一个文本文档。如下图,但大家要想查看id=2的文本文档,键入下列句子:
随后,大家看看php源码:
在这儿,最重要的便是毁坏原来的查看句子,再再次实行一个查看句子。
能想像到下列要求会在MongoDB中实行如何的实际操作吗?
http://localhost/mongo/inject.php?u_name=dummy’});return{something:1,something:2}}//&u_pass=dummy
完全免费黑客帮你侵入 ***在这儿,大家将原来的查看合闭了,随后回到了一个要想的主要参数,如下图:
留意:出错的信息内容中往大家曝露了username和password这两个字段名的存有,那麼大家就把不久的注入句子改上username和password 主要参数,这更是大家要想的。
如今如果我们要想了解数据库查询名。在MongoDB中,db.getName()方式能够查到数据库查询的姓名,因此 我们可以结构以下主要参数:
为了更好地获得到数据库查询中的內容,大家更先要了解数据库查询中全部结合名。根据db.getCollectionNames()就能了解数据库查询选用的结合。
好啦,迄今为止,大家得到 了数据库查询名和集完全免费黑客帮你侵入 *** 合名。如今必须做的便是获得到users结合中的数据信息,能够结构以下句子:
我们可以使用过更改数据来解析xml全部结合,比如,改为 db.users.find()[2],如下图:
好啦,如今或许大伙儿早已掌握这类注入方式。那麼,该怎样防御力呢?
防御力方式
大家回忆下,之一个事例中的解析xml是传送给一个数组的(array)。防御力这类注入得话,大家总要先避免 数组中的计算实际操作。因而,在其中一种防御力方式便是implode()方式,如下图:
implode()涵数回到由数组原素组成的字符串数组。那样的话,大家就只有获得一个相匹配的結果。
第二个事例我们可以应用addslashes()涵数,那样的话攻击者就不可以毁坏查看句子了。另外,用正则表达式把一些特殊字符更换掉也是一个非常好的挑选。你能应用以下正则表达式:
$u_name =preg_replace(‘/[^a-z0-9]/i’, ‘\\’, $_GET[‘u_name’]);
如今再试着下,就沒有出错信息内容了。
参照连接
http://php.net/manual/en/mongocollection.find.php
https://media.blackhat.com/bh-us-11/Sullivan/BH_US_11_Sullivan_Server_Side_WP.pdf
*参照来源于:blog.securelayer7,
我国1.情侣网名:goodwell隶属机构;绿色兵团详细介绍:我国最开始黑客机构绿色兵团的创办人,我国黑客界鼻祖级元老级。当选原因:做为我国黑客界最开始机构创办人,万涛绰号鸟鹰也是"黑客教父3"完全免费黑客帮你侵入 *** 我不会明确他有木有侵入过,我能明确他是我国黑客领军人!如何能找到真实的黑客
用微信号码人肉实例教程。SegmentFault是一家汉语的开发者平台及新闻媒体。最开始的产品原型来自于海外较大 的程序猿问答社区StackOverflow,但其产品形态历经一年多的发展趋势,已。
如何能找到真实的黑客有这一挂,好像是强制性改动正对面游戏玩家IP让正对面强退,随后自身这片就获胜,在LOL盒子论坛贴子里边看见了过,你能去里边找一下不可以,由于他并不是腾讯官方集团旗下的LOL运营团队的一名工作员。
。黑客重在技术性和黑客手机软件,自然你的配备也得够好够可靠黑客的电脑上基础用的配备并不是很高的,较为吃CPU一些,撰写病原体的程序流程并不完全免费黑客帮你侵入 *** 必须很高的配备,新手入门的配备都能够的,这一就看黑客的个人兴趣爱好了,一些黑客还很喜欢玩。
听我的没有错,别用windows,你用linux。这练技术性让你的电脑上安个盾再装个加特林机枪就可以了,假如不好就弄个动能罩,再弄个光武器装备,更好是便是在你电脑上里边全弄上病原体,随后谁碰你电脑上都中毒了,你碰谁电脑上也。如何能找到真实的黑客
巡街五角大楼,登陆克里姆林宫,出入全世界全部计算机软件,摧垮全世界金融业纪律和复建新的世界布局,谁也阻挡不上大家的攻击,大家才算是全球的主宰者。——阿隆米特。
如何能找到真实的黑客破解软件的应当叫cracker,给一篇文章,自身瞧瞧吧``hacker和cracker许多 人觉得Hacker及Cracker中间沒有显著的界限.但事实上,它是不正确的见解.Hacker及。
标签:
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。