第三关:手工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关黑客游戏,大家都知道会有“文字游戏”,怎么到了这个,大家都忘记了呢?发散思维,跳跃思维不管用在哪里,都是绝对有用的利器。
最后总结下,这次的游戏中提到的技术,大家都掌握了么?那好!等待下一关吧!