剑残雪飘吧 关注:132贴子:11,904
  • 4回复贴,共1

第二届北京网络安全技术大赛夺旗赛(Web安全篇)

只看楼主收藏回复

本次夺旗赛环节时间为3个小时,共有五大分类,分别为Web安全、逆向、溢出、密码学和综合。综合比赛时间及选手的实力综合考虑。
Web安全:题目会涉及到常规的漏洞及部分渗透测试相关性题目。
逆向:涉及到软件逆向、破解等技术。
溢出:通过寻找软件的漏洞后编写exploit并利用。
密码学:考察各种加解密技术,算法等,需要涉及部分编程辅助。
综合:信息安全综合题,包括信息隐写、流量分析等。


IP属地:北京1楼2015-05-11 11:36回复
    Web安全解题思路
    1.访问目标ip,通过nmap进行端口扫描,发现开放8888端口。

    访问http://ip:port(port为8888端口),在响应包中获得flag。
    关键字:信息收集、端口扫描、http报文
    难度等级:●○○○○
    总结:信息收集是渗透测试的重要环节,选手需要了解端口扫描原理及常见工具的使用,且需要熟悉HTTP协议。


    IP属地:北京2楼2015-05-11 11:37
    回复
      2.贪食蛇(210分)
      打开靶机,是一个经典的贪食蛇游戏。
      查看源文件发现加载了snake.js文件,发现了一段代码加密且不规则。当me.snakeLength > 250 的时候执行以下代码。

      直接利用firebug进行调试, 执行加密结果,返回为一个假的flag。
      执行加密代码后 查看firebug DOM树, 发现window[‘flag’]选项,发现flag。

      关键字:Web安全、JavaScript、JS加密
      难度等级:●●○○○
      总结:JavaScript广泛运用于客户端的脚本语言,选手需要熟悉JavaScript代码及调试方法。


      IP属地:北京3楼2015-05-11 11:38
      回复
        4.美男子(580分)
        访问网站,查看网页源代码。发现index.phps文件。
        审计index.phps文件,外部可传入key1和key2参数,其中key1参数带入SQL查询。当查询结果不为空,且$_POST[‘key2’]的值等于$key[‘key2’]时,打印flag。

        但所有的POST参数都经过一个名为AttackFilter()的函数,该函数过滤了union、select、from等一系列关键字,导致无法直接使用union查询。

        查询结果$key[‘key2’]为未知值,使用MySQL中数据统计的应用WITH ROLLUP进行绕过。如执行GROUP BY key2 WITH ROLLUP。对于GROUP BY的列,WITH ROLLUP将不做任何处理,且返回NULL。

        故执行key1=‘ or ‘‘=‘‘ GROUP BY key2 WITH ROLLUP LIMIT 1 OFFSET 1#&key2=即可获得flag。

        关键字:PHP代码审计、MySQL WITH ROLLUP
        难度等级:●●●●○
        总结:安全从业人员常通过白盒方式进行安全评估,本题通过PHP审计发现安全漏洞,结合数据库的特殊用法,较为考验选手的功底。


        IP属地:北京5楼2015-05-11 11:41
        回复
          太屌了


          IP属地:北京来自Android客户端6楼2015-05-12 01:06
          回复