|
事情的起因是,我媳妇让我帮他转发微信获得当地商家的优惠券,可以在去店里消费的时候使用。我正在打cf哪有那个闲心啊!可是没办法,谁的老婆不是高高在上呢?这是我的心里啊。。。我的gp我的任务。。。。。。
拿过手机分享了一下,得到了一个优惠券,点了一下微信右上角的多选,发现这个可以在浏览器里打开,而且可以访问,没有隐藏地址,当时我就一个想法,难道这是当地某某自己开发的一套系统吗?
邪恶的思想开始蠢蠢欲动,先上图给打开看下。
既然能在浏览器打开,那么pc呢?把老婆这里糊弄过去,也没心玩cf了,火狐直接访问地址竟然可以访问而且没有任何限制。看后缀.php?id=。。。总感觉对了就是它。 Order by 555,直接提示非法操作。 Oeder by 5 返回正常页面 这里我一直用的技巧就是先写一个3位数的大数字,再写一个1位的小数字,如果两回返回的结果不一样,那么注入点就十之八九是存在的。
接下来就是逐字递增判断出有多少个可识别字段。后来通过测试21个。直接unionselect 12,3,4,5……21 返回一个正常的页面。
这个地方困惑了我很久,因为我在看那些黑客教程的时候可是告诉我,这个时候应该爆出什么1啊,3啊,7啊这些数字,然后我就可以在数字位置输入一些常用的诸如user()这些函数得到一些敏感的信息了,可是我现在的情况是除了正常显示什么都没有变,难道是人家根本没有注入漏洞,自己想错了?测试就这样终止了。
然后我查阅了好多资料,为此我还去了YouTube,可惜自己英文太差没搜到什么有用的视频资料(准确不知道搜什么)、后来还是google,搜到了一篇国内的前辈所写的手工注入mysql的一些总结性的文字。其中有一条是这么说的:在mysql注入的时候很多时候都会过滤一些常见的查询,比如:select union等这些关键字,大部分网站不可能直接这么写上就会爆出你想要得看到的信息。我们一般通过组合或者编码绕过才能看到自己想要的。 然后我按照文中的方法逐一测试,后来总结出两种方法在遇到这样爆不出数字的时候使用非常好使。 1, 在url参数前面加上一个减号“-”
2, 加一个判断组合sql为false
能正常爆出数字了,开心好多,毕竟自己以前都是看教程,从来都没实际操作过。接下来大家可能想就简单了吧,暴库,爆表,爆字段,解MD5,登录后台,然后上传啊,配置啊等等拿webshell完工,其实我也这么想的,可是真的那么顺不也就没意思了么。
还是不能一口吃个胖子,理想和现实总会有些许的差异。 我这里就不上图了,文字叙述下过程吧,反正是挺悲剧的。好在对方mysql是高版本可以枚举不然我估计我要吐血。 index.php?id=229 and false UNION SELECT1,database(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 获得了数据库名。
接下来就是回去库下的表,这里我还是截个图吧,因为我确实差点死上面别问我为什么,先看图:
我数了数:admin,sok_ad,sok_cate,sok_comments,sok_member,sok_message,sok_nav,sok_news,sok_news_type,sok_product,sok_region,sok_site_config,sok_store,sok_zkq这么多表,不过看到admin大家肯定会先去猜解它,我也不例外顺利拿到账号和密码,只是密码好像很另类看着不像MD5
看到这个,我太开心了,大家也开心对吗?可是就像我说的,我看着这个MD5 就不像个MD5,好别扭,啥都不说了,上最牛的那个网站去破解一下试试吧。我就不贴地址了,省的说我打广告。
看到这里傻了吧,是的我也是。突然感觉身体被抽空了。。。。抽根烟冷静下。 接下来,我就是逐一手猜了,他剩下说有表的字段看是否有没有可以利用的东西,可惜很遗憾,唯一的收获就是sok_member 这个表是会员表而且没有那么变态的MD5加密,但是登录进去几个账号也没发现有任何权限,不知道为什么还是手机访问才有,反正电脑上登录与不登录没什么变化,不想在这个地方浪费时间,干脆暂停。
注:后来拿下服务器看了代码才知道,程序员用了混淆代码加密,他是md5+一个特定的字符后又md5了一次。。。看到这里我终于庆幸自己没有为此继续下去。
时间过去了几天,这几天出去给人装视频头去了,回来后闲暇了又想起了这个事,我就重新思考,该如何继续下去。 我为什么没看看自己是什么权限呢?真是醉了。自己前面还自己嘚吧嘚的说呢什么user()函数。。。心里千万个草泥马飘过。。
看到这里我好像又有了思路,既然是root权限,那么我就可以读写文件了。这里有几个问题要先解决。 1,必须找到网站的绝对路径 \\不管报错,还是搜索引擎,还是读配置文件。。。。 3, 如果有狗还的过狗 \\后来发现我的担心是多余的。。 不绕圈了,直接说结果。 我在找路径的时候,报错,搜索引擎都没成功,后是是读网站配置文件成功的。报错不知道为什么,都提示非法操作,搜索引擎就无语了,没收录。也不知道怎么个情况。着重说下读配置文件的过程吧,有总结哦。 因为我用端口扫描器扫描了这个服务器ip知道开着3389呢,我就连接了一下,明显win2003的服务器。有了这个前提,我就百度搜了一下iis6的网站配置文件路径。 C:/Windows/system32/inetsrv/MetaBase.xml 直接读: index.php?id=229 and false UNION SELECT1,load_file('C:/Windows/system32/inetsrv/MetaBase.xml'),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
这个地方又困惑了我好多天,因为我初学,经验不足,到后来我都认为是我自己权限不够,可是那个root在哪显示着呢。因为没其他思路,就这样我只能又暂停了。
后来通过我查了n多资料总算是突破成功读取了配置文件找到了网站的配置信息。 总结: 1, 不能查的原因,并非是权限不够,而是过滤了单引号“‘” 2, 绕过的方法,就是各种编码,我最后用阿克斯吗解决的,后来我又试了hex也能成功绕过。 3, 但是在转换的时候,注意提交的时候数据不能有单引号,有单引号就不能转数据,这个一定要千万提起注意。 load_file(char(99,58,47,119,105,110,100,111,119,115,47,115,121,115,116,101,109,51,50,47,105,110,101,116,115,114,118,47,77,101,116,97,66,97,115,101,46,120,109,108))
上面的代码,是我转好的,大家可以直接复制进去用,还原后就是iis6的配置文件路径。
这里我要补充一点,其实我搜的资料,里只说了这样可以查到网站的配置,获得绝对路径,可是没有经验的我,看了头很大,因为iisl里的网站不是一个,那么多,那么乱我根本无法在这么多杂乱的信息里找到我想要的。我自己总结了下如何找有用的信息。 查出来,也要看得懂!
<IIsWebServer Location ="/LM/W3SVC/896362" AuthFlags="0" ServerAutoStart="TRUE" ServerComment="www"\\iis里面的名称 > </IIsWebServer> <IIsFilters Location ="/LM/W3SVC/896362/filters"
没什么有用的信息。
</IIsFilters> <IIsWebVirtualDir Location ="/LM/W3SVC/896362/root" AccessFlags="AccessRead| AccessScript" AppFriendlyName="默认应用程序" AppIsolated="2" AppRoot="/LM/W3SVC/896362/Root" AuthFlags="AuthAnonymous| AuthNTLM" DirBrowseFlags="DirBrowseShowDate| DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension |DirBrowseShowLongDate | EnableDefaultDoc" Path="D:\www" \\网站绝对路径 > </IIsWebVirtualDir>
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\配置信息三个标签为一个域名信息。 这个,是我在本地搭建环境分析出来的,所以里面的域名信息,和路径不是我们今天目标网站的信息,所以就不打码了。
就这样,我拿到了,网站绝对的路径,接下来就顺了。 into outfile写入了一句话,菜刀连之,顺利获得了webshell,上传我自己写的过狗小马,(这里吐槽一下,我写的代码竟然没有砸出什么水花。,可是货真价实过狗的。) 哈哈,一笑而过。
再后来就没什么值得自己感觉要总结的了,webshell找了个可读可写的目录,传了windows2003大杀器,PR上去提权成功,因为直接就开着3389呢,就没什么障碍了。
至此,自己第一入侵就这么结束了,很兴奋说真的。因为自己从来没有实际操作过,都是看别人的教程,这里要感谢土司开放注册激发我这样的菜鸟抄刀实战,对这个圈的认识和技术有了质的飞跃。
最后总结 1, 入侵要沉得住气,尤其像我这样的菜鸟,拿不下就放放,随着知识的增长或许就会有新的突破。 2, 对于union select 爆不出数字的解决办法,或许还有其他的,单确实这两个真挺好用。 3, 查询的时候,提示非法操作,通过学习知道是过滤了或者有狗,绕过的方法就是各种编码组合,当然这里有个非常重要的就是转换的时候注意单引号。
疑问: 我找了另外一个手机程序,跟这个差不多,但是pc上打不开,只能在微信客户端打开,如果在pc上访问就会提示请在微信客户端打开链接这个问题让我很困惑,我自己搜了些资料,后来尝试Burp抓包,包到是抓到了,但是不知道为什么,修改包后提交就服务器提示500错误,要不就404,我个人感觉应该也有注入漏洞,只是不知道是否抓微信的包,改包有什么特殊的方法或者要求。这个地方如果有前辈可以指点我一下,万分感谢! [email protected]
小广告:通过这次入侵我还有一个意想不到的收获,就是既然绕过是各种编码,那么绕狗继续注入是否也是这个原理?我竟然误打误撞,把一句话重组了一下,过了最新的狗,asp的一句话没问题了。,php语言不熟还在测试。所以说过狗思路可能这是其中一种。 如果这次能转正,再和大家分享过狗的详细思路。
---------可能是权限不够,无法上传图片。。。。悲剧。
|