IT168 安全技术大赛09年新年版设计者的总结

by 空虚浪子心

  【IT168专稿】在整个游戏关卡中,所有用到的技术,都是比较基础的,只要有自己的思想,又懂得基本黑客技术,花点时间,很容易过关。整个设计思想是:要求过关者用自己的真实技术,不借助全自动工具,熟悉基本的web黑客攻击技术,肯动脑。关卡尽量切合实际,使用技术尽量不重复。在关卡开始之初,预计要拿host文件这东西,挡住一部分人,让哪些没耐心的,不愿意动脑的人,先去清醒下,过段时间再来玩。

        本次大赛的入口是:http://www.ixpub.net/thread-892412-1-1.html

  本次大赛的目的就是为了先把菜鸟挡在门外,让更多有技术的人,拿到奖励,让老鸟分享自己的攻防经验。而菜鸟学习到这些经验以后,就可以用在以后的“关卡”上了。黑客游戏,最闪亮的地方,就是最终如何被攻破。

  其实有时候一个题目是很难出的,要求真实的技术,又不能脱离实际,这才是关卡设计的难点。举个例子吧,如果我出一道毫无意义的题目,一个管理员密码让你用彩虹表跑上一二天,很切合实际吧?在“日常生活”中,我们可能经常遇到,可惜这样的题目既浪费你的时间,又浪费国家电力资源,更体现不出真实技术。所以,题目的选材是最重要的一步,也是最难的一步。而我最终定下来的关卡,都是千挑万选过来。

  第一关:host文件+简单破解

  注意观察,是每一个安全人员都必须具备的基础,甚至比很多技术,更要值得深思,这一点,贯穿了游戏的每一个部分。作者《游戏说明》中的每一句话,都不是白写的,有很多甚至是“最终过关”的钥匙,7J(大赛第一名)就在这里吃过大亏。其中有句原话是这么说“经测试,每一关地址都可以正常访问。”,看起来绝对属于废话,不过却在变相的提醒“关卡没问题,你访问不了,是你的事情,自己想办法访问吧!”。于是就有很多聪明的过关者,想到了host文件这回事情。

  改了 host文件,看到的页面,让你下载一个EXE下来,进行破解。为啥要加这个呢?其实就是在变相的提醒大家:“看到没?全都是简单的技术,连平时用来关卡中的拿奖出彩项目,都这么基础”。不会的看看pediy的教程,打开OD,选择查找所有字符串,就看到密码了。这才叫真正的“略有基础”即可破解。得到密码后,显示出了2关的地址。还是访问不了,不过有了第一关的那个大大的坑,这点问题,就再也难不倒大家了。

  应用的“日常生活”中,不知道大家有没想过,很多服务器,都会有隐藏关卡的,当我们查出来分明这里有个站,却自己访问不了的时候,有没有想过改host文件呢?兴许管理员就疏忽了,域名到期,服务器的网站还在。修改host文件,甚至可以破解一些网络验证。

  第二关:冲破留言本

  在很多网站中,多多少少都有留言本的功能,如果我们搞来搞去,没地方冲,或许在这里会有很多不小的收获。很多朋友一看到留言本,已经知道这关的主旨了 –XSS。一般来说,由留言本拿站的不是没有,都非常少数,具体原因当然是因为这东西功能太少。不排除有些数据库以ASP结尾,而刚好又能写入一句话马的情况,不过这次游戏,大家就别想从shell入手了,因为关卡的环境比较复杂,服务器上还有其他站,我必须保证大家不能拿到shell。当然下次游戏我就不多透露了。

  XSS已经是攻击中不可缺少的技术了,很多时候,是可以直接拿shell的。所以黑客游戏中,也不可缺少。但是真正利用起来,就有了高级和低级之分,为了照顾大家,我还特意找了个没有任何XSS过滤的留言本(下次可没这么简单了)。同时,我还在自己的机器上,架设了虚拟机,每天早晚,用管理员身份,看一遍大家的帖子。互动啊,这可是标准的互动。有不少人XSS了成功了,于是就看到了管理员登陆后,cookie中的变化。直接写着第三关的地址。

  要知道,为了正常的关卡运行,我每天早晚都会上来和大家演戏的,看帖,删帖。为了保证功能的运行,专门写了一个asp的页面,用来恢复帖子和管理员密码,当然这是一个很长很长的路径。过了这一关,真正的游戏才刚刚开始。

  第三关:手工SQL注入

  问:现在的SQL工具一大把,咋能保证别人只能手工注入呢?

  这就是人,和机器的区别。

  这是个很特殊的需求,网络上绝对不会有教程的,他们都在想,如何能防止SQL注入攻击,而我在想,如何在允许手动SQL注入攻击的同时,绕过工具的自动扫描。

  最终,我确定了一种方法,叫做转换。在接受到用户输入的字符后,分析其中的字段,转换里面的SQL注入关键字。再给出一张转换列表,用于大家手动注入时做对照。本来是没有大家看到的那个JS写的转换函数的,后来我看到官方给的奖品没有以前的那么绚丽,担心难度太高,会影响过关的激情,才照顾大家,特意给加了个转换函数。

  其实难度真的不高,一条语句获得mdb的地址,另一条语句跨库。表名和字段名,也都是最最常见的。

  SQL注入是web攻击中的绝对王者,他的出现,甚至可以改变一个攻击的时代。我想,如果不是哪些工具的出现,恐怕现在SQL注入是否能被各个网站提上紧急日程,都是一件难以预见的事情。如果没有相关的基础,平时只会用工具的菜鸟,必定会卡在这一关。

  而注入之前的TNT,我就没打算拿这个卡住大家,这只是为了让大家不要忘记在绝境的时候,还有这么一个技术而已。

  第四关:搞的就是管理员

  问:要攻击渗透一个企业,无论大小,最最重要的渗透点是哪里?

  毫无疑问,管理员就是这个点。再安全的系统,再安全的程序,都经不住那些白痴管理员们瞎捣鼓。他们才是真正的“黑客”。

  前期的一位重要关卡设计者,经验丰富的渗透家某某曾经说过,搞一个站,最重要的,就是管理员,无论我们想什么办法,最终的矛头一定会指向他。换句话说,如果你搞了半天站,最后连管理员是谁都不知道,那只能说明你是个没入门的菜鸟级菜鸟。

  首先入眼的是动网论坛,最新版,为保证不让大家拿到shell,凡涉及FSO的功能页面,基本都已经被我咔嚓了。看到7J在论坛上说“有0day就好了”,个人认为这家伙在作秀,换做是我,有0day,也不会用来打这个关卡,明明知道这个关卡,是受到绝对的监视的。服务器开着wareshark,你敢扔过来,我绝对录制的完美无缺。那个拿着0day去砸j8hacker的家伙,就被我抓个现行,完美的捕获了整个过程。

  没了0day,很明显就只有一条路了,拿管理员下手,相信大家都有猜密码的痛苦经历。这个密码么,一般是社工不来的,因为我没打算让你社工了,最后一关啊,咋能这么简单呢?仔细的对比下,一个崭新的论坛,和关卡中的,到底有什么不一样呢?还不就是管理员邮箱么?

  不过这需要一个极端的联想逻辑(惯性思维),从1,2,3关来看,关卡的设计者很明显没什么钱,穷的只能用host文件来完成关卡设计。而邮箱里的那个用户名,又和本关地址,这么相像,难道没有玄机在里面么?其实只要再次绑定这个用户名的域名,访问关卡,就可以看到4关的第二小关了,后面的企业网站,自然是一注就出来密码的。这一切的一切,就发生在管理员的信息上,只要仔细的观察管理员,会得到很多有用的东西。

  用2小关的密码,迂回到 4关的1小关,登陆后台,就是2小关的作用。其他的功能都被删了,还能做什么呢?值得一提的是,这一关不像前面的关卡一样,有明显的提示过关页面,说明登陆了后台还不算完。说道这一点,我很失望,都已经在过关说明上提示的那么清楚了,让你们联系管理员QQ嘛。怎么就是有那么多人,都到了门口了,就是没有联系呢?呵呵,其实这是一个文字游戏,故意的。-_-!都以为那个管理员QQ是动网自带的是吧?

  看到大家都不过关,我有只要充当好人,去论坛发帖子不断的提醒了。以前的JS关黑客游戏,大家都知道会有“文字游戏”,怎么到了这个,大家都忘记了呢?发散思维,跳跃思维不管用在哪里,都是绝对有用的利器。

  最后总结下,这次的游戏中提到的技术,大家都掌握了么?那好!等待下一关吧!

发表评论?

5 条评论。

  1. “服务器开着wareshark”
    是不是你打错了。应该是 Wireshark 。

  2. 呵呵,我也觉得错了.

  3. 很喜欢你的博客想和你做个友情连接!!
    方便以后访问~~你的链接已经做好咯~~
    网站名称:olomo
    网站地址:http://www.van71.cn/

  4. 搞的就是管理员,手工注入很强

  5. 空虚的时候就去搞站……混世魔王这个MJJ的也在!

发表评论