另内寻找“隐藏”的搜索型注入点

作者:小菜 更新时间:2025-02-28 点击数:
简介:我首先对这些人才网进行了一些安全检测,可以发现一些明显的可能存在注入点的数字和字符都被过滤了,但是搜索型的呢?在我所检测的人才网中,我发现相当多的人才网都存在着

【菜科解读】

我首先对这些人才网进行了一些安全检测,可以发现一些明显的可能存在注入点的数字和字符都被过滤了,但是搜索型的呢?在我所检测的人才网中,我发现相当多的人才网都存在着搜索型的注入漏洞,不过这种漏洞相对来说是隐藏的,下面就让我们找出它们吧。

一般的人才网都存在着搜索页面,可以输入关键字来搜索需要的信息,所以部分匹配的SQL语句可以这样写: Select 相应的字段 from table_name where name Like '%keyword%' ,也就是所谓的模糊查询了。

这样,数据库中只要含有我们搜索的关键字,所有的信息就会被查询出来了。

当然这只是一个例子,为了更精确的查询,有时候SQL语句还可以写成完全匹配的模式,其道理是一样的。

如果keyword没有进行过滤的话,那我们就可以在搜索框中输入这样的语句来查询,如 计算机%'and 1=1 and '%'=' ,此时查询语句就变成了 Select 相应的字段 from table_name where name Like '%计算机%'and 1=1 and '%'='%' ,然后再把其中的 1=1 换成 1=2 提交,若查询返回的页面是空的,则说明没有过滤,注入就产生了。

我们知道,From中的数据传输过程分别对应了HTTP协议中的Get和Post方法。

我在网上曾看过一个关于搜索型注入的动画,其搜索的内容经过URL编码后,直接在IE地址上显示出来,也就是说用Get的方法提交的数据,Get方法保存在request的querystring集合中,懂点ASP的都明白这个道理。

Get是默认的方法,但Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现在的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。

另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。

对于用Request.from()来获得表单提交的数据用的是Post方法,这个查询提交的变量在地址栏中是看不见的,Post方法提交的数据保存在request方法中的form集合中。

Get将表单中的数据按照variable=value的形式,添加到action所指向的URL后面,并且两者使用 ? 连接,而各个变量之间使用 连接;Post是将表单中的数据放在Form的数据体中,按照变量和值相对应的方式,传递到action所指向的URL。

对于Get方式的搜索型注入很好查找和利用,像一般的注入点交给工具完成就可以了。

Post方法的所有操作对用户来说都是不可见的,由于不在IE中显示,这种提交数据的特性相对Get方法来说隐藏了变量,查找起来不是很容易,这也就是所谓的隐藏的搜索型注入点了。

有时候虽然可以用手工判断出有这种漏洞,但隐藏的变量找的不全,查询语句满足不了,只能通过手工来完成。

Acess数据库表名和字段猜不对就不用说了,如果是SQL数据库,IIS错误提示又关闭的话,手工完成简直是一种折磨。

所以这么累的事情,还是用工具来替我们完成吧,我们只需要自己动手查找出隐藏变量赋予正确的值并正确构造即可,这也是注入成败的关键所在。

说了这么多理论,下面就来验证一下吧。

随便选择一个人才网,在职位关键字里输入:计算机%'and 1=1 and '%'='%,所有符合条件的相关职位都出来了;再把1=1换成1=2,显示的是空白页面。

由于采用的是post提交的方式,我们只能自己找出其中的变量并赋上相应的值,然后把值手动变成这样的形式http://www.xxx.com/query.asp?Value1=内容&Value2=内容&KeyWord=计算机,这样就可以把注入的工作交给工具来完成了。

Value少的话,可以通过查看源代码的方式查找出来,如果只有变量一个的话就算了;但对于value非常多的情况下,就需要自己手动抓包来实现,这样的话就不会发生遗漏变量,导致查询条件不足结果不正确。

打开WSockExpert监视你提交数据的页面,选中post抓取的数据,如图1所示。

所有的变量都出现了,不用查看源文件了。

其中的 PosiKey=%BC%C6%CB%E3%BB%FA 就是 PosiKey=计算机 ,经过URL编码后就变成那样的形式了。

计算机 是我输入的关键字,为了便于理解,我将其还原如下:Industry=%D0%D0%D2%B5%B2%BB%CF%DE&DateTime=%CA%B1%BC%E4%B2%BB%CF%DE&Province=%B5%D8%C7%F8%B2%BB%CF%DE&City=%B5%D8%C7%F8%B2%BB%CF%DE&EduLevel=%D1%A7%C0%FA%B2%BB%CF%DE&Sex=%D0%D4%B1%F0%B2%BB%CF%DE&CompKey=&x=0&y=0&PosiKey=计算机这样,我们提交的URL就变成http://www.xxx.com/query.asp?Industry=%D0%D0%D2%B5%B2%BB%CF%DE&DateTime=%CA%B1%BC%E4%B2%BB%CF%DE&Province=%B5%D8%C7%F8%B2%BB%CF%DE&City=%B5%D8%C7%F8%B2%BB%CF%DE&EduLevel=%D1%A7%C0%FA%B2%BB%CF%DE&Sex=%D0%D4%B1%F0%B2%BB%CF%DE&CompKey=&x=0&y=0&PosiKey=计算机。

这里还有一个问题,就是URL过长的话,有可能被截断,此时用工具就检测不出来漏洞了。

由于URL过长,我使用NB的时候就失败了,后来发现用HDSI可以输入较长的URL。

很快注入结果就被跑出来了,如图2所示。

此时要注意了,由于注入工具判断注入方式的原因,我们要把查询的关键字,如 PosiKey=计算机 放在地址栏的最后,才可以检测出这样的漏洞,因为variable=value只是查询的一个条件而已,放在哪个位置是不重要的。

不然的话,像NB和HDSI都是检测不出来注入漏洞的。

用同样的方法,我们再来测试一下河南毕业生人才网,如图3所示。

该数据库为Db_owner权限,如果Web和数据库不是分开的且列目录正常的话,得到WebShell应该是没有什么问题了。

在我测试的过程中,发现有些基于Oracle数据库的人才网站也同样存在这样的安全隐患。

虽然有的人才网查询表单用JavaScprit限制了提交字符的长度,但这也是不安全的。

因为这些脚本在客户端是可以控制的,我们只需取消它的限制就绕过了长度限制,也就可以注入了。

上面说所的情况,一般都是在表单允许我们进行输入的情况下进行的,但并不是每个站都允许我们在表单里输入查询的关键字,而只能选择给定的条件。

表面上看完全没有问题,实际上同样存在注入漏洞。

那么如何找出隐藏的变量来判断是否存在这样的搜索型注入漏洞呢?方法还是一样。

用WSockExpert监视提交的页面,用URLEncode转换工具把你选择的关键字转换成URL编码,然后和WSockExpert抓取的数据进行比较,相同就是查询的关键字符了,余下的事情交给工具吧。

这样的漏洞,我测试了几人才网站都没有过滤,有的权限还是sa,真为它们的安全感到担忧。

有兴趣的朋友就在网上搜索吧,一定不会让你失望的。

事实上,存在这种漏洞的网站不仅是人才网,基本上存在在搜索的地方,我们都可以检测一下。

还有一点,在我用WSockExpert抓包的时候发现存在一个问题,如果数据过多的话,后面的数据就会覆盖前面的数据,致使我们抓取不到Post提交的数据,此时换用EffeTech HTTP Sniffer来进抓取,就可以完美地解决这个问题了。

对于PHP程序来说,由于php.ini中一个非常重要的配置选项magic_quotes_gpc,高版本的默认配置是magic_quotes_gpc=On,很老的PHP中的默认配置是magic_quotes_gpc=Off。

为On的情况下,我们提交 就会自动加上 \ ,变成了 \ 。

对于PHP的字符型来说,这点是致命的,也就失去了利用价值,不过也有例外的情况,还要根据服务器的设置和SQL语句的写法来具体分析。

对于这种类型的漏洞的修补,一般来说,就是把单引号过滤掉,或单引号变成双引号,然后再把and、select之类的敏感字符全部过滤掉就安全了。

从客户端提交数据到数据库查询时,对字符一定要过滤再过滤,即使是隐藏的变量,最终被发现也只是时间问题而已,脚本安全真的来不得半点的侥幸心理。

另内,寻找,“,隐藏,”,的,搜索型,注入,点,我,

“北京人”最先是安特生发现的吗?他是如何发现的

在1918年2月的一天,安特生偶然遇见了在北京任教的著名化学家麦格雷戈·吉布。

后者向安特生出示了一些包在红色粘土中的碎骨片,说是刚从周口店附近一个名叫鸡骨山的地方采到的,并提及有类似堆积物的石灰岩洞穴在周口店一带极多。

这件事引起了安特生的极大兴趣 1918年 3月,安特生骑着毛驴,起早赶晚到周口店,并考察了两天。

安特生来到鸡骨山的时候,含化石的堆积物的围岩已经剥落殆尽,变成了一座孤立的古塔似的山体。

安特生在此进行了小规模的发掘,找到两个种的啮齿类和一个种的食肉类动物化石,啮齿类的数量很多。

当地老乡并不认识动物骨骼化石,误认作鸡骨,因此这座小山得名“鸡骨山”。

能够在北京附近找到一处“龙骨”产地,对安特生来说,是一件很值得高兴的事。

但初次发掘的收获并不大,安特生没有发现更特别的东西。

1921年 初夏,奥地利古生物学家斯基来到了中国,当时,他打算与安特生合作3年,在中国从事三趾马动物群化石的发掘和研究。

师丹斯基到了北京以后,安特生安排他先去周口店发掘鸡骨山。

这样,这位奥地利古生物学家的名字也与周口店紧紧联系在了一起。

关于安特生一行人是怎样发现周口店龙骨山这一古人类圣地的,他的著作《黄土的儿女》中有这样一段描述:“正当我们发掘(鸡骨山)的时候,一位老乡走了过来。

他打量了我们一下说:‘在这里呆下去没有什么用。

离这里不远有一个去处,你们可以在那里采到更大更好的龙骨。

’我深知要在中国寻访龙骨,绝不能轻易放过任何线索。

于是我立即向那个人作进一步的了解,他所介绍的情况看来很可信。

于是我们立刻收拾工具,跟着他向北面的一座石灰岩小山头走去……我们在那里搜索不大一会儿,就发现一件猪的下颌骨。

这是一个好兆头,说明我们来到了一处比鸡骨山希望大得多的化石地点。

当天傍晚,我们满怀希望地返回住地,好像重大的发现已经向我们招手……次日,阳光普照,我们沿着一条直路,从我们下榻的小庙向那处名叫‘老牛沟’的新地点漫步走去。

这个地点总有一天会变成考察人类历史最神圣的朝圣地之一。

” 就在这次考察中,安特生注意到堆积物中有一些白色带刃的脉石英碎片。

他认为,凭借它们那锋利的刃口,用来切割兽肉是不成问题的。

那么,它们会不会被我们人类的老祖宗用过呢?安特生轻轻地叩着岩墙对师丹斯基说:“我有一种预感,我们祖先的遗骸就躺在这里。

现在唯一的问题就是去找到它。

你不必焦急,如果有必要的话,你就把这个洞穴一直挖空为止。

” 安特生走后,师丹斯基继续在周口店待了几个星期才结束工作。

这个地点试掘的初步报告于1923年发表。

这份报告明确指出在堆积物中含有石英碎片,这一点具有十分重要的意义,因为安特生恰恰是根据这一现象推断我们祖先的遗骸就埋在这里。

虽然发掘并没有十分激动人心的发现,但安特生对周口店没有丧失信心。

1923年秋,他要求师丹斯基再次去发掘那个新地点。

但是,由于可以发掘的部位已经高悬于陡壁之上,搭合适的脚手架不容易,所以,当师丹斯基把能采到的化石尽量采下来之后,就结束了周口店的野外工作。

1924年1月起,师丹斯基返回欧洲,在乌普萨拉大学着手研究他从中国运去的化石标本。

1921年 和1923年的试掘,没有立即达到安特生的预期目的——寻找人类远古祖先的遗骸,然而,其实他已经与“北京人”近在咫尺了。

1921年,他们已经发现了一枚“可疑”的牙齿,可惜师丹斯基认为这颗牙齿是类人猿的,不属于人类。

直到1926年夏天,当安特生在乌普萨拉古生物研究室整理标本时,又从周口店的化石中认出一颗明确的人牙之后,那枚“可疑”的牙齿也随之得到了确认——那是一枚人牙。

1926年10月22日,在瑞典王太子访华的欢迎大会上,安特生向世界公布了这一消息。

尽管当时还有很多的分歧,但这消息不啻为一枚重磅炸弹,震撼了当时的学术界,因为当时不仅在中国,即便在亚洲大陆上的任何地方,都没有发现过这样的古老的人类化石。

因此,安特生可以说是“北京人”的发现者,是他拉开了周口店遗址发现、发掘的序幕。

随机文章少为人知的广西乐业天坑群,9.6万平方米的地下原始森林详解宇宙中最恐怖的星球,温度1000摄氏度以上(堪称地狱)揭秘美国不敢公开的秘密,早就和外星人建立外交出卖地球换取利益揭秘梦游是什么原因造成的,疾病VS失眠谁才是梦游的真凶中国风水师断日本龙脉,日本军刀楼意图不轨/中国转移煞气到日本

12333社保个人账户查询如何查?有几个档次?如何利用“12333”查询社保账号余额?(株洲)

12333社保个人账户查询怎么查?有几个档次?如何利用“12333”?接下来随新社通app小编一起了解具体详情吧。

(注:本文内容来源网络整理,仅供参考)掌上12333APP:下载并安装“掌上12333”APP,注册并登录后,在“我的”或“个人信息”等相关页面中查找社保查询功能,即可查看个人社保账户的详细信息。

微信/支付宝小程序:打开微信或支付宝,搜索并进入“电子社保卡”小程序,按照提示完成实名认证和绑定社保卡,之后即可查看个人社保账户信息。

社保官网:访问当地人力资源和社保局的官网(以所在地区为准),在网站上找到“社保查询”或相关入口,输入个人信息进行登录后查询。

社保自助终端机:前往当地的社保中心或服务大厅,使用社保自助终端机进行查询。

插入社保卡或身份证,按照屏幕提示操作即可。

银行网点查询:部分地区支持通过合作银行的网点进行社保查询。

携带本人身份证和社保卡到指定银行网点,由工作人员协助查询。

电话咨询:拨打当地社保服务热线(一般为12333),根据语音提示选择相应服务选项,或者直接转接人工客服进行咨询。

第三方平台:一些第三方平台也提供了社保查询服务,但需注意选择正规、可信赖的平台,并保护好个人信息安全。

加入收藏
               

另内寻找“隐藏”的搜索型注入点

点击下载文档

格式为doc格式

  • 账号登录
社交账号登录